:root{color-scheme:dark;--bg:#0c1216;--panel:#121d23;--line:#304147;--text:#edf0e6;--muted:#aebdbb;--gold:#e9bf73;--green:#94d6bb}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 system-ui,Segoe UI,sans-serif}a{color:var(--gold);text-underline-offset:4px}header{padding:22px 4vw;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px}header nav{display:flex;flex-wrap:wrap;gap:20px;font-size:.85rem}header nav a{text-decoration:none;color:var(--muted)}.brand{display:flex;gap:14px;align-items:center;text-decoration:none;font-size:34px;font-weight:850;color:var(--gold)}.brand span{font-size:18px;letter-spacing:3px;color:var(--text)}.brand small{display:block;font-size:9px;letter-spacing:2px;color:var(--muted)}main{max-width:1480px;margin:auto;padding:42px 4vw 70px}.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:.72rem;color:var(--green);font-weight:700}h1,h2,h3,p{margin-top:0}h1{font:clamp(2.8rem,6vw,6rem)/1.04 Georgia,serif;font-weight:400;letter-spacing:-2px;margin:20px 0 25px}h2{font:2rem/1.15 Georgia,serif}h3{font-size:1.05rem}.lead{color:var(--muted);max-width:660px;font-size:1.15rem}.hero{padding:30px 0 50px;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:50px}.hero-image{width:100%;image-rendering:pixelated;aspect-ratio:8/7;object-fit:contain;background:#020608;border:1px solid var(--line)}.hero-image[hidden]{display:none}.button,button{border:1px solid var(--line);border-radius:3px;background:#1c3035;color:var(--text);padding:10px 15px;cursor:pointer;font:inherit;font-size:.85rem;display:inline-block}.button{text-decoration:none;background:var(--gold);color:#172124;font-weight:700;padding:14px 23px}button:hover,.button:hover{filter:brightness(1.15)}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:4px}input{accent-color:var(--green)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card,.note,.cheats,.player-shell{background:var(--panel);border:1px solid var(--line);padding:26px}.card .number{font:2.7rem/1.2 Georgia,serif;color:var(--gold);display:block;margin:18px 0}.card p,.note p{color:var(--muted)}.card a{font-weight:600}.note{margin-top:30px}.pill{display:inline-block;border:1px solid var(--line);padding:3px 8px;color:var(--green);font-size:.72rem;letter-spacing:1px}.play-heading h1{font-size:clamp(2.5rem,4vw,4.2rem)}.play-heading{margin-bottom:30px}.play-layout{display:grid;grid-template-columns:minmax(230px,290px) minmax(420px,1fr) minmax(180px,220px);gap:18px;align-items:start}.player-shell{padding:0;min-width:0}.player-meta{padding:10px 15px;display:flex;justify-content:space-between;gap:8px;font-size:.67rem;letter-spacing:1px;color:var(--muted);text-transform:uppercase}.game-stage{position:relative;aspect-ratio:8/7;background:#000;min-height:300px;isolation:isolate}#original-game{width:100%;height:100%;position:absolute;inset:0}.boot-card{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0,#244243,#071014 75%);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px;z-index:2}.boot-card[hidden]{display:none}.boot-card h2{font-size:2.6rem}.boot-card p{max-width:370px;color:var(--muted)}.boot-card button{background:var(--gold);color:#0c1216;font-weight:700}.toolbar{padding:15px;display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--line)}.toolbar button{touch-action:none;user-select:none;font-size:.75rem;padding:7px 10px}.toolbar label{display:flex;align-items:center;gap:6px;font-size:.75rem}.toolbar input[type=range]{max-width:100px}.player-status{font-size:.8rem;padding:0 15px;color:var(--muted);min-height:2.8em}.controller{padding:18px;display:flex;justify-content:space-between;gap:15px;align-items:center;flex-wrap:wrap}.controller button{min-width:35px;touch-action:none;user-select:none}.dpad{display:grid;grid-template-columns:repeat(3,35px);grid-template-rows:repeat(3,35px);gap:3px}.up{grid-column:2}.left{grid-column:1;grid-row:2}.down{grid-column:2;grid-row:3}.right{grid-column:3;grid-row:2}.face-pad{display:grid;grid-template-columns:repeat(2,40px);gap:4px}.centre-pad{display:flex;flex-wrap:wrap;gap:5px;max-width:130px}.cheats{padding:20px;position:sticky;top:16px}.cheats h2{font-size:1.6rem}.cheat-item{display:block;padding:18px 0;border-bottom:1px solid var(--line);font-size:.85rem}.cheat-item input{margin-right:7px;width:17px;height:17px}.cheat-item small{display:block;color:var(--muted);margin-top:6px;font-size:.72rem}.cheats p{font-size:.73rem;color:var(--muted)}.cheats button{width:100%;margin-top:15px;font-size:.75rem}.controls-note{font-size:.85rem;color:var(--muted);padding:0 15px 18px}.save-note{font-size:.75rem;color:var(--muted);padding:0 15px}.wide-note{margin-top:25px;color:var(--muted);font-size:.85rem}.skip{position:absolute;top:-100px}.skip:focus{top:10px;left:10px;z-index:99}footer{margin:0 4vw;border-top:1px solid var(--line);padding:30px 0;font-size:.75rem;color:var(--muted)}footer p{margin:4px 0}.timeline{max-width:800px}.timeline article{padding:30px 0;border-bottom:1px solid var(--line)}.timeline li{margin:10px 0}.ejs_parent{position:absolute!important;inset:0!important}.game-stage:fullscreen{aspect-ratio:auto;height:100vh;width:100vw}.game-stage:fullscreen #original-game{max-width:114.3vh;margin:auto}details>summary{cursor:pointer}code{color:var(--green);overflow-wrap:anywhere}@media(min-width:1600px){main{max-width:1760px}}@media(max-width:1100px){.play-layout{grid-template-columns:260px minmax(0,1fr)}.cheats{grid-column:2;position:static}.hero{gap:30px}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){header{align-items:flex-start;flex-direction:column;padding:18px 5vw}header nav{gap:12px}main{padding:25px 5vw 45px}.hero{grid-template-columns:1fr;gap:24px;padding:15px 0 32px}.hero-image{max-width:420px}.cards{grid-template-columns:1fr}.play-layout{display:flex;flex-direction:column}.play-layout>*{width:100%}#walkthrough-panel{max-height:350px;overflow:auto;order:1}.player-shell{order:0}.cheats{order:2}.game-stage{min-height:250px}.card{padding:22px}h1{letter-spacing:-1px}.controller{padding:12px}}.button-art{margin-top:10px}.art-feature{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,1.65fr);gap:32px;align-items:center;padding:30px;margin:0 0 34px;background:var(--panel);border:1px solid var(--line)}.art-feature h2{font-size:clamp(2.4rem,4vw,4rem);margin:12px 0 18px}.art-feature p{color:var(--muted)}.art-credit{font-size:.78rem}.art-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.art-preview-grid img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;border:1px solid var(--line)}.player-art-link{display:inline-flex;align-items:center;border:1px solid var(--gold);padding:7px 10px;font-size:.78rem;text-decoration:none;color:var(--gold)}@media(max-width:720px){.art-feature{grid-template-columns:1fr;padding:22px;gap:24px}.art-preview-grid{gap:8px}.art-feature .button{padding:12px;font-size:.8rem}.button-art{margin-left:0}.player-art-link{width:100%;justify-content:center}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}