:root{--ink:#101310;--ink-soft:#171b17;--panel:#1d211d;--paper:#f3eedb;--paper-dim:#c8c4b4;--acid:#d8ff3e;--acid-dark:#8ea820;--orange:#ff7043;--cyan:#73e6db;--line:#3b4139;--danger:#ff5f56;--shadow:0 18px 50px #00000047}*{box-sizing:border-box}html{background:var(--ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth}body{background:radial-gradient(circle at 80% 10%, #d8ff3e0d, transparent 32rem), var(--ink);min-width:320px;color:var(--paper);margin:0;font-family:Inter,IBM Plex Sans,Segoe UI,system-ui,-apple-system,sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}code,pre,.project-label,.panel-kicker,.mission-meta,.eyebrow,.challenge-label,.game-footer,.mission-rail,.system-stats,.terminal-form small{font-family:IBM Plex Mono,Cascadia Code,SFMono-Regular,Consolas,monospace}a{color:inherit}.loading-screen{background:linear-gradient(#d8ff3e0d 1px, transparent 1px), linear-gradient(90deg, #d8ff3e0d 1px, transparent 1px), var(--ink);min-height:100svh;color:var(--acid);letter-spacing:.14em;background-size:32px 32px;place-items:center;font:700 .78rem/1.4 Cascadia Code,monospace;display:grid}.start-screen{isolation:isolate;place-items:center;min-height:100svh;padding:clamp(1.4rem,5vw,5rem);display:grid;position:relative;overflow:hidden}.start-screen:before{z-index:-3;content:"";background:linear-gradient(110deg,#0000 0 55%,#d8ff3e0f 55% 56%,#0000 56%),radial-gradient(circle at 78% 32%,#d8ff3e1f,#0000 24rem),linear-gradient(150deg,#151915,#0c0f0c 62%);position:absolute;inset:0}.start-screen:after{z-index:-1;aspect-ratio:1;content:"";border:1px solid #d8ff3e3d;border-radius:50%;width:min(55vw,44rem);position:absolute;top:-18vh;right:-9vw;box-shadow:0 0 0 4rem #d8ff3e05,0 0 0 9rem #d8ff3e05}.start-grid{z-index:-2;background-image:linear-gradient(#d8ff3e0d 1px,#0000 1px),linear-gradient(90deg,#d8ff3e0d 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 85%);mask-image:linear-gradient(#000,#0000 85%)}.start-shell{width:min(100%,73rem)}.start-terminal{border-left:3px solid var(--acid);max-width:42rem;color:var(--paper-dim);flex-direction:column;margin-bottom:clamp(2rem,6vw,5rem);padding-left:1rem;font:600 clamp(.68rem,1.4vw,.82rem)/1.7 Cascadia Code,monospace;display:flex}.start-warning{color:var(--orange)}.project-label{color:var(--acid);letter-spacing:.16em;margin:0 0 .8rem;font-size:clamp(.68rem,1.4vw,.8rem);font-weight:800}.start-shell h1,.completion h1{letter-spacing:-.055em;text-transform:uppercase;max-width:10ch;margin:0;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:clamp(5.5rem,16vw,12.5rem);font-weight:900;line-height:.72}.start-shell h1 em,.completion h1 em{color:#0000;-webkit-text-stroke:2px var(--acid);text-shadow:0 0 28px #d8ff3e33;font-style:normal}.start-lead{max-width:42rem;color:var(--paper);margin:clamp(2rem,5vw,3.6rem) 0 2rem;font-size:clamp(1.05rem,2vw,1.4rem);line-height:1.55}.start-specs{border-block:1px solid var(--line);max-width:42rem;margin:0 0 2rem;display:flex}.start-specs div{border-right:1px solid var(--line);flex-direction:column;flex:1;min-width:0;padding:1rem clamp(.5rem,2vw,1.4rem);display:flex}.start-specs div:first-child{padding-left:0}.start-specs div:last-child{border-right:0}.start-specs strong{color:var(--acid);font-size:clamp(1rem,2vw,1.35rem)}.start-specs span{color:var(--paper-dim);margin-top:.25rem;font-size:.75rem}.start-button{background:var(--acid);width:min(100%,30rem);color:var(--ink);cursor:pointer;box-shadow:8px 8px 0 var(--acid-dark);letter-spacing:.02em;border:0;justify-content:space-between;padding:1.15rem 1.25rem;font-weight:900;transition:translate .15s,box-shadow .15s;display:flex}.start-button:hover{box-shadow:5px 5px 0 var(--acid-dark);translate:3px 3px}.start-button span:last-child{font-size:1.3rem}.mode-selection{gap:.8rem;max-width:38rem;display:grid}.start-button>span:first-child{text-align:left;flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.start-button strong{font-size:.92rem}.start-button small{color:#30361f;font:600 .65rem/1.4 Cascadia Code,monospace}.start-button.secondary{border:1px solid var(--acid);color:var(--paper);background:0 0;box-shadow:8px 8px #31362c}.start-button.secondary small{color:#858b80}.start-note{color:#8e9488;margin:1.2rem 0 0;font:.7rem/1.5 Cascadia Code,monospace}.start-resources{flex-wrap:wrap;gap:1rem;margin-top:.65rem;font:.68rem/1.5 Cascadia Code,monospace;display:flex}.start-resources a{color:var(--paper-dim);-webkit-text-decoration-color:var(--acid-dark);text-decoration-color:var(--acid-dark);text-underline-offset:.22rem}.start-resources a:hover{color:var(--acid)}.game-shell{min-height:100svh}.game-header{z-index:30;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#101310ed;justify-content:space-between;align-items:stretch;min-height:74px;display:flex;position:sticky;top:0}.brand-button{color:var(--paper);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:.8rem;padding:0 1.2rem;display:flex}.brand-mark{color:var(--acid);font:800 1.15rem/1 Cascadia Code,monospace}.brand-button strong,.brand-button small{display:block}.brand-button strong{letter-spacing:.035em;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:1.35rem}.brand-button small{color:#8e9488;letter-spacing:.12em;font:.58rem/1.4 Cascadia Code,monospace}.system-stats{align-items:stretch;display:flex}.system-stats div{border-left:1px solid var(--line);flex-direction:column;justify-content:center;min-width:92px;padding:0 1rem;display:flex}.system-stats span{color:#858b80;letter-spacing:.09em;font-size:.57rem}.system-stats strong{color:var(--acid);margin-top:.15rem;font-size:.95rem}.system-stats button{border:0;border-left:1px solid var(--line);color:#90958b;cursor:pointer;background:0 0;padding:0 1.2rem;font-size:.7rem}.system-stats button:hover{background:var(--orange);color:var(--ink)}.progress-track{background:0 0;width:100%;height:3px;position:absolute;bottom:-2px;left:0}.progress-track span{background:var(--acid);height:100%;box-shadow:0 0 12px var(--acid);transition:width .4s;display:block}.game-layout{grid-template-columns:238px minmax(500px,1fr) minmax(360px,440px);min-height:calc(100svh - 74px);display:grid}.mission-rail{border-right:1px solid var(--line);background:#121512;height:calc(100svh - 74px);position:sticky;top:74px;overflow:auto}.rail-heading{border-bottom:1px solid var(--line);color:#8a9085;letter-spacing:.1em;justify-content:space-between;align-items:center;padding:1.1rem;font-size:.65rem;display:flex}.rail-heading strong{color:var(--paper)}.mission-rail ol{margin:0;padding:0;list-style:none}.mission-rail li{border-bottom:1px solid #292e28}.mission-rail button{color:#858b80;cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:34px 1fr 14px;align-items:center;gap:.65rem;width:100%;min-height:72px;padding:.8rem .8rem .8rem 1rem;display:grid;position:relative}.mission-rail button:hover:not(:disabled){color:var(--paper);background:#1a1e19}.mission-rail button.current{color:var(--paper);background:linear-gradient(90deg,#d8ff3e1f,#0000),#191d18}.mission-rail button.current:before{background:var(--acid);content:"";width:3px;position:absolute;inset:0 auto 0 0}.mission-rail button.done .mission-number{border-color:var(--acid);color:var(--acid)}.mission-rail button:disabled{cursor:not-allowed;opacity:.38}.mission-number{aspect-ratio:1;border:1px solid #555b50;border-radius:50%;place-items:center;width:30px;font-size:.66rem;display:grid}.mission-nav-copy{min-width:0}.mission-nav-copy strong,.mission-nav-copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.mission-nav-copy strong{font-size:.72rem}.mission-nav-copy small{color:#62685f;margin-top:.25rem;font-size:.58rem}.lock-glyph{color:#555b50}.puzzle-panel{min-width:0;padding:clamp(1.4rem,3vw,3.4rem)}.mission-meta{flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;display:flex}.mission-meta span{border:1px solid var(--line);color:#9da396;letter-spacing:.06em;padding:.35rem .55rem;font-size:.6rem}.mission-meta span:first-child{border-color:var(--acid-dark);color:var(--acid)}.mission-title-row{align-items:flex-start;gap:clamp(1rem,2.4vw,2rem);display:flex}.mission-title-row>div{min-width:0}.huge-number{color:#0000;letter-spacing:-.05em;-webkit-text-stroke:1px #555c50;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:clamp(4rem,8vw,7.2rem);line-height:.78}.eyebrow{color:var(--acid);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .35rem;font-size:.68rem;font-weight:800}.mission-title-row h1{overflow-wrap:anywhere;letter-spacing:-.035em;text-transform:uppercase;margin:0;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:clamp(2.35rem,4vw,4rem);font-weight:900;line-height:.94}.mission-subtitle{color:#aeb3a7;margin:.6rem 0 0;font-size:.9rem}.briefing{max-width:70ch;color:var(--paper-dim);margin:2rem 0;font-size:.96rem;line-height:1.7}.terminal-output{box-shadow:var(--shadow);background:#080b08;border:1px solid #3c4239;border-radius:8px;overflow:hidden}.terminal-bar{background:#171b17;border-bottom:1px solid #292e28;align-items:center;gap:.4rem;min-height:36px;padding:0 .8rem;display:flex}.terminal-bar span{aspect-ratio:1;background:#586054;border-radius:50%;width:8px}.terminal-bar span:first-child{background:var(--danger)}.terminal-bar span:nth-child(2){background:#ffbd2e}.terminal-bar span:nth-child(3){background:#28c840}.terminal-bar strong{color:#777e72;margin-left:.35rem;font:600 .65rem/1 Cascadia Code,monospace}.terminal-output pre{color:#b9c7b0;white-space:pre-wrap;min-height:124px;margin:0;padding:1.1rem;font-size:clamp(.72rem,1.25vw,.84rem);line-height:1.65;overflow-x:auto}.terminal-output pre:before{color:var(--acid);content:"● "}.challenge{border-top:4px solid var(--acid);background:var(--paper);color:var(--ink);box-shadow:var(--shadow);margin-top:2rem;padding:clamp(1.2rem,3vw,2rem)}.challenge-label{color:#617017;letter-spacing:.14em;margin:0 0 .55rem;font-size:.62rem;font-weight:900}.challenge h2{max-width:44rem;margin:0 0 1.4rem;font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.35}.choice-list{gap:.65rem;display:grid}.choice-list button{color:var(--ink);cursor:pointer;text-align:left;background:#e7e2cf;border:1px solid #aaa797;align-items:center;gap:.8rem;padding:.9rem;transition:border-color .12s,background .12s,translate .12s;display:flex}.choice-list button:hover:not(:disabled){border-color:var(--ink);background:#fff;translate:4px}.choice-list button:disabled{cursor:default;opacity:.6}.prompt-glyph{color:#637219;font:900 1.1rem/1 Cascadia Code,monospace}.choice-list code{font-size:clamp(.74rem,1.4vw,.9rem);font-weight:700}.terminal-form label{letter-spacing:.08em;text-transform:uppercase;margin-bottom:.5rem;font:800 .66rem/1.4 Cascadia Code,monospace;display:block}.terminal-input-row{border:2px solid var(--ink);background:var(--ink);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.terminal-input-row>span{color:var(--acid);padding-left:.85rem;font:900 1rem/1 Cascadia Code,monospace}.terminal-input-row input{background:var(--ink);min-width:0;color:var(--paper);border:0;outline:0;padding:.95rem .65rem;font:.86rem/1.4 Cascadia Code,monospace}.terminal-input-row input::placeholder{color:#656b61}.terminal-input-row button,.verify-button{background:var(--acid);color:var(--ink);cursor:pointer;border:0;align-self:stretch;padding:.75rem 1rem;font-weight:900}.terminal-input-row button:disabled,.verify-button:disabled{cursor:not-allowed;opacity:.45}.terminal-form small{color:#6d6a60;margin-top:.5rem;font-size:.62rem;display:block}.sequence-builder{gap:.8rem;display:grid}.sequence-target{background:#ded9c7;border:2px dashed #777466;flex-wrap:wrap;align-content:center;align-items:center;gap:.4rem;min-height:76px;padding:.7rem;display:flex}.sequence-placeholder{color:#777466;font:.74rem/1.4 Cascadia Code,monospace}.sequence-target button,.token-pool button{border:1px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;padding:.55rem .65rem;font:700 .68rem/1.3 Cascadia Code,monospace}.sequence-target button:hover{background:var(--orange);color:var(--ink)}.token-pool{flex-wrap:wrap;gap:.45rem;display:flex}.token-pool button{color:var(--ink);background:0 0;border-color:#858174}.token-pool button:hover:not(:disabled){border-color:var(--ink);background:#fff}.token-pool button:disabled{opacity:.22}.verify-button{background:var(--ink);min-height:44px;color:var(--acid);justify-self:start}.puzzle-actions{margin-top:1rem}.hint-button{color:#5d5a51;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #817e71;padding:.3rem 0;font:700 .68rem/1.4 Cascadia Code,monospace}.hint-button:disabled{cursor:default}.hint-copy{background:#ddd8c4;border-left:3px solid #a6b52f;margin:.8rem 0 0;padding:.7rem .9rem;font-size:.82rem;line-height:1.5}.feedback{margin-top:1rem}.feedback-box{border:2px solid var(--ink);padding:1rem}.feedback-box.success{background:#d8ff3e;border-color:#4b6010}.feedback-box.wrong{background:#ffd5ca;border-color:#9a311c}.feedback-box.recap{background:#cceae5;border-color:#587c77}.feedback-box strong{letter-spacing:.1em;margin-bottom:.35rem;font:900 .66rem/1.4 Cascadia Code,monospace;display:block}.feedback-box p{margin:0;font-size:.88rem;line-height:1.5}.feedback-box button{background:var(--ink);color:var(--paper);cursor:pointer;border:0;margin-top:.8rem;padding:.7rem .9rem;font-weight:800}.learning-debrief{border:1px solid var(--line);background:#151815;margin-top:2rem}.learning-debrief summary{cursor:pointer;color:var(--acid);padding:1rem;font-size:.85rem;font-weight:800}.learning-debrief dl{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.learning-debrief dl div{border-top:1px solid var(--line);min-width:0;padding:1rem}.learning-debrief dl div:nth-child(odd){border-right:1px solid var(--line)}.learning-debrief dt{color:#7f867b;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.35rem;font:700 .62rem/1.3 Cascadia Code,monospace}.learning-debrief dd{color:var(--paper-dim);margin:0;font-size:.8rem;line-height:1.55}.learning-debrief code{color:var(--acid)}.blueprint-panel{border-left:1px solid var(--line);background:#121512;height:calc(100svh - 74px);padding:1.4rem;position:sticky;top:74px;overflow:auto}.panel-kicker{color:#7f867b;letter-spacing:.08em;justify-content:space-between;align-items:center;font-size:.59rem;display:flex}.status-assembling{color:var(--orange)}.status-online{color:var(--acid)}.blueprint-panel h2{letter-spacing:.01em;text-transform:uppercase;margin:1.2rem 0 .3rem;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:2.1rem}.blueprint-copy{color:#82887e;margin:0 0 1rem;font-size:.75rem;line-height:1.5}.blueprint{border:1px solid #30362f;border-radius:18px;overflow:hidden}.blueprint svg{width:100%;height:auto;display:block}.blueprint-bg{fill:#0b0e0b}.grid-line{fill:none;stroke:#2b3129;stroke-width:.6px}.wire{fill:none;stroke:#31372f;stroke-dasharray:5 8;stroke-width:2px}.wire.active{stroke:var(--acid);stroke-dasharray:none;filter:drop-shadow(0 0 4px #d8ff3ecc)}.module-case{fill:#161a16;stroke:#444b41;stroke-width:1.5px}.module-led{fill:#474d44}.module-number{fill:#666d62;letter-spacing:1px;font:8px Cascadia Code,monospace}.module-label{fill:#777f72;letter-spacing:1px;font:700 11px Cascadia Code,monospace}.module-lock{fill:none;stroke:#555c51;stroke-width:1.5px}.system-module.done .module-case{fill:#1e2915;stroke:var(--acid)}.system-module.done .module-led{fill:var(--acid);filter:drop-shadow(0 0 5px var(--acid))}.system-module.done .module-number{fill:#9bb428}.system-module.done .module-label{fill:var(--paper)}.system-module.current:not(.done) .module-case{stroke:var(--orange);stroke-dasharray:5 4;stroke-width:2px;animation:1.6s ease-in-out infinite module-pulse}.core-mark text{fill:#62695f;letter-spacing:1.2px;font:8px Cascadia Code,monospace}.blueprint.is-online{border-color:var(--acid);box-shadow:0 0 32px #d8ff3e21}.blueprint.is-online .core-mark text{fill:var(--acid)}@keyframes module-pulse{50%{stroke-opacity:.35}}.chapter-success{background:radial-gradient(circle at 50% 42%, #d8ff3e33, transparent 24rem), var(--ink);isolation:isolate;place-items:center;min-height:100svh;padding:clamp(1.5rem,5vw,4rem);display:grid;position:relative;overflow:hidden}.success-grid{z-index:-2;background-image:linear-gradient(#d8ff3e0f 1px,#0000 1px),linear-gradient(90deg,#d8ff3e0f 1px,#0000 1px);background-size:42px 42px;animation:.9s ease-out both success-grid-in;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 82%);mask-image:radial-gradient(circle,#000,#0000 82%)}.success-particles{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.success-particles span{top:78%;left:var(--particle-x);background:var(--acid);opacity:0;width:7px;height:24px;rotate:var(--particle-rotate);animation:particle-rise 1.6s ease-out var(--particle-delay) both;position:absolute;box-shadow:0 0 14px #d8ff3e8c}.success-particles span:nth-child(3n){background:var(--cyan);height:10px}.success-particles span:nth-child(4n){background:var(--orange);border-radius:50%;width:13px;height:13px}.chapter-success-card{text-align:center;background:#101310f0;border:1px solid #718514;width:min(100%,49rem);padding:clamp(1.5rem,5vw,3.5rem);animation:.62s cubic-bezier(.2,.8,.2,1) both success-card-in;box-shadow:0 0 0 1px #d8ff3e14,0 30px 90px #00000073,0 0 70px #d8ff3e1a}.success-orbit{border:1px solid var(--acid);border-radius:50%;place-items:center;width:6rem;height:6rem;margin:0 auto 1.5rem;display:grid;position:relative;box-shadow:0 0 30px #d8ff3e3d}.success-orbit:before,.success-orbit:after{content:"";border:1px solid #d8ff3e57;border-radius:50%;animation:1.4s ease-out infinite orbit-pulse;position:absolute}.success-orbit:before{inset:-.75rem}.success-orbit:after{animation-delay:.18s;inset:-1.55rem}.success-orbit span{color:var(--acid);font-size:3rem;font-weight:900;animation:.7s cubic-bezier(.2,1.6,.4,1) .18s both success-check-in}.chapter-success-card h1{letter-spacing:-.035em;text-transform:uppercase;margin:0;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:clamp(2.7rem,8vw,5.8rem);line-height:.92}.chapter-success-summary{max-width:39rem;color:var(--paper-dim);margin:1.4rem auto;font-size:clamp(.95rem,2vw,1.15rem);line-height:1.6}.success-skills{flex-wrap:wrap;justify-content:center;gap:.55rem;margin:1.5rem 0;display:flex}.success-skills span{color:var(--acid);background:#181d16;border:1px solid #505b32;padding:.55rem .75rem;font:700 .7rem/1.35 Cascadia Code,monospace}.chapter-success-stats{border-block:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:1.5rem 0;display:grid}.chapter-success-stats div{border-right:1px solid var(--line);flex-direction:column;min-width:0;padding:.9rem .5rem;display:flex}.chapter-success-stats div:last-child{border:0}.chapter-success-stats span{color:#858b81;text-transform:uppercase;font:.58rem/1.4 Cascadia Code,monospace}.chapter-success-stats strong{color:var(--paper);margin-top:.25rem;font-size:1.2rem}.chapter-success-card>button{border:1px solid var(--acid);background:var(--acid);color:var(--ink);cursor:pointer;padding:.9rem 1.2rem;font-weight:900;transition:transform .16s,box-shadow .16s}.chapter-success-card>button:hover{transform:translateY(-2px);box-shadow:0 0 28px #d8ff3e40}@keyframes success-card-in{0%{opacity:0;transform:translateY(24px)scale(.96)}}@keyframes success-check-in{0%{opacity:0;transform:scale(.15)rotate(-25deg)}}@keyframes orbit-pulse{0%{opacity:0;transform:scale(.7)}45%{opacity:.8}to{opacity:0;transform:scale(1.18)}}@keyframes particle-rise{0%{opacity:0;transform:translateY(8vh)rotate(0)}22%{opacity:.9}to{opacity:0;transform:translateY(-70vh)rotate(220deg)}}@keyframes success-grid-in{0%{opacity:0;transform:scale(1.08)}}.completion{background:radial-gradient(circle at 70% 30%, #d8ff3e29, transparent 26rem), var(--ink);place-content:center;min-height:100svh;padding:clamp(1.5rem,6vw,6rem);display:grid;position:relative;overflow:hidden}.completion:before{content:"";pointer-events:none;background-image:linear-gradient(#d8ff3e0d 1px,#0000 1px),linear-gradient(90deg,#d8ff3e0d 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 82%);mask-image:radial-gradient(circle,#000,#0000 82%)}.completion>*{position:relative}.completion-scan{z-index:2;pointer-events:none;background:linear-gradient(#0000,#d8ff3e1a,#0000);height:20%;animation:2.4s ease-out both completion-scan;position:absolute;inset:-20% 0 auto}.completion-fireworks{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.completion-fireworks span{background:var(--acid);opacity:0;transform-origin:50% 12rem;width:4px;height:28px;rotate:var(--spark-rotate);animation:spark-burst 1.25s ease-out var(--spark-delay) both;border-radius:4px;position:absolute;top:26%;left:72%;box-shadow:0 0 10px #d8ff3eb3}.completion-fireworks span:nth-child(3n){background:var(--cyan)}.completion-fireworks span:nth-child(4n){background:var(--orange)}.completion-badge{border:1px solid var(--acid);width:max-content;color:var(--acid);letter-spacing:.1em;background:#d8ff3e14;align-items:center;gap:.65rem;margin-bottom:1rem;padding:.45rem .7rem;font:800 .7rem/1.3 Cascadia Code,monospace;animation:.62s ease-out both success-card-in;display:inline-flex}.completion-badge span{background:var(--acid);width:1.5rem;height:1.5rem;color:var(--ink);border-radius:50%;place-items:center;display:grid}.completion h1{max-width:8ch;font-size:clamp(4.3rem,13vw,10rem);line-height:.82}.completion>p:not(.project-label,.completion-footnote){max-width:42rem;color:var(--paper-dim);margin:2rem 0;font-size:1rem;line-height:1.65}.completion-stats{border-block:1px solid var(--line);grid-template-columns:repeat(3,1fr);max-width:44rem;display:grid}.completion-stats div{border-right:1px solid var(--line);flex-direction:column;padding:1rem;display:flex}.completion-stats div:first-child{padding-left:0}.completion-stats div:last-child{border:0}.completion-stats span{color:#82887d;text-transform:uppercase;font:.62rem/1.4 Cascadia Code,monospace}.completion-stats strong{color:var(--acid);margin-top:.25rem;font-size:1.35rem}.completion-recap{border-left:4px solid var(--acid);background:#d8ff3e12;max-width:44rem;margin-top:1.3rem;padding:1rem 1.1rem}.completion-recap>strong{color:var(--acid);letter-spacing:.1em;font:900 .68rem/1.4 Cascadia Code,monospace}.completion-recap p{color:var(--paper);margin:.5rem 0 .75rem;line-height:1.5}.completion-recap>div{flex-wrap:wrap;gap:.45rem;display:flex}.completion-recap span{color:var(--paper-dim);border:1px solid #4e5837;padding:.35rem .55rem;font:.62rem/1.3 Cascadia Code,monospace}@keyframes completion-scan{to{transform:translateY(650%)}}@keyframes spark-burst{0%{opacity:0;transform:translateY(0)scaleY(.2)}18%{opacity:1}to{opacity:0;transform:translateY(-12rem)scaleY(1)}}.chapter-results{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));width:min(64rem,90vw);margin-top:1.4rem;display:grid}.chapter-results div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:2rem minmax(0,1fr);align-items:center;padding:.65rem .8rem;display:grid}.chapter-results span{color:var(--acid);font:.68rem/1.4 Cascadia Code,monospace}.chapter-results strong{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.chapter-results small{color:#777d73;grid-column:2;margin-top:.18rem;font:.58rem/1.4 Cascadia Code,monospace}.scoreboard{border:1px solid var(--line);background:#121512;width:min(64rem,90vw);margin-top:1.8rem;padding:clamp(1rem,3vw,1.5rem)}.scoreboard-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.scoreboard-heading h2{letter-spacing:-.025em;text-transform:uppercase;margin:0;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:clamp(2.4rem,6vw,4.5rem);line-height:.9}.your-score{text-align:right;min-width:7rem;display:grid}.your-score span,.your-score small{color:#858b81;text-transform:uppercase;font:.58rem/1.3 Cascadia Code,monospace}.your-score strong{color:var(--acid);font-size:2rem;line-height:1}.score-entry{margin-top:1.3rem}.score-entry>label{color:var(--paper);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.45rem;font-size:.75rem;font-weight:800;display:flex}.score-entry label small{color:#777d73;font:400 .58rem/1.4 Cascadia Code,monospace}.score-entry>div{background:#090b09;border:1px solid #4c5447;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.score-entry>div>span{color:var(--acid);align-self:center;padding-left:.8rem;font-family:Cascadia Code,monospace}.score-entry input{min-width:0;color:var(--paper);background:0 0;border:0;outline:0;padding:.85rem .65rem;font-family:Cascadia Code,monospace}.score-entry button{background:var(--acid);color:var(--ink);cursor:pointer;border:0;padding:.75rem 1rem;font-weight:900}.score-entry button:disabled{cursor:default;opacity:.65}.score-message{color:var(--orange);margin:.6rem 0 0;font-size:.75rem}.score-message.success{color:var(--acid)}.score-list{margin:1rem 0 0;padding:0;list-style:none}.score-list li{border-top:1px solid #2f352e;grid-template-columns:2.2rem minmax(7rem,1fr) minmax(9rem,1fr) 4rem;align-items:center;padding:.55rem 0;display:grid}.score-list li>span{color:#6e756b;font:.64rem/1.3 Cascadia Code,monospace}.score-list li>strong{color:var(--paper);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.score-list li>small{color:#747b72;font:.58rem/1.3 Cascadia Code,monospace}.score-list li>b{color:var(--acid);text-align:right;font:800 .9rem/1.3 Cascadia Code,monospace}.score-empty{color:#777d73;border-top:1px solid #2f352e;margin:1rem 0 0;padding-top:.8rem;font-size:.75rem}.score-privacy{color:#656b62;margin:1rem 0 0;font:.58rem/1.5 Cascadia Code,monospace}.completion-actions{flex-wrap:wrap;gap:.7rem;margin-top:1.6rem;display:flex}.completion-actions button,.completion-actions a{border:1px solid var(--acid);background:var(--acid);color:var(--ink);cursor:pointer;padding:.8rem 1rem;font-size:.8rem;font-weight:800;text-decoration:none}.completion-actions button.quiet{border-color:var(--line);color:var(--paper-dim);background:0 0}.completion-footnote{color:#676d64;margin:1.4rem 0 0;font:.65rem/1.5 Cascadia Code,monospace}.game-footer{border-top:1px solid var(--line);color:#6f756c;justify-content:space-between;align-items:center;padding:1rem 1.2rem;font-size:.62rem;display:flex}.game-footer>span:last-child{gap:1rem;display:flex}.game-footer a:hover{color:var(--acid)}@media (max-width:1280px){.game-layout{grid-template-columns:220px minmax(0,1fr)}.blueprint-panel{border-top:1px solid var(--line);border-left:0;grid-column:2;height:auto;position:relative;top:auto}.blueprint{max-width:680px}}@media (max-width:820px){.game-header{min-height:66px}.brand-button{padding:0 .75rem}.brand-button strong{font-size:1.05rem}.brand-button small,.system-stats div:nth-child(2),.system-stats div:nth-child(3){display:none}.system-stats div{min-width:66px;padding:0 .65rem}.system-stats button{padding:0 .7rem}.game-layout{flex-direction:column;display:flex}.mission-rail{z-index:20;border-right:0;border-bottom:1px solid var(--line);width:100%;height:auto;position:sticky;top:66px;overflow-x:auto}.rail-heading{display:none}.mission-rail ol{width:max-content;display:flex}.mission-rail li{border-bottom:0;border-right:1px solid #292e28;width:72px}.mission-rail button{grid-template-columns:1fr;place-items:center;min-height:58px;padding:.55rem;display:grid}.mission-nav-copy,.lock-glyph{display:none}.mission-number{width:29px}.puzzle-panel{padding:1.3rem 1rem 2.5rem}.mission-meta{margin-bottom:1.4rem}.huge-number{font-size:3.8rem}.mission-title-row h1{font-size:clamp(2rem,10vw,3.5rem)}.learning-debrief dl{grid-template-columns:1fr}.learning-debrief dl div:nth-child(odd){border-right:0}.blueprint-panel{padding:1rem}.game-footer{flex-direction:column;align-items:flex-start;gap:.7rem}}@media (max-width:540px){.start-screen{place-items:start;padding:1.25rem}.start-terminal{margin-bottom:3rem}.start-shell h1{margin-left:-.05em;font-size:clamp(4.5rem,24vw,7rem)}.start-specs{flex-wrap:wrap}.start-specs div{min-width:33%;padding:.8rem .45rem}.start-specs span{font-size:.64rem}.brand-mark{display:none}.system-stats button{font-size:.62rem}.mission-title-row{gap:.8rem}.huge-number{font-size:3.1rem}.mission-subtitle{font-size:.8rem}.terminal-output pre{min-height:112px;padding:.85rem}.challenge{margin-inline:-.25rem;padding:1rem}.terminal-input-row{grid-template-columns:auto minmax(0,1fr)}.terminal-input-row button{grid-column:1/-1;min-height:44px}.chapter-success{place-items:start center;padding:1rem}.chapter-success-card{padding:1.5rem 1rem}.success-orbit{width:4.5rem;height:4.5rem}.success-orbit span{font-size:2.2rem}.chapter-success-stats{grid-template-columns:repeat(2,1fr)}.chapter-success-stats div:nth-child(2){border-right:0}.chapter-success-stats div:nth-child(-n+2){border-bottom:1px solid var(--line)}.completion{place-content:start center;padding:2rem 1.2rem}.completion h1{font-size:clamp(4rem,22vw,6.4rem)}.completion-stats strong{font-size:1rem}.completion-fireworks span{top:18%;left:70%}.completion-recap>div{flex-direction:column;align-items:stretch}.chapter-results{grid-template-columns:1fr;width:100%}.scoreboard{width:100%}.scoreboard-heading{align-items:flex-end}.score-entry>label{flex-direction:column;align-items:flex-start;gap:.2rem}.score-entry>div{grid-template-columns:auto minmax(0,1fr)}.score-entry button{grid-column:1/-1;min-height:44px}.score-list li{grid-template-columns:1.7rem minmax(0,1fr) 3.5rem}.score-list li>small{display:none}.completion-actions{flex-direction:column;align-items:stretch}.completion-actions button,.completion-actions a{text-align:center}}.feedback-box.wrong{animation:.42s ease-out both error-shake}.feedback-box.wrong .penalty-line{letter-spacing:.06em;color:#9a311c;margin-top:.6rem;font:900 .72rem/1.4 Cascadia Code,monospace}.feedback-box.wrong .solution-line{margin-top:.5rem}.feedback-box.wrong .solution-line code{overflow-wrap:anywhere;font-weight:700}.feedback-box.wrong .strike-line{opacity:.8;margin-top:.4rem;font-size:.78rem}.feedback-box.wrong .advance-note{letter-spacing:.04em;margin-top:.5rem;font:700 .72rem/1.4 Cascadia Code,monospace}.auto-advance-bar{transform-origin:0;background:#9a311c;height:3px;margin-top:.8rem;animation:linear forwards auto-advance;display:block}@keyframes error-shake{0%,to{translate:0}20%{translate:-6px}40%{translate:5px}60%{translate:-3px}80%{translate:2px}}@keyframes auto-advance{0%{scale:1}to{scale:0 1}}.strike-reset{background:radial-gradient(circle at 50% 42%, #ff5f562e, transparent 24rem), var(--ink);isolation:isolate;place-items:center;min-height:100svh;padding:clamp(1.5rem,5vw,4rem);display:grid;position:relative;overflow:hidden}.strike-scan{z-index:-2;background-image:linear-gradient(#ff5f5612 1px,#0000 1px);background-size:100% 6px;position:absolute;inset:0}.strike-reset-card{text-align:center;background:#101310f0;border:1px solid #9a311c;width:min(100%,44rem);padding:clamp(1.5rem,5vw,3.5rem);animation:.62s cubic-bezier(.2,.8,.2,1) both success-card-in;box-shadow:0 0 0 1px #ff5f561a,0 30px 90px #00000073}.strike-orbit{border:1px solid var(--danger);width:5rem;height:5rem;color:var(--danger);border-radius:50%;place-items:center;margin:0 auto 1.5rem;font:900 2.2rem/1 Cascadia Code,monospace;animation:1.6s ease-in-out infinite strike-pulse;display:grid}.strike-reset-card h1{color:var(--paper);margin:.6rem 0 0}.strike-reset-summary{max-width:34rem;color:var(--paper-dim);margin:1rem auto 0;line-height:1.6}.strike-reset-card>button{background:var(--danger);color:var(--ink);cursor:pointer;letter-spacing:.02em;border:0;margin-top:2rem;padding:.9rem 1.4rem;font-weight:900}.strike-reset-card>button:hover{background:var(--orange)}@keyframes strike-pulse{0%,to{box-shadow:0 0 #ff5f5666}50%{box-shadow:0 0 0 14px #ff5f5600}}.study-sheet{width:min(100%,48rem);color:var(--paper);margin:0 auto;padding:clamp(1.5rem,4vw,3rem) 1.25rem 4rem}.study-sheet-actions{flex-wrap:wrap;gap:.75rem;margin-bottom:2.5rem;display:flex}.study-sheet-actions button{background:var(--acid);color:var(--ink);cursor:pointer;border:0;padding:.8rem 1.1rem;font-weight:800}.study-sheet-actions button.quiet{border:1px solid var(--line);color:var(--paper-dim);background:0 0}.study-sheet-meta{color:var(--paper-dim);margin:.6rem 0 2.5rem;font:700 .78rem/1.6 Cascadia Code,monospace}.study-sheet h2{letter-spacing:.02em;margin:2.5rem 0 1rem;font-size:1.1rem}.study-sheet-entry{border-left:3px solid var(--danger);background:#1d211d99;margin:1.25rem 0;padding:.9rem 1.25rem}.study-sheet-entry h3{margin:0 0 .75rem;font-size:.95rem}.study-sheet-entry dl{margin:0}.study-sheet-entry dl>div{grid-template-columns:8rem 1fr;gap:.5rem;padding:.2rem 0;display:grid}.study-sheet-entry dt{color:var(--paper-dim);letter-spacing:.06em;text-transform:uppercase;font:700 .7rem/1.6 Cascadia Code,monospace}.study-sheet-entry dd{margin:0;font-size:.88rem;line-height:1.55}.study-sheet-entry code{color:var(--acid);overflow-wrap:anywhere}.study-sheet-balance{color:var(--paper-dim);margin:0;padding-left:1.25rem;font-size:.85rem;line-height:1.9}@media (max-width:40rem){.study-sheet-entry dl>div{grid-template-columns:1fr;gap:.15rem}}@media print{.study-sheet-actions,.game-header,.game-footer,.mission-rail{display:none!important}body,.study-sheet{color:#000;background:#fff;width:auto;max-width:none;padding:0}.study-sheet-meta,.study-sheet-entry dt,.study-sheet-balance{color:#333}.study-sheet-entry{break-inside:avoid;background:0 0;border-left:2px solid #666}.study-sheet-entry code{color:#000}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
