.hero{position:absolute;right:2%;top:8px;width:min(400px,34vw);display:grid;justify-items:center;gap:12px;pointer-events:none}.ball{width:100%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 34% 28%,#fff6c2 0,#f4c63a 30%,#c08516 64%,#5a3606);box-shadow:inset -14px -18px 34px #0006,0 14px 40px #0000008c;border:3px solid #2a1a02}.hero .ball,.hero .wordmark{position:relative;overflow:hidden}.ball-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.8}html.logo-pending .hero{opacity:0}.glint-clip{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.glint-clip.round{border-radius:50%;clip-path:circle(50%)}.glint{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.9;mix-blend-mode:soft-light;background:linear-gradient(100deg,transparent 35%,#fff 50%,transparent 65%);transform:translate(-130%) skew(-20deg)}.wordmark{margin:0;padding:.1em .35em;transform:rotate(-8deg);font:700 clamp(30px,5.4vw,64px) / 1 var(--pixel);letter-spacing:.02em;text-transform:uppercase;color:#ffe36b;background:#2a1a02;border:3px solid #ffe36b;text-shadow:3px 3px 0 #a8580c;box-shadow:6px 6px #00000073}.tagline{margin:0;max-width:22em;text-align:center;color:#fff;font-size:18px;text-transform:uppercase;letter-spacing:.14em;text-shadow:2px 2px 0 var(--ink),0 0 12px rgb(0 0 0 / .8)}.lede{margin:0 0 12px;font-size:15px;line-height:1.4}.steps{list-style:none;margin:0;padding:0;display:grid;gap:14px}.steps li{display:grid;gap:6px}.steps h3{margin:0;font-size:17px;display:flex;align-items:center;gap:8px}.num{display:inline-grid;place-items:center;width:22px;height:22px;font-size:14px;color:#fff;background:var(--tb-navy);border:1px solid var(--ink)}.drop{padding:22px 12px}.status{min-height:1.4em;font-size:14px}#dl-rom:not(:disabled){font-weight:700}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.stages{list-style:none;margin:0;padding:0;display:grid;gap:2px;font-size:14px}.stages[hidden],.retry[hidden]{display:none}.retry{justify-self:start}.stages .mark{display:inline-block;width:1.2em;text-align:center}.stages [data-state=pending]{color:#555}.stages [data-state=pending] .mark:before{content:"·"}.stages [data-state=active]{font-weight:700}.stages [data-state=active] .mark:before{content:"▶"}.stages [data-state=done] .mark:before{content:"✓"}.stages [data-state=failed]{font-weight:700;color:#a00000}.stages [data-state=failed] .mark:before{content:"✗"}#preview{max-height:420px;overflow:auto}.ingame-shots{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.ingame-shots canvas{width:min(160px,calc(50% - 4px));min-width:140px;aspect-ratio:160 / 144;height:auto;padding:0;image-rendering:pixelated;background:#fff;transition:opacity .2s}.ingame[data-state=loading] .ingame-shots canvas{opacity:.45}@media (prefers-reduced-motion: reduce){.ingame-shots canvas{transition:none}}.about{font-size:15px;max-height:420px;overflow:auto}.about h3{margin:6px 0 0;font-size:16px}.about ul{margin:0;padding-left:1.2em;display:grid;gap:4px}.settings{font-size:15px;display:grid;gap:8px}.set-field{margin:0;padding:6px 8px;border:1px solid var(--lo);background:var(--well);display:grid;gap:4px}.set-field legend{padding:0 4px;font-weight:600}.set-opt{display:flex;align-items:baseline;gap:6px;font-size:15px}.set-opt input{flex:none}.set-opt small{color:var(--muted);font-size:13px}.set-prompt{flex:none}.retro button.linkish{padding:0;border:0;background:none;box-shadow:none;font:inherit;color:var(--tb-navy);text-decoration:underline;cursor:pointer}@media (max-width: 759px){.hero{position:static;width:auto;padding:8px 0 4px}.ball{width:min(120px,32vw)}.wordmark{font-size:clamp(18px,5.5vw,24px);border-width:2px}#reset-layout{display:none}.drop{padding:12px}.steps{gap:10px}.tagline{font-size:16px}#preview,.about{max-height:none}#preview-help{display:none}}.patching-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20000;display:grid;place-items:center;padding:16px;background:repeating-conic-gradient(#0000008c 0,#0000008c 25%,#00000040 0,#00000040 50%) 0 0 / 4px 4px}.patching-backdrop .win.patching{position:relative;width:min(560px,calc(100vw - 32px))!important;max-width:none}.patching .win-title{cursor:default;padding:4px 6px}.patching{--sn-bg: #0d2350;--sn-bg2: #163470;--sn-ink: #f4f1e6;--sn-hi: #ffd84a;--sn-dim: #a9bce4;--sn-in: #7cf09a;--sn-out: #ff9a8a;--term-bg: #050805;--term-ink: #4cff6a;--term-dim: #2f9a3f}.sn-head,.sn-feed,.sn-ticker{background:var(--sn-bg);color:var(--sn-ink);border:2px solid var(--ink);box-shadow:inset 1px 1px #000,inset -1px -1px 0 var(--sn-bg2)}.sn-head{display:flex;align-items:center;gap:8px;padding:4px 8px;font:700 15px/1.3 var(--pixel);text-transform:uppercase}.sn-live{padding:0 6px;color:#fff;background:#b8241c}.sn-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-clock{padding:0 6px;color:var(--sn-bg);background:var(--sn-hi);font-variant-numeric:tabular-nums}.sn-panes{display:grid;grid-template-columns:minmax(0,1fr) 15.5em;gap:8px}.patching .sn-feed{margin:0;padding:4px 6px;list-style:none;height:13.5em;overflow:hidden;font:14px/1.5 var(--pixel)}.sn-feed li{display:grid;grid-template-columns:3em 1fr;gap:6px;align-items:baseline}.sn-tag{justify-self:start;padding:0 4px;font-size:11px;line-height:1.4;color:var(--sn-bg);background:var(--sn-dim)}.sn-feed strong{color:var(--sn-hi);font-weight:600}.sn-call .sn-tag{background:var(--sn-in)}.sn-out .sn-tag{background:var(--sn-out)}.sn-gloves .sn-tag,.sn-armband .sn-tag{background:var(--sn-hi)}.sn-feed .sn-desk{color:var(--sn-dim)}.sn-feed .sn-final{color:var(--sn-in);font-weight:700}.sn-final .sn-tag{background:var(--sn-in)}.sn-term{display:grid;gap:4px;align-content:start;padding:4px 6px;background:var(--term-bg);color:var(--term-ink);border:2px solid var(--ink);font:12px/1.35 var(--mono);text-shadow:0 0 4px rgb(76 255 106 / .45);overflow:hidden}.sn-term>*{margin:0}.sn-regs{color:var(--term-dim);white-space:nowrap;overflow:hidden}.patching .sn-dump{height:10.8em;margin:0;padding:0;overflow:hidden;white-space:pre;font:inherit;color:inherit;background:none;border:0;box-shadow:none}.sn-counters{display:grid;grid-template-columns:1fr 1fr;gap:0 10px;border-top:1px solid var(--term-dim);padding-top:3px}.sn-counters div{display:flex;justify-content:space-between;gap:4px}.sn-counters dt{color:var(--term-dim)}.sn-counters dd{margin:0;font-variant-numeric:tabular-nums}.sn-term.sn-ok .sn-counters dd:last-child{color:#000;background:var(--term-ink);padding:0 2px}.sn-ticker{display:flex;overflow:hidden;white-space:nowrap;font:14px/1.6 var(--pixel);text-transform:uppercase}.sn-ticker b{flex:none;padding:0 8px;color:#fff;background:#b8241c}.sn-track{flex:1;overflow:hidden;position:relative;padding-left:8px}.sn-track span{display:inline-block}.meter{display:grid;grid-template-columns:repeat(20,1fr);gap:2px;padding:3px;height:20px}.meter span.on{background:var(--tb-navy);box-shadow:inset 1px 1px #4f6fa6}.patching-foot{align-items:center}.patching-foot .pct{font-weight:700;min-width:3.2em;font-variant-numeric:tabular-nums}.patching-done{flex:1;margin:0;color:var(--ok);font-size:14px}@media (max-width: 559px){.sn-panes{grid-template-columns:minmax(0,1fr)}.patching .sn-feed{height:10.5em}.patching .sn-dump{height:6.75em}}@media (prefers-reduced-motion: no-preference){.sn-live{animation:sn-blink 1s steps(1) infinite}.sn-track span.go{animation:sn-crawl .9s steps(12) both}}@keyframes sn-blink{50%{color:#b8241c}}@keyframes sn-crawl{0%{transform:translate(100%)}to{transform:translate(0)}}html[data-stage=logo] .desktop .win,html[data-stage=loading] .desktop .win{visibility:hidden}.intro-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30000;display:grid;place-items:center;padding:16px;background:repeating-conic-gradient(#00000059 0,#00000059 25%,#0000001a 0,#0000001a 50%) 0 0 / 4px 4px}.intro-backdrop .win.intro{position:relative;width:min(420px,calc(100vw - 32px))!important;max-width:none;text-align:center}.intro .win-title{cursor:default;padding:4px 6px}.intro-mark{margin:4px 0;font:700 40px/1.1 var(--pixel);color:var(--tb-navy)}.intro-lede,.intro-note{margin:6px 0}.intro-note{color:var(--muted);font-size:14px}.intro-bar{height:16px;padding:3px;margin:12px 0}.intro-bar span{display:block;height:100%;width:100%;background:var(--tb-navy);transform-origin:left}.intro .win-body>button{margin:0 auto}@media (prefers-reduced-motion: no-preference){.intro-bar span{animation:intro-fill var(--intro-ms, 2.6s) steps(20) both}}@keyframes intro-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (max-width: 559px){.intro-mark{font-size:32px}}.play-screen{display:block;padding:6px;background:#3b3a33;border:2px solid var(--ink);outline-offset:2px;line-height:0;touch-action:manipulation}.play-screen:focus-visible{outline:3px solid var(--tb-green)}.play-screen canvas{width:100%;aspect-ratio:160 / 144;image-rendering:pixelated;image-rendering:crisp-edges;background:#fff}.gb-shell{display:grid;gap:8px}.gb-rail,.gb-led,.gb-grille,.dpad .hub{display:none}.play-panel{display:grid;gap:8px}.play-panel>*{margin:0}.play-controls button{flex:1 1 auto}.gbpad{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"dpad . ab" "ss ss ss";align-items:center;gap:10px 8px;padding:8px 4px 4px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none}.retro .gbpad button{display:grid;place-items:center;padding:0;font:700 18px/1 var(--pixel);touch-action:none;-webkit-tap-highlight-color:transparent}.retro .gbpad button.down{background:var(--face-lo);box-shadow:inset 1px 1px 0 var(--lo),inset -1px -1px 0 var(--hi);transform:translateY(1px)}.dpad{grid-area:dpad;display:grid;grid-template:repeat(3,48px) / repeat(3,48px)}.dpad .up{grid-area:1 / 2}.dpad .left{grid-area:2 / 1}.dpad .hub{grid-area:2 / 2}.dpad .right{grid-area:2 / 3}.dpad .down-key{grid-area:3 / 2}.ab{grid-area:ab;display:flex;gap:12px;transform:rotate(-20deg)}.retro .ab button{width:56px;height:56px;border-radius:50%;color:#fff;background:var(--tb-red);text-shadow:1px 1px 0 var(--ink)}.retro .ab button.down{background:#5a141a}.ss{grid-area:ss;display:flex;justify-content:center;gap:16px}.retro .ss button{min-width:76px;height:32px;font-size:13px;text-transform:uppercase;border-radius:16px}.play kbd{font:12px var(--mono);padding:0 3px;border:1px solid var(--lo);background:var(--well)}@media (max-width: 759px){.play-screen{max-width:480px;justify-self:center;width:100%;box-sizing:border-box}}#win-play.handheld{position:fixed!important;right:0!important;bottom:0!important;left:0!important;top:0!important;z-index:15000!important;width:auto!important;max-width:none;display:flex;flex-direction:column;align-items:center;overflow:auto;padding:16px 12px;border:0;box-shadow:none;perspective:1200px;background:repeating-conic-gradient(#000000c7 0,#000000c7 25%,#0000008c 0,#0000008c 50%) 0 0 / 4px 4px}#win-play.handheld[hidden]{display:none}body:has(#win-play.handheld:not([hidden])){overflow:hidden}#win-play.handheld>.win-title{display:none}#win-play.handheld>.win-body{width:min(340px,100%);padding:0;margin:auto 0;gap:14px;justify-items:stretch}.handheld{--gb-plastic: #d8d4cb;--gb-plastic-lo: #b9b4a8;--gb-bezel: #5d5f6c;--gb-lcd: #a7b84a;--gb-ink: #2e3330;--gb-ab: #9c2350;--gb-ab-lo: #6a1435}.handheld .gb-shell{position:relative;padding:22px 20px 26px;gap:18px;border-radius:12px 12px 64px;background:radial-gradient(120% 80% at 30% 0%,rgb(255 255 255 / .35),transparent 60%),repeating-radial-gradient(circle at 17% 23%,rgb(0 0 0 / .018) 0 1px,transparent 1px 3px),linear-gradient(160deg,var(--gb-plastic),var(--gb-plastic-lo));box-shadow:inset 2px 2px 1px #ffffffb3,inset -3px -4px 6px #00000038,0 2px #a39d90,0 6px #8f897c,0 28px 40px #0000008c;transform-origin:50% 50%}.handheld .gb-rail{display:block;position:absolute;left:12px;right:12px;top:10px;height:4px;border-radius:2px;box-shadow:inset 0 1px 1px #00000047,0 1px #fff9}.handheld .gb-bezel{position:relative;display:grid;padding:18px 30px 22px 34px;border-radius:8px 8px 34px;background:linear-gradient(170deg,#6a6c79,var(--gb-bezel) 40%,#4c4e59);box-shadow:inset 1px 1px 1px #ffffff40,inset -1px -2px 3px #00000073,0 1px #ffffff80}.handheld .gb-led{display:block;position:absolute;left:13px;top:42%;width:8px;height:8px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ffb3a3,#e42a1a 55%,#7a0c05);box-shadow:0 0 6px 2px #ff321e8c}.handheld .play-screen{padding:0;border:0;border-radius:2px;background:var(--gb-lcd);box-shadow:inset 2px 2px 4px #0000008c,0 0 0 1px #0006}.handheld .play-screen canvas{mix-blend-mode:multiply;filter:contrast(.92) brightness(.98)}.handheld .play-screen{position:relative;isolation:isolate}.handheld .play-screen:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:2px;background:linear-gradient(135deg,rgb(255 255 255 / .16),transparent 38%)}.handheld .play-screen:focus-visible{outline:3px solid #ffe36b;outline-offset:3px}.handheld .gbpad{padding:6px 0 0;gap:26px 6px}.handheld .dpad{grid-template:repeat(3,44px) / repeat(3,44px);filter:drop-shadow(0 3px 2px rgb(0 0 0 / .4))}.handheld .dpad .hub{display:block;background:linear-gradient(145deg,#3a3d3f,#1f2122)}.handheld .dpad .hub:after{content:"";display:block;margin:13px;height:18px;border-radius:50%;box-shadow:inset 1px 1px 3px #000000b3}.retro .handheld .dpad button{color:#ffffff1f;font-size:12px;border:0;border-radius:3px;background:linear-gradient(145deg,#45484a,#1f2122);box-shadow:inset 1px 1px #ffffff2e,inset -1px -1px #00000080}.retro .handheld .dpad .up{border-radius:4px 4px 0 0}.retro .handheld .dpad .down-key{border-radius:0 0 4px 4px}.retro .handheld .dpad .left{border-radius:4px 0 0 4px}.retro .handheld .dpad .right{border-radius:0 4px 4px 0}.retro .handheld .dpad button.down{background:#151617;box-shadow:inset 2px 2px 3px #000000b3;transform:none}.handheld .ab{gap:14px;transform:rotate(-25deg);margin-top:-18px}.retro .handheld .ab button{width:54px;height:54px;border:0;color:#0000;font-size:0;background:radial-gradient(circle at 38% 32%,#c84876,var(--gb-ab) 45%,var(--gb-ab-lo));box-shadow:inset -2px -3px 4px #00000059,0 3px #50102a,0 5px 6px #00000059,0 0 0 5px #0000000f}.retro .handheld .ab button.down{background:radial-gradient(circle at 45% 40%,#a8365f,var(--gb-ab-lo) 70%);box-shadow:inset 2px 3px 4px #0006,0 1px #50102a;transform:translateY(2px)}.handheld .ss{gap:12px;transform:rotate(-25deg)}.retro .handheld .ss button{position:relative;min-width:56px;width:56px;height:34px;border:0;color:#0000;font-size:0;background:none;box-shadow:none}.retro .handheld .ss button:before{content:"";position:absolute;left:2px;right:2px;top:10px;height:14px;border-radius:7px;background:linear-gradient(#7d7f86,#55575e);box-shadow:inset 0 1px #ffffff40,0 0 0 4px #00000012,0 2px 2px #00000059}.retro .handheld .ab button,.retro .handheld .ss button{overflow:visible}.retro .handheld .ab button:after,.retro .handheld .ss button:after{content:attr(data-btn);position:absolute;left:50%;transform:translate(-50%);white-space:nowrap;font:700 11px/1 var(--pixel);letter-spacing:.08em;text-transform:uppercase;color:#2f3480;text-shadow:none}.retro .handheld .ab button{position:relative}.retro .handheld .ab button:after{top:calc(100% + 8px);font-size:13px}.retro .handheld .ss button:after{top:29px;font-size:10px}.retro .handheld .ss button.down{transform:none;background:none;box-shadow:none}.retro .handheld .ss button.down:before{background:#45474d;transform:translateY(1px);box-shadow:inset 0 1px 2px #00000080}.handheld .gb-grille{display:flex;gap:7px;position:absolute;right:26px;bottom:30px;transform:rotate(-30deg)}.handheld .gb-grille i{display:block;width:6px;height:46px;border-radius:3px;background:#6f6a60;box-shadow:inset 1px 1px 2px #0009,1px 1px #ffffff8c}.handheld .play-panel{padding:8px;background:var(--face);border:2px solid var(--ink);box-shadow:inset 1px 1px 0 var(--hi),inset -1px -1px 0 var(--lo),4px 4px #00000059}@media (pointer: coarse){.handheld #play-keys{display:none}}.handheld .gb-shell{transform-origin:50% 50%;will-change:transform}.how{font-size:15px;max-height:560px;overflow:auto}.how h3{margin:4px 0 0;font-size:16px}.how h4{margin:0;font-size:15px}.how p{margin:0}.how-lede{font-size:15px}.how-map{margin:0;padding:8px;display:grid;gap:6px}.how-map svg{display:block;width:100%;height:auto;max-width:440px;margin:0 auto}.how-map figcaption{text-align:center}.how-t{font:13px var(--pixel);fill:var(--ink);text-anchor:middle}.how-t[text-anchor=start]{text-anchor:start}.how-t[text-anchor=end]{text-anchor:end}.how-b{font-weight:600}.how-s{font-size:12px}.how-box{fill:var(--face);stroke:var(--ink);stroke-width:2}.how-chip{fill:#fffbe9;stroke:var(--ink);stroke-width:1.5}.how-browser{fill:none;stroke:var(--tb-green);stroke-width:2;stroke-dasharray:6 4}.how-line{stroke:var(--ink);stroke-width:2;fill:none}.how-bad{stroke:var(--bad)}.how-ink-fill{fill:var(--ink)}.how-bad-fill,.how-bad-text{fill:var(--bad)}.how-ok-text{fill:var(--ok)}.how-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:how}.how-steps li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px;align-items:start;counter-increment:how;position:relative}.how-steps h4:before{content:counter(how) ". ";color:var(--ok)}.how-steps li:not(:last-child):after{content:"";position:absolute;left:19px;top:40px;bottom:-10px;border-left:2px dotted var(--lo)}.how-steps div{display:grid;gap:2px}.how-icon{width:40px;height:40px;padding:6px;background:var(--well);border:1px solid var(--ink);box-shadow:inset 1px 1px 0 var(--lo),inset -1px -1px 0 var(--hi);shape-rendering:crispEdges}.how-icon-body{fill:var(--face);stroke:var(--ink);stroke-width:1.5}.how-icon-well{fill:#fffbe9;stroke:var(--ink);stroke-width:1.5}.how-icon-line{fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linecap:square}.how-icon-thick{stroke-width:3}.how-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:8px}.how-col{padding:6px 8px;display:grid;gap:4px;align-content:start}.how-col ul{margin:0;padding-left:1.1em;display:grid;gap:3px;font-size:14px}.how-tag{display:inline-grid;place-items:center;width:18px;height:18px;font-size:13px;color:#fff;background:var(--tb-idle);border:1px solid var(--ink)}.how-tag-new{background:var(--tb-green)}@media (max-width: 759px){.how{max-height:none}}.deep-core{stroke:var(--tb-plum);stroke-width:2}.deep-kicker{display:grid;place-items:center;width:40px;height:40px;font:700 12px var(--mono);color:#fff;background:var(--tb-plum);border:1px solid var(--ink);box-shadow:inset 1px 1px #7d5fa0,inset -1px -1px #2a1840}.deep-steps h4:before{color:var(--tb-plum)}.deep p+p{margin-top:0}.deep-link{padding-top:4px;border-top:1px solid var(--lo)}.deep-link .linkish{font-weight:600}
