:root{color-scheme:dark;--bg:#0c141b;--panel:#121f28;--ink:#e7e5d7;--muted:#91aaa9;--line:#2a4148;--mint:#8fd8c5;--ochre:#e5ad55}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Consolas,'Courier New',monospace;font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}a:hover{color:var(--mint)}button{font:inherit;color:var(--muted);background:transparent;border:1px solid var(--line);padding:5px 9px;cursor:pointer;font-size:11px}button:hover,button:focus-visible{color:var(--ink);border-color:var(--mint)}.masthead{max-width:1320px;margin:auto;display:flex;align-items:center;gap:55px;padding:28px 40px;border-bottom:1px solid var(--line)}.wordmark{font-size:23px;font-weight:bold;letter-spacing:3px}.wordmark span{color:var(--mint)}nav{display:flex;gap:25px;color:var(--muted);font-size:12px}.tag{margin-left:auto;color:var(--muted);font-size:10px;letter-spacing:1px}main{max-width:1320px;margin:auto;padding:0 40px}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding:54px 0 34px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--mint);margin:0 0 12px}h1{font-size:clamp(28px,3.6vw,46px);line-height:1.12;font-weight:500;letter-spacing:-2px;margin:0}h2{font-size:22px;font-weight:500;line-height:1.3;margin:0}.lede{max-width:445px;color:var(--muted);font-family:system-ui,sans-serif;font-size:15px;line-height:1.8;margin:0}.lede span{color:#b7c4bf}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:28px}.game-shell{background:#080f16;border:1px solid var(--line);align-self:start;box-shadow:0 20px 70px #0004}.game-toolbar{height:43px;display:flex;justify-content:space-between;align-items:center;gap:6px;padding:0 12px;font-size:9px;letter-spacing:1px;color:var(--muted)}.game-toolbar>div{display:flex;gap:6px}.game-toolbar i{display:inline-block;width:6px;height:6px;background:var(--mint);margin-right:5px}canvas{display:block;width:100%;height:auto;aspect-ratio:16/9;image-rendering:pixelated;outline:0;cursor:crosshair}canvas:focus-visible{outline:2px solid var(--mint);outline-offset:-2px}canvas:fullscreen{height:100vh;max-width:100vw;object-fit:contain;background:#080f16}.game-caption{min-height:38px;display:flex;align-items:center;justify-content:space-between;padding:7px 12px;gap:15px;font-size:9px;color:var(--muted);border-top:1px solid var(--line)}.game-caption>span:last-child{white-space:nowrap;font-size:8px}.field-notes{padding:0 0 0 6px}.field-notes h2{font-size:21px}.field-notes ol{padding:0;list-style:none;counter-reset:steps;margin:22px 0}.field-notes li{position:relative;padding-left:26px;margin-bottom:19px;counter-increment:steps}.field-notes li:before{content:'0' counter(steps);position:absolute;left:0;top:0;color:var(--ochre);font-size:10px}.field-notes b{font-weight:500;font-size:12px}.field-notes li span{display:block;font-family:system-ui,sans-serif;font-size:12px;color:var(--muted);line-height:1.55;margin-top:5px}.field-notes dl{font-size:9px;border-top:1px solid var(--line);padding-top:13px;margin-top:20px}.field-notes dl>div{display:flex;justify-content:space-between;margin:6px 0}.field-notes dt{color:var(--muted)}.field-notes dd{margin:0}.small{font-size:10px;color:var(--muted);line-height:1.7}.art-section{padding-top:70px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px}.section-heading>p{font-size:11px;color:var(--muted);margin:0}figure{margin:0 0 28px;border:1px solid var(--line);background:#101d25;overflow:hidden}figure img{display:block;width:100%;height:auto}figcaption{display:flex;justify-content:space-between;gap:15px;padding:15px 18px;font-size:11px}figcaption b{font-weight:400;color:var(--mint)}figcaption span{color:var(--muted);font-size:10px}.art-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.art-grid figure{align-self:start}.art-grid figcaption{display:block}.art-grid figcaption span{display:block;margin-top:4px}.sprite-preview img{background:repeating-conic-gradient(#182a33 0% 25%,#14232c 0% 50%) 50%/24px 24px}footer{border-top:1px solid var(--line);padding:25px 0 40px;display:flex;align-items:center;gap:25px;color:var(--muted);font-size:10px}footer p{margin-right:auto}@media(max-width:1000px){.masthead,main{padding-left:22px;padding-right:22px}.tag{display:none}.play-layout{grid-template-columns:1fr}.field-notes{display:grid;grid-template-columns:1fr 1fr;gap:5px 25px}.field-notes ol{grid-column:2;grid-row:1/5;margin:0}.field-notes dl{margin-top:7px}.intro{align-items:start}.lede{max-width:340px}.section-heading{align-items:start}.art-grid{gap:18px}}@media(max-width:650px){.masthead{padding:18px;gap:20px;flex-wrap:wrap}.wordmark{font-size:19px}nav{font-size:10px;gap:16px}main{padding:0 15px}.intro{display:block;padding-top:30px}.lede{margin-top:20px;max-width:none}.game-toolbar{padding:0 7px}.game-toolbar>span{font-size:7px}.game-toolbar button{padding:5px;font-size:9px;letter-spacing:0}.game-caption>span:last-child{display:none}.field-notes{display:block}.field-notes ol{margin-top:20px}.art-section{padding-top:35px}.art-grid{grid-template-columns:1fr}.section-heading{display:block}.section-heading>p{margin-top:15px}.wide-art figcaption{display:block}.wide-art figcaption span{display:block;margin-top:5px}footer{flex-wrap:wrap;gap:15px}footer p{width:100%}}
:root{--audio-line:#243c45}
.game-toolbar{height:auto;min-height:43px;flex-wrap:wrap;padding-top:7px;padding-bottom:7px}
.game-toolbar>div{flex-wrap:wrap;justify-content:flex-end;min-width:0}
.audio-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:8px 12px;border-top:1px solid var(--audio-line);font-size:9px;color:var(--muted)}
.audio-controls label{color:var(--mint)}
.audio-controls input{width:110px;accent-color:var(--mint);cursor:pointer}
.audio-controls>span{margin-left:auto;font-size:8px}
.soundtrack-section{padding-top:60px}
.track-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.track{padding:24px;background:var(--panel);border:1px solid var(--line)}
.track h3{font-size:21px;font-weight:500;margin:0}
.track>p:not(.eyebrow){font-family:system-ui,sans-serif;font-size:13px;color:var(--muted)}
.track audio{display:block;width:100%;margin:20px 0 12px;height:38px}
.track>a{font-size:10px;color:var(--mint)}
@media(max-width:650px){.track-grid{grid-template-columns:1fr;gap:18px}.track{padding:18px}.audio-controls>span{margin-left:0}.soundtrack-section{padding-top:35px}.game-toolbar>div{gap:4px}}
