:root{color-scheme:dark;--bg:#10101d;--panel:#191929;--line:#363448;--white:#f0ebdf;--muted:#aaa7ba;--pink:#ff78b6;--green:#b3f48c;--yellow:#ffe497}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--white);font-family:'Courier New',monospace;font-size:16px}main{max-width:1440px;margin:auto;padding:30px 48px}header{display:flex;align-items:center;gap:26px;border-bottom:1px solid var(--line);padding-bottom:25px}.brand{color:var(--pink);font-weight:900;font-size:36px;text-decoration:none;display:flex;align-items:center;gap:14px;letter-spacing:-3px}.brand span{font-size:14px;line-height:1.25;letter-spacing:1px;color:var(--white)}.edition{font-size:13px;line-height:1.6;color:var(--muted);margin-left:auto}.edition span{font-size:12px;color:#87839b}button{font:700 14px 'Courier New',monospace;cursor:pointer;min-height:48px;touch-action:manipulation;border:1px solid var(--line);border-radius:0;color:var(--white);background:#222235;padding:13px 16px}button:hover{border-color:var(--pink);background:#30243c}button:focus-visible,a:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}button:disabled{cursor:not-allowed;opacity:.4}.small{font-size:12px;min-height:40px;padding:10px}.heading{display:flex;justify-content:space-between;align-items:flex-end;padding:35px 0 28px}.eyebrow{color:var(--pink);font-size:12px;letter-spacing:2px;margin:0 0 12px}h1{font-family:Impact,'Arial Black',sans-serif;font-size:clamp(42px,5.8vw,80px);font-weight:900;letter-spacing:1px;margin:0;line-height:1}h1 span{color:var(--pink)}.attempt{font-size:12px;margin:0;text-align:right;color:var(--muted)}.attempt strong{font-size:26px;color:var(--yellow)}.attempt span{display:block;margin-top:8px}.game{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,1fr);border:1px solid var(--line)}.left{min-width:0;background:#131320}.scene{position:relative;aspect-ratio:16/10;overflow:hidden;background:#241b38;border-bottom:1px solid var(--line)}.scene img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.scene:after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(transparent 0 3px,#0002 3px 4px)}.scene-top,.scene-bottom{position:absolute;left:0;right:0;display:flex;justify-content:space-between;gap:10px;padding:14px 16px;font-size:12px;background:#10101dc9;z-index:1}.scene-top{top:0;color:#d6c9e4}.scene-bottom{bottom:0;color:var(--yellow)}.console{padding:23px 26px;min-height:137px;border-bottom:1px solid var(--line)}.console-label{font-size:12px;letter-spacing:1px;color:var(--muted)}.console p{color:var(--green);line-height:1.6;font-size:14px;margin:12px 0 0}.equipment{padding:18px 26px;display:flex;gap:20px;align-items:center;font-size:12px;color:var(--muted)}.equipment>span{color:var(--pink)}.equipment p{margin:0;line-height:1.5}.control{padding:28px 28px 20px;border-left:1px solid var(--line);display:flex;flex-direction:column;background:var(--panel)}.steps{list-style:none;display:flex;padding:0;margin:0 0 32px;gap:8px}.steps li{flex:1;text-align:center;padding:9px 0;border-bottom:3px solid var(--line);color:#8b879c;font-size:13px}.steps li.active{border-color:var(--pink);color:var(--pink)}.steps li.done{border-color:var(--green);color:var(--green)}.step-label{color:var(--pink);font-size:12px;letter-spacing:1px;margin:0 0 12px}h2{font-family:Arial,sans-serif;font-size:28px;letter-spacing:-.8px;margin:0 0 14px}#stage>p{line-height:1.6;color:var(--muted);font-size:14px}#stage .lead{font-size:16px}.wiring{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:64px;margin:23px 0}.ports{display:flex;flex-direction:column;gap:12px;z-index:1}.ports>span{font-size:12px;color:var(--muted);margin-bottom:2px}.port{font-size:12px;display:flex;justify-content:space-between;align-items:center;padding:12px 10px;min-height:47px}.port b{font-size:18px;color:var(--port)}.port.selected{outline:2px solid var(--yellow)}.port.connected{border-color:var(--port);background:#252b2e;opacity:1}.wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.primary{display:block;width:100%;background:var(--pink);color:#1d1123;border:1px solid var(--pink);box-shadow:3px 3px 0 #080810;margin-top:24px}.primary:hover{background:#ffa1cc;color:#1d1123}.secondary{width:100%;margin-top:12px}.hint{min-height:43px;color:var(--yellow)!important;font-size:13px!important}.protocol{font-size:12px;color:#a6a0b7;margin-top:auto;padding-top:25px;border-top:1px solid var(--line);line-height:1.7}.protocol span{display:block;color:#827b94}.callout{padding:20px;border:1px dashed #786176;background:#242035;margin:24px 0;color:var(--yellow);font-size:20px;line-height:1.7}.callout small{font-size:12px;color:var(--muted);display:block;margin-bottom:12px}.check{display:flex;gap:12px;align-items:flex-start;line-height:1.5;font-size:14px;margin:20px 0}.check input{width:20px;height:20px;flex-shrink:0;accent-color:var(--pink)}.error-code{font-size:36px!important;font-weight:bold;color:var(--yellow)!important;margin:20px 0 0!important}.meter{height:10px;background:#0d0d18;margin:20px 0}.meter span{display:block;height:100%;width:0;background:var(--green);transition:width .3s}.celebrate{animation:rumble .3s 5}@keyframes rumble{25%{transform:translateX(2px)}75%{transform:translateX(-2px)}}footer{display:flex;justify-content:space-between;gap:24px;color:#9590a7;font-size:12px;line-height:1.6;padding:22px 0}footer span:first-child{color:#b4a9bf}@media(min-width:1300px){.scene{aspect-ratio:16/9}}@media(max-width:850px){main{padding:20px}.game{grid-template-columns:1fr}.control{border-left:0;border-top:1px solid var(--line)}.scene{aspect-ratio:16/9}.edition{display:none}header .small{margin-left:auto}.heading{padding:28px 0 22px}.attempt span{max-width:110px}.console{min-height:110px}.protocol{margin-top:28px}footer{flex-direction:column;gap:8px}.steps{margin-bottom:24px}}@media(max-width:420px){main{padding:14px}.eyebrow{font-size:12px;letter-spacing:0}h1{font-size:40px}.heading{gap:10px}.attempt{font-size:12px}.attempt strong{font-size:20px}.control{padding:22px 18px}.scene-top span:last-child{display:none}.scene-bottom{font-size:12px}.scene-bottom span:last-child{display:none}.wiring{gap:54px}.equipment{padding:16px;gap:14px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
