/* PerfectWorld platform experience — DJ Swamp / Wax Assassin */
[data-pw-theme="dj-swamp"]{
  --pw-surface:#080907;
  --pw-surface-alt:#141512;
  --pw-text:#E7DFC7;
  --pw-primary:#A7D129;
  --pw-secondary:#4CB7CC;
  --pw-accent:#E98B27;
  --pw-border:#595348;
  --pw-card-radius:2px;
  --pw-shadow:inset 0 0 0 3px #050604,0 14px 34px rgba(0,0,0,.58);
  color-scheme:dark;
  font-family:"IBM Plex Mono","Courier New",ui-monospace,monospace;
  letter-spacing:.012em;
}
[data-pw-theme="dj-swamp"] body{
  background:
    radial-gradient(circle at 50% -20%,rgba(167,209,41,.10),transparent 34%),
    repeating-linear-gradient(0deg,rgba(231,223,199,.018) 0 1px,transparent 1px 5px),
    #080907;
  color:#E7DFC7;
}
[data-pw-theme="dj-swamp"] body::before{
  background-image:var(--pw-theme-hero);
  background-size:cover;
  background-position:center top;
  opacity:.035;
  filter:grayscale(.45) contrast(1.35);
}
[data-pw-theme="dj-swamp"] body::after{
  background-image:
    repeating-linear-gradient(113deg,transparent 0 67px,rgba(231,223,199,.11) 68px 69px,transparent 70px 151px),
    radial-gradient(circle at 8% 20%,rgba(255,255,255,.10) 0 1px,transparent 2px),
    radial-gradient(circle at 82% 63%,rgba(255,255,255,.08) 0 1px,transparent 2px);
  background-size:auto,31px 29px,37px 41px;
  opacity:.18;
  mix-blend-mode:screen;
}
[data-pw-theme="dj-swamp"] h1,
[data-pw-theme="dj-swamp"] h2,
[data-pw-theme="dj-swamp"] h3,
[data-pw-theme="dj-swamp"] .pw-brand{
  font-family:Impact,"Arial Narrow","Roboto Condensed",sans-serif;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.045em;
}
[data-pw-theme="dj-swamp"] a{color:#C8F53B}
[data-pw-theme="dj-swamp"] .pw-top{
  position:relative;
  top:auto;
  border:7px double #3d392f;
  border-bottom-width:4px;
  background:linear-gradient(180deg,#10110e,#070806 76%);
  box-shadow:inset 0 0 30px #000,0 4px 0 #050604;
}
[data-pw-theme="dj-swamp"] .pw-top-inner{
  max-width:1600px;
  min-height:86px;
  padding:10px 20px;
}
[data-pw-theme="dj-swamp"] .pw-brand{
  display:grid;
  color:#C7B991;
  font-size:clamp(28px,3vw,48px);
  line-height:.84;
  text-shadow:1px 0 #E7DFC7,-1px 0 #665f50,3px 3px 0 #050604;
}
[data-pw-theme="dj-swamp"] .pw-brand small{
  margin-top:7px;
  color:#A7D129;
  font:900 10px/1 "IBM Plex Mono",monospace;
  letter-spacing:.34em;
  text-shadow:none;
}
[data-pw-theme="dj-swamp"] .pw-system-id{
  display:grid;
  gap:3px;
  min-width:172px;
  color:#C7B991;
  font:800 10px/1.15 "IBM Plex Mono",monospace;
  letter-spacing:.09em;
  text-transform:uppercase;
}
[data-pw-theme="dj-swamp"] .pw-system-id strong{color:#E7DFC7;font-size:13px}
[data-pw-theme="dj-swamp"] .pw-system-id i{
  display:inline-block;
  width:8px;
  height:8px;
  margin-right:6px;
  border-radius:50%;
  background:#A7D129;
  box-shadow:0 0 10px #C8F53B;
}
[data-pw-theme="dj-swamp"] .pw-main{max-width:1600px;padding:10px 12px 108px}
[data-pw-theme="dj-swamp"] .pw-card{
  border:4px double #595348;
  border-radius:0;
  background:
    linear-gradient(125deg,rgba(231,223,199,.035),transparent 28%),
    repeating-linear-gradient(0deg,#161714 0 2px,#11120f 2px 5px);
  box-shadow:var(--pw-shadow);
}
[data-pw-theme="dj-swamp"] .pw-card::before{
  content:"✕";
  position:absolute;
  top:7px;
  left:8px;
  width:15px;
  height:15px;
  border:1px solid #171714;
  border-radius:50%;
  background:radial-gradient(circle,#C7B991,#5f584b 64%,#181815 68%);
  color:#171714;
  font:900 9px/14px monospace;
  text-align:center;
  box-shadow:1px 1px 3px #000;
}
[data-pw-theme="dj-swamp"] .pw-card::after{
  content:"";
  position:absolute;
  inset:5px;
  border:1px solid rgba(199,185,145,.13);
  pointer-events:none;
}
[data-pw-theme="dj-swamp"] .pw-card>*{position:relative;z-index:1}
[data-pw-theme="dj-swamp"] .pw-card h1,
[data-pw-theme="dj-swamp"] .pw-card h2,
[data-pw-theme="dj-swamp"] .pw-card h3{color:#C7B991;text-shadow:2px 2px 0 #050604}
[data-pw-theme="dj-swamp"] .pw-kicker{
  color:#E98B27;
  font:900 10px/1.2 "IBM Plex Mono",monospace;
  letter-spacing:.16em;
}
[data-pw-theme="dj-swamp"] .pw-muted{color:#B6AA8E;opacity:1}
[data-pw-theme="dj-swamp"] .pw-select,
[data-pw-theme="dj-swamp"] .pw-input,
[data-pw-theme="dj-swamp"] textarea.pw-input{
  border:2px solid #5f584b;
  border-radius:0;
  background:#080a07;
  color:#E7DFC7;
  box-shadow:inset 0 0 18px #000;
  font-family:"IBM Plex Mono",ui-monospace,monospace;
}
[data-pw-theme="dj-swamp"] .pw-select:focus,
[data-pw-theme="dj-swamp"] .pw-input:focus{outline:2px solid #A7D129;outline-offset:2px}
[data-pw-theme="dj-swamp"] .pw-button{
  min-height:39px;
  border:2px solid #657d22;
  border-radius:0;
  background:linear-gradient(#202719,#10150d);
  color:#C8F53B;
  box-shadow:inset 0 0 0 2px #050604,0 4px 0 #050604;
  font:900 11px/1 "IBM Plex Mono",monospace;
  letter-spacing:.075em;
  text-transform:uppercase;
}
[data-pw-theme="dj-swamp"] .pw-button.secondary{
  border-color:#665f50;
  background:linear-gradient(#25251f,#0f100d);
  color:#E7DFC7;
}
[data-pw-theme="dj-swamp"] .pw-button:hover{background:#A7D129;color:#080907}
[data-pw-theme="dj-swamp"] .pw-theme-control{
  padding:7px 9px;
  border:3px double #504a3e;
  background:#11120f;
  box-shadow:inset 0 0 0 2px #050604;
}
[data-pw-theme="dj-swamp"] .pw-theme-control>span{color:#C7B991;font-size:9px;letter-spacing:.12em}
[data-pw-theme="dj-swamp"] .pw-shell-badge{
  border-radius:0;
  border-color:#554f41;
  background:#090a08;
  color:#A7D129;
}
[data-pw-theme="dj-swamp"] .pw-hero{gap:8px}
[data-pw-theme="dj-swamp"] .pw-hero>.pw-card{min-height:180px;padding:28px 24px 22px}
[data-pw-theme="dj-swamp"] .pw-hero h1{font-size:clamp(34px,5vw,76px);line-height:.88;margin-bottom:14px}
[data-pw-theme="dj-swamp"] .pw-stat{color:#A7D129;font:900 clamp(38px,5vw,64px)/.9 Impact,"Arial Narrow",sans-serif;text-shadow:0 0 18px rgba(200,245,59,.3)}
[data-pw-theme="dj-swamp"] .pw-signal-meter{
  display:grid;
  grid-template-columns:repeat(14,1fr);
  align-items:end;
  gap:5px;
  height:62px;
  margin-top:16px;
  padding:8px;
  border:4px double #504a3e;
  background:#060705;
  box-shadow:inset 0 0 20px #000;
}
[data-pw-theme="dj-swamp"] .pw-signal-meter i{display:block;background:#A7D129;box-shadow:0 0 8px rgba(200,245,59,.35)}
[data-pw-theme="dj-swamp"] .pw-signal-meter i:nth-child(1),[data-pw-theme="dj-swamp"] .pw-signal-meter i:nth-child(9){height:25%}
[data-pw-theme="dj-swamp"] .pw-signal-meter i:nth-child(2),[data-pw-theme="dj-swamp"] .pw-signal-meter i:nth-child(8),[data-pw-theme="dj-swamp"] .pw-signal-meter i:nth-child(11){height:55%}
[data-pw-theme="dj-swamp"] .pw-signal-meter i:nth-child(3),[data-pw-theme="dj-swamp"] .pw-signal-meter i:nth-child(7){height:78%}
[data-pw-theme="dj-swamp"] .pw-signal-meter i:nth-child(4),[data-pw-theme="dj-swamp"] .pw-signal-meter i:nth-child(6){height:92%}
[data-pw-theme="dj-swamp"] .pw-signal-meter i:nth-child(5){height:66%}
[data-pw-theme="dj-swamp"] .pw-signal-meter i:nth-child(10){height:38%}
[data-pw-theme="dj-swamp"] .pw-signal-meter i:nth-child(12){height:72%;background:#E98B27}
[data-pw-theme="dj-swamp"] .pw-signal-meter i:nth-child(13){height:88%;background:#E5422B}
[data-pw-theme="dj-swamp"] .pw-signal-meter i:nth-child(14){height:46%;background:#4CB7CC}
[data-pw-theme="dj-swamp"] .pw-status-rack{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin:8px 0;
}
[data-pw-theme="dj-swamp"] .pw-rack-readout{
  min-height:78px;
  padding:13px 14px 11px;
  border:3px double #4e493d;
  background:#0a0b09;
  box-shadow:inset 0 0 16px #000;
}
[data-pw-theme="dj-swamp"] .pw-rack-readout span{display:block;color:#C7B991;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
[data-pw-theme="dj-swamp"] .pw-rack-readout strong{display:block;margin-top:5px;color:#A7D129;font:900 22px/1 Impact,"Arial Narrow",sans-serif;letter-spacing:.06em;text-transform:uppercase}
[data-pw-theme="dj-swamp"] .pw-rack-readout strong::before{content:"";display:inline-block;width:9px;height:9px;margin-right:9px;border-radius:50%;background:#A7D129;box-shadow:0 0 10px #C8F53B}
[data-pw-theme="dj-swamp"] .pw-grid{gap:8px;margin-top:8px}
[data-pw-theme="dj-swamp"] .pw-module{
  min-height:205px;
  padding:26px 18px 18px;
}
[data-pw-theme="dj-swamp"] .pw-module h2{font-size:25px;letter-spacing:.065em}
[data-pw-theme="dj-swamp"] .pw-module .pw-open{padding-top:12px;border-top:1px solid #3d392f}
[data-pw-theme="dj-swamp"] .pw-module-led{
  position:absolute;
  top:11px;
  right:13px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#A7D129;
  font-size:8px;
  letter-spacing:.12em;
}
[data-pw-theme="dj-swamp"] .pw-module-led::before{content:"";width:8px;height:8px;border-radius:50%;background:#A7D129;box-shadow:0 0 9px #C8F53B}
[data-pw-theme="dj-swamp"] .pw-table{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:12px}
[data-pw-theme="dj-swamp"] .pw-table th{color:#C7B991;text-transform:uppercase;letter-spacing:.08em;background:#090a08}
[data-pw-theme="dj-swamp"] .pw-table td{border-color:#37342d}
[data-pw-theme="dj-swamp"] .pw-admin-nav{
  gap:4px;
  padding:7px;
  border:4px double #4e493e;
  background:#0a0b09;
}
[data-pw-theme="dj-swamp"] .pw-admin-nav a{
  border-radius:0;
  border-color:#454037;
  background:#141512;
  color:#C7B991;
  font:800 10px/1.2 "IBM Plex Mono",monospace;
  letter-spacing:.055em;
  text-transform:uppercase;
}
[data-pw-theme="dj-swamp"] .pw-admin-nav a:hover{background:#A7D129;color:#080907;text-decoration:none}
[data-pw-theme="dj-swamp"] .pw-notice{border-radius:0;background:#11120f;color:#E7DFC7}
[data-pw-theme="dj-swamp"] .pw-notice.ok{border-color:#A7D129;color:#C8F53B}
[data-pw-theme="dj-swamp"] .pw-notice.err{border-color:#E5422B;color:#ffb7aa}
[data-pw-theme="dj-swamp"] .pw-status-ok{color:#C8F53B}
[data-pw-theme="dj-swamp"] .pw-status-warn{color:#E98B27}
[data-pw-theme="dj-swamp"] .pw-status-error{color:#E5422B}
[data-pw-theme="dj-swamp"] .pw-theme-preview{border-radius:0;border:4px double #595348;background-color:#11120f;box-shadow:var(--pw-shadow)}
[data-pw-theme="dj-swamp"] .pw-theme-preview>div{border-radius:0;border:1px solid #5d574b;background:rgba(8,9,7,.91)}
[data-pw-theme="dj-swamp"] .pw-theme-chip{border-radius:0;background:#090a08}
[data-pw-theme="dj-swamp"] .pw-code{border-radius:0;background:#080907;color:#C8F53B}
[data-pw-theme="dj-swamp"] .pw-universal-dock{
  bottom:max(8px,env(safe-area-inset-bottom))!important;
  width:min(940px,calc(100vw - 18px))!important;
  min-height:65px!important;
  padding:6px!important;
  gap:3px!important;
  border:5px double #5a5448!important;
  border-radius:0!important;
  background:linear-gradient(180deg,rgba(28,28,24,.98),rgba(7,8,6,.99))!important;
  box-shadow:inset 0 0 0 3px #050604,0 14px 42px #000!important;
}
[data-pw-theme="dj-swamp"] .pw-universal-dock::before{
  background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 4px)!important;
  opacity:.5!important;
}
[data-pw-theme="dj-swamp"] .pw-universal-dock>a{
  min-height:47px!important;
  border:1px solid #39362f;
  border-radius:0!important;
  color:#C7B991!important;
  font:800 9px/1.05 "IBM Plex Mono",monospace!important;
  letter-spacing:.035em;
  text-transform:uppercase;
}
[data-pw-theme="dj-swamp"] .pw-universal-dock>a::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:#565149;
  box-shadow:inset 0 0 2px #000;
}
[data-pw-theme="dj-swamp"] .pw-universal-dock>a:hover,
[data-pw-theme="dj-swamp"] .pw-universal-dock>a[aria-current=page]{
  color:#C8F53B!important;
  background:#171d10!important;
  box-shadow:inset 0 -3px #A7D129;
  text-decoration:none!important;
}
[data-pw-theme="dj-swamp"] .pw-universal-dock>a[aria-current=page]::before{background:#A7D129;box-shadow:0 0 9px #C8F53B}
[data-pw-theme="dj-swamp"] .pw-universal-dock svg{width:18px!important;height:18px!important;flex-basis:18px!important;stroke:#C7B991!important}
[data-pw-theme="dj-swamp"] .pw-universal-dock>a[aria-current=page] svg{stroke:#C8F53B!important}
[data-pw-theme="dj-swamp"] .pw-arcade-marquee{border-color:#A7D129;background:linear-gradient(180deg,#20211c,#070806)}
[data-pw-theme="dj-swamp"] .pw-arcade-cabinet-stage{border-color:#504a3e!important;border-radius:0!important;box-shadow:0 0 0 4px #A7D129,0 28px 80px #000!important}

@media(max-width:980px){
  [data-pw-theme="dj-swamp"] .pw-top-inner{min-height:0;align-items:flex-start}
  [data-pw-theme="dj-swamp"] .pw-system-id{display:none}
  [data-pw-theme="dj-swamp"] .pw-brand{font-size:30px}
  [data-pw-theme="dj-swamp"] .pw-status-rack{grid-template-columns:repeat(2,minmax(0,1fr))}
  [data-pw-theme="dj-swamp"] .pw-admin-nav{flex-wrap:nowrap;overflow-x:auto}
  [data-pw-theme="dj-swamp"] .pw-admin-nav a{flex:0 0 auto}
}
@media(max-width:680px){
  [data-pw-theme="dj-swamp"] .pw-top{border-width:4px 4px 3px}
  [data-pw-theme="dj-swamp"] .pw-top-inner{padding:8px 10px}
  [data-pw-theme="dj-swamp"] .pw-brand{font-size:25px}
  [data-pw-theme="dj-swamp"] .pw-brand small{font-size:8px;letter-spacing:.22em}
  [data-pw-theme="dj-swamp"] .pw-main{padding:8px 7px 92px}
  [data-pw-theme="dj-swamp"] .pw-hero>.pw-card{min-height:0;padding:25px 16px 16px}
  [data-pw-theme="dj-swamp"] .pw-hero h1{font-size:40px}
  [data-pw-theme="dj-swamp"] .pw-status-rack{gap:4px}
  [data-pw-theme="dj-swamp"] .pw-rack-readout{min-height:65px;padding:10px}
  [data-pw-theme="dj-swamp"] .pw-rack-readout strong{font-size:17px}
  [data-pw-theme="dj-swamp"] .pw-module{min-height:0}
  [data-pw-theme="dj-swamp"] .pw-theme-control{width:100%;order:4}
  [data-pw-theme="dj-swamp"] .pw-universal-dock{min-height:58px!important;border-width:3px!important}
  [data-pw-theme="dj-swamp"] .pw-universal-dock>a{min-height:43px!important}
  [data-pw-theme="dj-swamp"] .pw-universal-dock>a::before{display:none}
}
@media(prefers-reduced-motion:reduce){
  [data-pw-theme="dj-swamp"] .pw-signal-meter i{box-shadow:none}
}

/* Modules that supply their own page chrome still inherit the same booth. */
[data-pw-theme="dj-swamp"] body:not(:has(.pw-app)):not(:has(.rr-app)):not(:has(.shell)){
  background:
    radial-gradient(circle at 50% -15%,rgba(167,209,41,.09),transparent 34%),
    repeating-linear-gradient(0deg,rgba(231,223,199,.018) 0 1px,transparent 1px 5px),
    #080907!important;
  color:#E7DFC7;
}
[data-pw-theme="dj-swamp"] body:not(:has(.pw-app)):not(:has(.rr-app)):not(:has(.shell))>header{
  border-bottom:4px double #595348!important;
  background:linear-gradient(180deg,#12130f,#070806)!important;
  color:#E7DFC7!important;
  box-shadow:inset 0 0 24px #000!important;
}
[data-pw-theme="dj-swamp"] body:not(:has(.pw-app)):not(:has(.rr-app)):not(:has(.shell)) :is(input,select,textarea){
  border-radius:0!important;
  border-color:#5b5548!important;
  background:#080907!important;
  color:#E7DFC7!important;
}
[data-pw-theme="dj-swamp"] body:not(:has(.pw-app)):not(:has(.rr-app)):not(:has(.shell)) :is(button,.button,[role="button"]){
  border-radius:0;
}
