:root{--arcade-font:"Courier New", monospace;font-family:var(--arcade-font);color:#f2f0ea;background:#101117;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}.shell{max-width:1100px;margin:auto;padding:0 32px}.topbar{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #292a34}.brand{font-weight:750;font-size:19px;letter-spacing:-.7px}.accent{color:#ad9aff}.status,.game-hint{color:#9495a4;font-size:12px}.status-dot{display:inline-block;background:#8ed7b0;width:7px;height:7px;border-radius:50%;margin-right:8px}.intro{padding:100px 0 104px;max-width:900px}.eyebrow{font-family:ui-monospace,monospace;font-size:11px;letter-spacing:2px;color:#b2a0ff;text-transform:uppercase}.intro h1{font-size:clamp(45px,7.2vw,92px);line-height:1.09;letter-spacing:-.065em;margin:26px 0 28px;font-weight:740}.intro h1 em{font-style:normal;color:#b3a2ff}.intro-copy{color:#aaaab6;max-width:520px;line-height:1.8;font-size:16px}.play{border-top:1px solid #292a34;padding:54px 0 90px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.section-heading h2{font-size:clamp(24px,3.4vw,36px);letter-spacing:-.04em;margin:10px 0 0}.game-wrap{background:#141720;border:1px solid #30313e;border-radius:16px;overflow:hidden;box-shadow:0 30px 90px #0003}canvas{width:100%;height:auto;display:block;image-rendering:pixelated;outline-offset:-5px}.game-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 25px;border-top:1px solid #30313e;font-size:13px;color:#b9bbc8}.game-actions{display:flex;gap:12px}.game-actions button,.controls button{border:1px solid #45465b;background:#242635;color:#f2f0ea;padding:10px 15px;border-radius:8px}.game-actions button:hover,.controls button:hover{background:#34374a}.mobile-tip{color:#8f90a0;font-size:12px;margin-top:18px}.controls{display:grid;justify-content:center;text-align:center;gap:5px;margin-top:20px}.controls>div{display:flex;gap:5px}.controls button{min-width:52px;min-height:44px}footer{border-top:1px solid #292a34;padding:30px 0 45px;display:flex;justify-content:space-between;gap:20px;color:#777988;font-size:12px}@media(max-width:650px){.shell{padding:0 18px}.topbar{height:78px}.status{font-size:0}.status-dot{margin:0}.intro{padding:70px 0 76px}.intro h1{font-size:clamp(39px,10vw,65px)}.section-heading{display:block}.game-hint{display:block;margin-top:12px}.game-footer{padding:15px;align-items:flex-start;flex-direction:column}footer{flex-direction:column}.play{padding-bottom:60px}}:root{--ink:#0b0d18;--panel:#171a2b;--line:#42445e;--violet:#bca6ff;--mint:#a4f2cc;--gold:#ffd38d;background:radial-gradient(ellipse at 50% 0%,#29223f,#111322 42%,#0b0d18);color:#f5f0ff}body{min-height:100vh}.topbar{border-color:#3b3552}.intro{padding-top:78px;padding-bottom:82px}.intro h1{max-width:980px;text-shadow:0 5px 0 #0b0d18}.intro h1 em{color:var(--violet)}.eyebrow{color:var(--gold)}.intro-copy{color:#c0bbd0}.play{border-color:#3b3552}.section-heading h2{color:#fff7e8}.game-wrap{position:relative;background:#1a1722;border:3px solid #815a4c;border-radius:14px;box-shadow:0 0 0 6px #1d1b2c,0 0 0 8px #383149,0 24px #090a12,0 42px 80px #0009}canvas{background:#141720}.game-footer{background:#29212b;border-top:2px solid #765243;flex-wrap:wrap}#game-status{flex:1 1 230px;line-height:1.55;color:#f0e6ff}.game-actions{display:flex;flex-wrap:wrap;justify-content:flex-end}.game-actions button,.controls button{border:2px solid #71658e;border-bottom-width:4px;background:#312c46;color:#fff6e9;border-radius:7px;font-weight:700;transition:background .15s,transform .15s}.game-actions button:hover,.controls button:hover{background:#4b406b}.game-actions button:active,.controls button:active{transform:translateY(2px);border-bottom-width:2px}.game-actions button:focus-visible,.controls button:focus-visible{outline:3px solid var(--mint);outline-offset:3px}#next{background:#33745e;border-color:#a4f2cc;color:#f7fff9}#next:hover{background:#418b71}button[hidden]{display:none!important}.mobile-tip{color:#b2a8c9;line-height:1.7}.controls button{min-width:58px;min-height:50px;font-size:19px;touch-action:manipulation}footer{border-color:#3b3552}@media(max-width:650px){.intro{padding-top:58px;padding-bottom:64px}.game-wrap{box-shadow:0 0 0 3px #1d1b2c,0 0 0 5px #383149,0 12px #090a12,0 25px 40px #0008}.game-footer{gap:14px}.game-actions{justify-content:flex-start;gap:8px}.game-actions button{padding:10px;font-size:12px}.controls button{min-width:50px}}@media(prefers-reduced-motion:reduce){.game-actions button,.controls button{transition:none}}.site-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 20px;font:700 13px/1.4 var(--arcade-font)}.site-nav a:hover{color:var(--gold)}.site-nav a:focus-visible{outline:2px solid var(--mint);outline-offset:4px}.game-wrap,.game-actions button,.controls button{border-radius:0}.game-actions button:active,.controls button:active{border-bottom-width:4px}@media(max-width:650px){.site-nav{gap:6px 12px;font-size:12px}}.cabinet-header{display:flex;justify-content:space-between;gap:12px;padding:12px 18px;color:var(--gold);background:#322630;border-bottom:2px solid #815a4c;font:700 12px/1.4 var(--arcade-font);letter-spacing:.08em}.cabinet-header span:last-child{color:#e7b996}#game:focus-visible{outline:2px solid var(--mint)}.game-footer{display:grid;grid-template-columns:minmax(0,1fr) auto}.game-actions button,.controls button{min-height:44px;font-family:var(--arcade-font)}.controls{margin-top:0}.controls button{color:var(--gold)}@media(max-width:800px){.game-footer{grid-template-columns:1fr}.game-actions{justify-content:flex-start}}.cabinet-header{align-items:center}.challenge-progress{display:flex;list-style:none;margin:0;padding:0}.challenge-progress li{position:relative;display:grid;place-items:center;width:29px;height:29px;margin-left:9px;border:2px solid #8b709f;border-radius:50%;color:#d4bddf;letter-spacing:0}.challenge-progress li+li:before{position:absolute;right:100%;width:11px;height:2px;background:#8b709f;content:""}.challenge-progress [data-state=done]{background:#28574e;color:#e3ffed;border-color:#83d2a5}.challenge-progress [data-state=current]{color:#ffe4a2;border-color:#ffd080}.game-scene{display:flex;align-items:stretch;background:#191325}.game-scene #game{min-width:0;flex:1;align-self:center}#office-dialogue{flex:0 0 170px;display:grid;align-content:center;gap:20px;padding:14px;border-right:2px solid #644567;color:#f7e7fb}#office-dialogue[hidden],.controls[hidden]{display:none}.dialogue{display:grid;grid-template-columns:42px 1fr;gap:8px;align-items:start}.dialogue canvas{width:42px;height:48px;image-rendering:pixelated}.dialogue p{display:grid;gap:4px;margin:0;font:12px/1.45 var(--arcade-font)}.dialogue strong{color:#ffc894}.game-footer{grid-template-columns:1fr}.game-actions{justify-content:flex-start}.game-actions .controls:not([hidden]){display:flex;gap:4px}.controls button{min-width:44px;min-height:44px;padding:6px}@media(max-width:720px){.game-scene{display:block}#office-dialogue{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-right:0;border-bottom:2px solid #644567}.dialogue{grid-template-columns:32px 1fr;gap:6px}.dialogue canvas{width:32px;height:38px}.dialogue strong{position:absolute;clip-path:inset(50%)}}@media(max-width:390px){.cabinet-header{padding-inline:8px;gap:4px;letter-spacing:0}.challenge-progress li{width:24px;height:24px}}@media(max-width:800px){.game-wrap{overflow:clip}.game-footer{position:sticky;bottom:0;z-index:1;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));gap:6px}.game-actions{gap:6px}.game-actions button{padding:6px 9px}.game-actions .controls:not([hidden]){flex:1 0 100%}.game-actions .controls button{flex:1}}@media(max-width:800px){.game-actions .cable-controls:not([hidden]){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch}.cable-controls button{min-height:48px}.cable-controls [data-move="0"]{grid-area:1 / 2}.cable-controls [data-move="3"]{grid-area:2 / 1}.cable-controls [data-move="2"]{grid-area:2 / 2}.cable-controls [data-move="1"]{grid-area:2 / 3}}#high-scores{flex:1;width:100%;padding:clamp(12px,4vw,32px);margin-block:12px;border:3px solid #765243;background:radial-gradient(ellipse at 50% 20%,#312630,#1a1722 75%);color:#fff6e9}#high-scores>:not(.high-scores-heading){max-width:42rem;margin-inline:auto}.high-scores-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.high-scores-heading h2{margin:0;color:#efbd91;font-size:clamp(1.25rem,6vw,2.5rem);letter-spacing:.08em;text-transform:uppercase;text-shadow:2px 2px #4a302e}.screen-back{display:inline-grid;place-items:center;min-height:44px;padding-inline:12px;border:2px solid #71658e;background:#312c46}.rank-table{width:100%;table-layout:fixed;border-collapse:collapse;margin-top:14px;font-size:clamp(.85rem,3.5vw,1.15rem);font-weight:700;font-variant-numeric:tabular-nums}.rank-table th,.rank-table td{padding:6px 4px;text-align:left}.rank-table th{color:#efbd91;border-bottom:1px solid #765243;text-transform:uppercase}.rank-table th:first-child{width:22%}.rank-table th:nth-child(2){width:33%}.rank-table :is(th,td):nth-child(2){text-align:right;padding-right:10px}.rank-table td{overflow-wrap:anywhere}.rank-table tr:nth-child(odd) td{background:#29212b}.rank-table tbody tr:first-child{color:#efbd91}.rank-table tbody tr:nth-child(2){color:#b6ebd0}#leaderboard-status{text-align:center}#leaderboard-status:empty{display:none}.leaderboard-personal{margin-top:16px;padding-top:8px;border-top:1px solid #765243}.leaderboard-personal h3,.leaderboard-personal p{margin:4px 0;font-size:.875rem}.leaderboard-personal h3{color:#efbd91;text-transform:uppercase}#score-form button{min-height:44px;padding:6px 10px;border:1px solid #a77b6a;background:#392b40;color:#fff0df}#score-form{text-align:center}#score-form label{display:block;margin-bottom:4px;color:var(--screen-gold)}#ranked-score{margin:4px 0 10px;color:var(--mint)}#score-nickname{width:5ch;min-height:44px;padding:4px 6px;border:2px solid #96799e;border-radius:0;background:#171323;color:var(--screen-gold);text-align:center;text-transform:uppercase;font:700 1.25rem var(--arcade-font);letter-spacing:.08em}#score-nickname::placeholder{color:#bba2bd}#score-nickname:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.score-fields{display:grid;grid-template-columns:repeat(2,minmax(0,5.5rem));justify-content:center;gap:6px;margin-top:8px}#score-form .score-fields button{font-size:.875rem;font-weight:700;padding:4px 6px}#score-form button[type=submit]:not(:disabled){background:var(--screen-gold);border-color:#ffe4b5;color:#291a30}#score-save-status:empty{display:none}@media(max-width:520px){.cabinet-header{flex-wrap:wrap}.cabinet-header .challenge-progress{order:1}}.game-scene{position:relative}#score-form:not([hidden]){position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;margin:auto;width:min(17rem,calc(100% - 16px));height:fit-content;max-height:100%;overflow:auto;padding:8px 12px;border:2px solid #815a4c;background:#29212b;color:#fff0df}#score-form h3{margin:0 0 4px;font-size:1rem}.brand-lockup{display:flex;align-items:center;gap:12px}#brand-flip{display:grid;place-items:center;width:48px;height:48px;padding:4px;border:1px solid #ffe4b5;background:#ffe4b5;box-shadow:3px 3px #080911}#brand-flip:focus-visible{outline:2px solid var(--mint);outline-offset:3px}.brand-mosaic{display:grid;width:100%;grid-template-columns:repeat(9,minmax(0,1fr));gap:1px}.brand-tile{aspect-ratio:1;background:#ffe4b5}.brand-tile[data-on=true]{background:#513260}:root{--cabinet-edge: #655376;--screen-ink: #171323;--screen-gold: #ffce83;--screen-text: #fff0df;background:#100d18;color:var(--screen-text);font-family:var(--arcade-font)}.arcade-shell{width:min(1100px,calc(100% - 24px));margin-block:16px;padding-inline:clamp(12px,3vw,32px);background:#20172d;border:4px solid var(--cabinet-edge);box-shadow:0 5px #0b0810,inset 0 0 0 2px #100d18}.topbar{height:auto;min-height:80px;flex-wrap:wrap;gap:12px;padding-block:12px;border-color:var(--cabinet-edge)}.site-nav{justify-content:flex-start;gap:8px}.site-nav a,.site-nav button,.start-button,footer a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:6px 12px;border:2px solid #96799e;background:#30233c;color:var(--screen-text);box-shadow:0 3px #100d18;font-weight:700}.site-nav a:hover,.site-nav button:hover,footer a:hover{background:#483356;color:var(--screen-gold)}#crt-toggle[aria-pressed=true]{color:var(--mint);border-color:#78b49a}.arcade-shell :is(button,a):focus-visible{outline:2px solid var(--mint);outline-offset:3px}.arcade-shell .intro{position:relative;isolation:isolate;overflow:clip;border-radius:12px;max-width:none;margin-top:16px;padding:clamp(24px,6vw,64px) 12px;text-align:center;border:3px solid var(--cabinet-edge);background:radial-gradient(ellipse at 50% 30%,#382644,var(--screen-ink) 72%)}.arcade-shell .intro h1{margin:0;color:var(--screen-gold);font-size:clamp(2.75rem,10vw,6rem);line-height:1;letter-spacing:-.07em;text-transform:uppercase;text-shadow:3px 3px #7a4465,6px 6px #140e20}.intro-tagline{color:var(--mint);font-weight:700;line-height:1.5}.arcade-shell .intro-copy{margin:0 auto 20px;color:#e2cfeb}.start-button{background:#ffce83;border-color:#ffe4b5;color:#291a30}.start-button:hover{background:#ffe4b5}.arcade-shell .play{padding-block:24px 36px;border:0}.arcade-shell .section-heading{margin-bottom:12px}.arcade-shell footer{align-items:center;padding-block:12px;border-color:var(--cabinet-edge);color:#e2cfeb}.game-scene{overflow:clip;isolation:isolate;border:3px solid #110e1a;border-radius:12px}:is(.game-scene,#title-screen):after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;border-radius:inherit;background:repeating-linear-gradient(0deg,#07051320 0 1px,transparent 1px 4px),radial-gradient(ellipse at center,transparent 55%,#100b2366 100%);box-shadow:inset 2px 0 #ba627b30,inset -2px 0 #558eb830}:is(.game-scene,#title-screen):before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:linear-gradient(transparent 37%,#c4b4e224 49%,transparent 52%);animation:crt-roll 12s linear infinite}#score-form:not([hidden]){z-index:3}.crt-off :is(.game-scene,#title-screen):before,.crt-off :is(.game-scene,#title-screen):after{display:none}@keyframes crt-roll{0%{transform:translateY(-70%);opacity:0}72%{transform:translateY(-70%);opacity:0}78%{opacity:.6}94%,to{transform:translateY(70%);opacity:0}}@media(prefers-reduced-motion:reduce){:is(.game-scene,#title-screen):before{animation:none;display:none}}.arcade-shell{width:100%;max-width:none;min-height:100svh;margin:0;display:flex;flex-direction:column;padding-inline:clamp(10px,3vw,48px)}.arcade-shell>[hidden]{display:none}.arcade-shell .intro{display:grid;place-content:center;justify-items:center;flex:1;min-height:min(32rem,70svh);margin-block:12px}.arcade-shell .intro[hidden]{display:none}.title-cast{display:grid;grid-template-columns:minmax(0,92px) minmax(0,auto) minmax(0,92px);align-items:center;gap:clamp(4px,3vw,32px)}.title-cast figure{margin:0;color:var(--screen-gold);font-size:.8rem}.title-cast canvas{background:transparent}.arcade-shell .play{flex:1;width:min(100%,1120px);margin-inline:auto}.arcade-shell footer{margin-top:auto}.arcade-shell .intro h1{font-size:clamp(2rem,9vw,6rem)}#app:not(.crt-off):after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;background:repeating-linear-gradient(0deg,#08051012 0 1px,transparent 1px 4px)}:is(.game-scene,#title-screen):after{background:radial-gradient(ellipse at center,transparent 55%,#100b2366 100%)}@media(max-width:520px){.arcade-shell{border-width:2px}.topbar{gap:8px}.site-nav{width:100%}.site-nav a,.site-nav button{flex:1 0 auto;padding-inline:6px}.arcade-shell .intro{padding-inline:4px}.title-cast{grid-template-columns:minmax(0,48px) minmax(0,auto) minmax(0,48px)}.title-cast figure{font-size:.65rem}.arcade-shell footer{flex-direction:row;flex-wrap:wrap}}.arcade-shell .intro h1{font-family:var(--arcade-font);font-size:clamp(1.5rem,6vw,4rem);letter-spacing:.025em;text-shadow:2px 2px #9d5261,4px 4px #140e20}.mobile-cast{display:none}.is-playing .section-heading{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.is-playing .arcade-shell>footer{display:none}@media(min-width:721px)and (min-height:570px){.is-playing .arcade-shell{height:100dvh}.is-playing .topbar{min-height:60px;padding-block:4px}.arcade-shell .play{min-height:0;padding-block:8px;display:grid}.arcade-shell .play[hidden]{display:none}.play .game-wrap{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.play .game-scene{container-type:size;justify-content:center}.play .game-scene #game{flex:none;width:min(100%,160cqh)}.play .game-scene:has(#office-dialogue:not([hidden])) #game{width:min(calc(100% - 170px),160cqh)}.play .game-footer{padding:8px 12px;gap:6px}.play .cabinet-header{padding-block:6px}}@media(max-width:720px){.arcade-shell .play{padding-block:8px 16px}.mobile-cast{display:flex;justify-content:space-around;padding:3px}.mobile-cast canvas{width:32px;background:transparent}.game-wrap:has(#office-dialogue:not([hidden])) .mobile-cast{display:none}}.arcade-button{min-height:44px;padding:6px 12px;border:2px solid #71658e;background:#312c46;color:#fff6e9;font-weight:700}.arcade-button:hover{background:#4b406b}#challenge-help,#continue-screen{border:2px solid #815a4c;background:#171323;color:#fff0df;padding:clamp(8px,3vw,24px)}#challenge-help{width:min(26rem,calc(100% - 24px))}#challenge-help::backdrop{background:#100d20dd}#challenge-help p{line-height:1.5}#next{position:absolute;z-index:3;left:50%;bottom:10%;transform:translate(-50%);white-space:nowrap;color:#291a30;background:#ffce83;border-color:#ffe4b5}#continue-screen:not([hidden]){position:absolute;z-index:3;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center;overflow:auto}#continue-screen h2,#continue-screen p{margin:0 0 6px}#continue-screen h2,#continue-screen strong{text-transform:uppercase}#continue-screen strong{color:#ffce83}.continue-actions{display:flex;justify-content:center;gap:12px;margin-top:8px}.game-footer{grid-template-rows:minmax(2.6em,auto) auto}#game-status{line-height:1.3;min-height:2.6em}.game-actions{min-height:44px}@media(min-width:801px){.game-footer{grid-template-rows:2.6em 44px}}@media(max-width:800px){.game-footer[data-mode=move] .game-actions{min-height:94px}.game-footer[data-mode=snake] .game-actions{min-height:100px}}@media(min-width:721px)and (max-width:800px){.game-footer{grid-template-rows:2.6em auto}}
