@font-face{font-family:JetBrains;src:url('/wp-content/themes/thec0de/assets/fonts/jetbrains-mono-400.woff2') format('woff2');font-weight:400;font-display:block}
@font-face{font-family:JetBrains;src:url('/wp-content/themes/thec0de/assets/fonts/jetbrains-mono-700.woff2') format('woff2');font-weight:700;font-display:block}
@font-face{font-family:SpaceGrotesk;src:url('/wp-content/themes/thec0de/assets/fonts/space-grotesk-700.woff2') format('woff2');font-weight:700;font-display:block}
:root{--bg:#020802;--panel:#061209;--green:#00ff41;--lime:#a5ff9a;--white:#e9f7e9;--muted:#9cb9a3;--line:#245b33;--mono:JetBrains,monospace;--display:SpaceGrotesk,sans-serif}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(ellipse at 63% 12%,#0d2b15 0,transparent 42%),var(--bg);color:var(--white);font:13px/1.6 var(--mono)}.grid{position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(#14431d25 1px,transparent 1px),linear-gradient(90deg,#14431d25 1px,transparent 1px);background-size:32px 32px;z-index:0}body>*:not(.grid){position:relative;z-index:1}a{color:inherit;text-decoration:none}button,select,input{font:inherit}button,a,select,label{ -webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,select:focus-visible,.drop:focus-within{outline:2px solid var(--green);outline-offset:3px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:90px;padding:15px clamp(18px,4vw,64px);border-bottom:1px solid var(--line);background:#020802dc}.brand{display:flex;align-items:center;gap:13px}.brand img{width:49px;height:49px;object-fit:contain}.brand small,.brand strong{display:block}.brand small{color:#7dba89;font-size:9px;letter-spacing:.15em}.brand strong{font:700 19px var(--mono)}.back{color:var(--green);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.back:hover{text-decoration:underline}
main{width:min(1240px,100%);margin:0 auto;padding:clamp(25px,5vw,65px) clamp(18px,4vw,48px) 70px}.eyebrow{margin:0 0 20px;color:#7bb988;font-size:10px;font-weight:700;letter-spacing:.17em}.live-dot{display:inline-block;width:8px;height:8px;margin-right:8px;background:var(--green);box-shadow:0 0 12px var(--green)}.version{margin-left:12px;color:var(--green)}h1{margin:0;color:var(--white);font:700 clamp(46px,6.5vw,94px)/.95 var(--display);letter-spacing:-.07em}h1 em{color:var(--green);font-style:normal}.lede{max-width:730px;color:#b4ccba;font-size:14px;line-height:1.8;margin:25px 0 36px}.launch-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.74fr);gap:18px}.station,.guide{border:1px solid var(--line);background:linear-gradient(145deg,#07180b,#030b05);min-width:0}.station{padding:24px}.station-head,.guide-top{display:flex;justify-content:space-between;gap:12px;color:#69ae77;font-size:10px;font-weight:700;letter-spacing:.15em}.station-head span:last-child{color:var(--green)}h2{font:700 26px/1.1 var(--display);letter-spacing:-.03em;text-transform:uppercase}.station h2{margin:28px 0 17px}.drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:194px;padding:25px;text-align:center;border:1px dashed #3f9751;background:repeating-linear-gradient(135deg,#0a2210,#0a2210 12px,#091d0e 12px,#091d0e 24px);cursor:pointer;transition:background .18s,border-color .18s}.drop:hover,.drop.dragging{background:#123c1c;border-color:var(--green)}.drop input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.drop-symbol{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--green);color:var(--green);font-size:28px;line-height:1}.drop strong{font-size:17px;max-width:100%;overflow-wrap:anywhere}.drop>span:last-of-type{color:#9fbba5;font-size:11px}.system-label{display:flex;justify-content:space-between;gap:12px;margin:22px 0 9px;color:var(--green);font-size:10px;font-weight:700;letter-spacing:.14em}.system-label span{font-weight:400;color:#8fae96;letter-spacing:0;text-align:right}select{display:block;width:100%;height:46px;padding:0 12px;border:1px solid #388647;border-radius:0;background:#071108;color:var(--white)}.compat-note{color:#8eaa94;font-size:10px;min-height:20px;margin:8px 0 17px}.launch{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:49px;padding:0 17px;border:1px solid var(--green);background:var(--green);color:#021007;font-weight:700;letter-spacing:.08em;cursor:pointer}.launch:hover:not(:disabled){background:#9aff9f}.launch:disabled{opacity:.42;cursor:not-allowed}.message{color:#a6c6ad;font-size:11px;margin:11px 0 0;min-height:18px}.message.error{color:#ffad83}
.guide{display:flex;flex-direction:column;padding:24px;background:radial-gradient(circle at 50% 32%,#0e3b1a,#041006 63%)}.pulse{color:var(--green)}.controller{position:relative;align-self:center;width:min(85%,380px);height:185px;margin:37px 0 18px;border:3px solid #2ef25d;border-radius:82px 82px 72px 72px;transform:rotate(-8deg);box-shadow:0 0 0 9px #0a2310,0 0 38px #00ff413b,inset 0 0 30px #00ff4125}.controller:before,.controller:after{content:'';position:absolute;width:55px;height:12px;left:calc(50% - 28px);top:96px;border:2px solid #32dd56;border-radius:10px}.controller:after{left:calc(50% + 38px);width:20px}.pad-cross{position:absolute;left:22%;top:43px;color:var(--green);font:700 86px/1 var(--mono)}.pad-buttons{position:absolute;right:19%;top:41px;color:var(--green);font:700 48px/.55 var(--mono);transform:rotate(25deg)}.guide h2{margin:17px 0 7px;color:var(--green);font-size:32px}.guide p{color:#b7cdbb;margin:0 0 28px;max-width:440px}.guide-lines{display:grid;gap:0;margin-top:auto;border-top:1px solid var(--line)}.guide-lines span{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:9px 0;color:#79a583;font-size:10px}.guide-lines b{color:#d5efd9;font-weight:700;text-align:right}
.bios-options{border-top:1px solid var(--line);margin:0 0 18px;padding-top:12px;color:#9bc1a2;font-size:10px}.bios-options summary{cursor:pointer;color:var(--green);font-weight:700;letter-spacing:.08em}.bios-options summary span{color:#91ad98;font-weight:400;letter-spacing:0;margin-left:7px}.bios-options label{display:block;margin:13px 0 6px}.bios-options input{display:block;width:100%;color:#cce3d0;font-size:11px}.player-shell{border:1px solid var(--line);background:#020602;min-height:70vh}.player-shell[hidden],.intro[hidden]{display:none}.player-bar{min-height:66px;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:10px 17px;border-bottom:1px solid var(--line);background:#071509}.player-bar small,.player-bar strong{display:block}.player-bar small{color:#72b47d;font-size:9px;letter-spacing:.15em}.player-bar strong{color:var(--green);font-size:14px;overflow-wrap:anywhere}.player-bar button{padding:9px 12px;border:1px solid var(--green);background:transparent;color:var(--green);font-weight:700;font-size:10px;cursor:pointer}.player-bar button:hover{background:#0e3118}.game{width:100%;height:min(76vh,850px);min-height:440px}.game>.ejs_canvas_parent{width:100%;height:100%}.player-status{margin:0;padding:8px 16px;color:#8eab94;font-size:10px}footer{display:flex;justify-content:space-between;gap:16px;padding:16px clamp(18px,4vw,64px);border-top:1px solid var(--line);color:#6f9276;font-size:10px;letter-spacing:.08em}
@media(max-width:760px){.topbar{min-height:70px}.brand img{width:36px;height:36px}.brand strong{font-size:14px}.brand small{font-size:7px}.back{font-size:9px}.launch-grid{grid-template-columns:1fr}.guide{display:none}.station{padding:17px}.eyebrow{font-size:9px}.version{display:block;margin:4px 0 0 18px}.lede{font-size:12px}.system-label{display:block}.system-label span{display:block;text-align:left}.game{height:70vh;min-height:350px}footer{display:block}footer span{display:block}}
@media(prefers-reduced-motion:reduce){.drop{transition:none}}

/* The system readout is useful context, not decorative controller art. */
.intro h1{font-size:clamp(45px,5.6vw,78px);letter-spacing:-.065em}
.intro .lede{margin:18px 0 30px;max-width:640px}
.launch-grid{grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);align-items:stretch}
.station,.guide{background:#041007}
.drop{background:linear-gradient(145deg,#0b2110,#061309);border-color:#397e46}
.drop:hover,.drop.dragging{background:#0f2b16}
.guide{background:radial-gradient(ellipse at 50% 30%,#0b2612,transparent 55%),#040d06}
.system-display{display:flex;flex-direction:column;justify-content:center;min-height:265px;margin:24px 0 12px;padding:22px;border:1px solid var(--line);background:linear-gradient(90deg,#0b2110,#061209 70%);position:relative;overflow:hidden}
.system-display:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(transparent,transparent 5px,#00ff4107 6px);opacity:.6}
.system-code{display:block;color:var(--green);font:700 clamp(80px,10vw,142px)/.9 var(--display);letter-spacing:-.09em;text-shadow:0 0 38px #00ff412c}
.system-name{display:block;position:relative;z-index:1;margin-top:18px;color:var(--white);font-size:13px;letter-spacing:.09em;text-transform:uppercase}
.guide-lines{display:block;margin:0;border-top:1px solid var(--line)}
.guide-lines div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:10px}
.guide-lines dt{color:#79a583;text-transform:uppercase;letter-spacing:.08em}
.guide-lines dd{margin:0;color:#dbefdd;text-align:right;overflow-wrap:anywhere}
.guide .guide-foot{margin:20px 0 0;color:#a9c3ae;font-size:11px;line-height:1.65}
@media(max-width:760px){.launch-grid{grid-template-columns:minmax(0,1fr)}.station,.guide{min-width:0}.guide{display:flex;padding:17px}.system-display{min-height:170px;margin:18px 0 10px}.system-code{font-size:80px}.guide-lines div{grid-template-columns:94px minmax(0,1fr)}.intro h1{font-size:clamp(39px,9.8vw,58px)}.intro h1 em{display:block}}

/* Keep real system art and the input reference compact enough to scan at a glance. */
select{appearance:none;-webkit-appearance:none;padding:0 48px 0 15px;background:#071108 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='12' viewBox='0 0 18 12'%3E%3Cpath d='m2 2 7 7 7-7' fill='none' stroke='%2300ff41' stroke-width='2' stroke-linecap='square'/%3E%3C/svg%3E") no-repeat right 18px center;cursor:pointer}
select:focus-visible{outline:0;border-color:var(--green);box-shadow:0 0 0 2px #00ff415c}
.system-display{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:15px;min-height:218px;margin:19px 0 12px;padding:18px;background:radial-gradient(ellipse at 48% 36%,#194627 0,#0b2110 37%,#061209 76%)}
.system-art-wrap{display:flex;align-items:center;justify-content:center;min-width:0;height:180px;overflow:hidden}
.system-art{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 18px 13px #000a)}
.system-art-wrap{height:190px}
.system-art[hidden]{display:none}
.system-caption{position:relative;z-index:1;max-width:155px;text-align:right}
.system-code{font-size:clamp(26px,3vw,39px);line-height:1;letter-spacing:-.04em;text-shadow:none}
.system-name{margin-top:8px;font-size:10px;line-height:1.4;letter-spacing:.08em}
.input-deck{margin-top:20px;padding-top:15px;border-top:1px solid var(--line)}
.input-deck h3{margin:0 0 12px;color:#69ae77;font-size:10px;letter-spacing:.15em}
.input-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.input-card{min-width:0;min-height:128px;padding:11px;border:1px solid #245b33;background:#06170b}
.input-card.connected{border-color:var(--green);background:#0a2111}
.input-card strong,.input-card span{display:block}.input-card strong{color:var(--green);font-size:10px;letter-spacing:.12em}.input-card span{margin-top:5px;color:#b7cdbb;font-size:10px;line-height:1.45}
.gamepad-card img{display:block;width:138px;max-width:100%;height:67px;object-fit:contain;object-position:left center;margin:0 auto 5px}
.keycaps{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:3px;min-height:72px;margin-bottom:1px}
.keycaps kbd{display:grid;place-items:center;width:24px;height:23px;border:1px solid #398c4b;background:#0b2912;color:#dff5e3;font:700 11px var(--mono)}
.guide .guide-foot{margin:13px 0 0;font-size:10px}
@media(max-width:760px){.system-display{min-height:150px;grid-template-columns:minmax(0,1fr) auto}.system-art-wrap{height:135px}.system-code{font-size:29px}.system-caption{max-width:120px}}
@media(max-width:390px){.input-grid{grid-template-columns:1fr 1fr}.input-card{padding:8px}.keycaps{display:grid;grid-template-columns:repeat(3,24px);align-content:center}.system-display{gap:5px;padding:10px}.system-art-wrap{height:120px}}

/* Keep the launcher and game stage inside a desktop viewport. Small screens retain normal page scrolling. */
@media(min-width:761px) and (min-height:560px){
  html,body{height:100%;overflow:hidden}
  body{display:flex;flex-direction:column}
  .topbar{flex:0 0 58px;min-height:58px;padding-block:6px}
  .brand img{width:38px;height:38px}
  .brand strong{font-size:16px}
  main{flex:1;min-height:0;display:flex;flex-direction:column;padding:11px clamp(18px,4vw,48px) 8px;overflow:hidden}
  .intro{flex:1;min-height:0;display:flex;flex-direction:column}
  .intro .eyebrow{margin:0 0 5px;font-size:9px}
  .intro h1{font-size:clamp(38px,4.5vw,60px);line-height:1}
  .intro .lede{max-width:none;margin:5px 0 10px;font-size:11px;line-height:1.35}
  .launch-grid{flex:1;min-height:0;gap:12px}
  .station,.guide{min-height:0;overflow-y:auto;scrollbar-color:#397e46 #061009;padding:13px}
  .station-head,.guide-top{font-size:9px}
  .station h2{margin:9px 0 8px;font-size:20px}
  .drop{min-height:92px;padding:8px;gap:2px}
  .drop-symbol{width:29px;height:29px;font-size:20px}
  .drop strong{font-size:13px}
  .drop>span:last-of-type{font-size:9px}
  .system-label{margin:9px 0 4px}
  select{height:36px}
  .compat-note{margin:5px 0 8px;min-height:0;line-height:1.35}
  .bios-options{margin-bottom:8px;padding-top:7px}
  .bios-options label{margin:5px 0 2px}
  .bios-options p{margin:5px 0;line-height:1.35}
  #bios-file-name{display:block;margin-top:3px;color:#a8c9ae}
  .launch{min-height:37px}
  .message{margin:5px 0 0}
  .system-display{min-height:128px;margin:9px 0 7px;padding:8px}
  .system-art-wrap{height:112px}
  .system-code{font-size:28px}
  .guide-lines div{padding:5px 0;font-size:9px}
  .input-deck{margin-top:8px;padding-top:7px}
  .input-deck h3{margin-bottom:5px}
  .input-card{min-height:67px;padding:5px}
  .gamepad-card img{height:35px;margin-bottom:0}
  .input-card span{font-size:8px;line-height:1.25;margin-top:2px}
  .keycaps{min-height:34px}
  .keycaps kbd{width:18px;height:17px;font-size:9px}
  .guide .guide-foot{margin:7px 0 0;font-size:9px;line-height:1.3}
  footer{flex:0 0 auto;padding:5px clamp(18px,4vw,64px);font-size:9px}
  body.playing main{padding-block:8px}
  .player-shell{flex:1;min-height:0;display:flex;flex-direction:column}
  .player-shell[hidden]{display:none}
  .player-bar{flex:0 0 49px;min-height:49px}
  .game{flex:1;min-height:0;height:auto}
  .player-status{flex:0 0 auto}
}
@media(max-width:760px), (max-height:559px){
  #bios-file-name{display:block;margin-top:5px;color:#a8c9ae}
  .bios-options p{line-height:1.4}
}
.system-details-toggle,.guide-close{display:none}
@media(max-width:760px) and (min-height:640px){
  html,body{height:100%;overflow:hidden}
  body{display:flex;flex-direction:column}
  .topbar{flex:0 0 54px;min-height:54px;padding:5px 14px}
  .brand img{width:32px;height:32px}
  .brand strong{font-size:12px}
  .back{font-size:8px}
  main{flex:1;min-height:0;display:flex;flex-direction:column;padding:9px 14px 6px;overflow:hidden}
  .intro{flex:1;min-height:0;display:flex;flex-direction:column}
  .intro .eyebrow{margin:0 0 4px;font-size:8px;line-height:1.25}
  .version{display:inline;margin-left:7px}
  .intro h1{font-size:clamp(28px,8vw,38px);line-height:1}
  .intro h1 em{display:inline}
  .intro .lede{margin:5px 0 9px;font-size:10px;line-height:1.35}
  .launch-grid{flex:1;min-height:0;display:block}
  .station{height:100%;min-height:0;overflow-y:auto;padding:12px;scrollbar-color:#397e46 #061009}
  .station h2{margin:8px 0;font-size:20px}
  .drop{min-height:91px;padding:7px;gap:2px}
  .drop-symbol{width:27px;height:27px;font-size:18px}
  .drop strong{font-size:12px}
  .drop>span:last-of-type{font-size:9px}
  .system-label{margin:8px 0 4px}
  .system-label span{display:none}
  select{height:39px}
  .compat-note{min-height:0;margin:5px 0 8px;line-height:1.35}
  .bios-options{margin-bottom:8px;padding-top:7px}
  .bios-options label{margin:5px 0 2px}
  .bios-options p{margin:5px 0}
  .launch{min-height:40px}
  .message{margin:5px 0 0}
  .system-details-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:8px;padding:7px 0;border:0;border-top:1px solid var(--line);background:none;color:var(--green);font-size:9px;font-weight:700;letter-spacing:.08em;text-align:left}
  .guide{display:none}
  body.details-open .guide{display:flex;position:fixed;z-index:20;inset:10px;overflow-y:auto;padding:15px;border-color:var(--green);box-shadow:0 0 0 100vmax #000b}
  .guide-close{display:block;align-self:flex-end;margin-bottom:9px;border:0;background:none;color:var(--green);font-size:10px;font-weight:700}
  footer{flex:0 0 auto;padding:4px 14px;font-size:8px}
  footer span:last-child{display:none}
  body.playing main{padding-block:6px}
  .player-shell{flex:1;min-height:0;display:flex;flex-direction:column}
  .player-shell[hidden]{display:none}
  .player-bar{flex:0 0 50px;min-height:50px;padding:6px 10px}
  .game{flex:1;min-height:0;height:auto}
  .player-status{flex:0 0 auto}
}
