/* Shared game shell. The canvas retains its intrinsic 8:5 coordinates. */
.arcade{--arcade-bg:var(--yeti-paper);--arcade-panel:#fffdf8;--arcade-text:var(--yeti-ink);--arcade-muted:var(--yeti-muted);--arcade-accent:var(--yeti-gold-ink);--arcade-border:#c4b697;max-width:1120px;margin:110px auto 60px;padding:24px;color:var(--arcade-text);background:var(--arcade-bg);box-sizing:border-box}
.arcade *{box-sizing:border-box}
.arcade a{color:var(--arcade-accent);text-underline-offset:4px}
.arcade header>small{display:block;letter-spacing:.18em;color:var(--arcade-accent);font-size:11px}
.arcade h1{font:500 clamp(32px,5vw,56px)/1.12 Georgia,serif;margin:12px 0;color:var(--arcade-text)}
.arcade header p,.arcade-hint{max-width:760px;line-height:1.7;color:var(--arcade-muted)}
.arcade nav{font:12px/1.7 system-ui;color:var(--arcade-muted);overflow-wrap:anywhere}
.arcade-stats{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}
.arcade-stats>div{display:grid;flex:1;gap:7px;min-width:0;padding:16px 22px;border:1px solid var(--arcade-border);border-radius:16px;background:var(--arcade-panel)}
.arcade-stats small,.arcade-actions span{font-size:12px;color:var(--arcade-muted)}
.arcade-stats strong{font-size:26px;font-variant-numeric:tabular-nums;color:var(--arcade-accent)}
.arcade-stats em{font-size:13px;font-style:normal}.arcade-stats .arcade-mode{font-size:18px}
.arcade-stage{position:relative;min-width:0;max-width:100%;padding:8px;background:var(--yeti-night);border:1px solid var(--yeti-night-border);border-radius:20px;overflow:hidden;box-shadow:0 24px 70px #0003}
.arcade canvas{display:block;width:100%;max-width:960px;min-width:0;height:auto;aspect-ratio:8/5;margin-inline:auto;touch-action:manipulation;border:0;box-shadow:none}
.arcade canvas:focus-visible{outline:2px solid var(--yeti-gold);outline-offset:-3px}
.arcade-status{padding:14px 16px;color:var(--yeti-night-text);background:var(--yeti-night-panel);border-radius:10px;font:13px/1.6 system-ui;margin-top:8px}
.arcade-actions,.arcade-replay-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:18px 0}
.arcade button,.arcade-actions a,.arcade select{border:1px solid var(--arcade-border);border-radius:10px;padding:12px 16px;background:var(--arcade-panel);color:var(--arcade-text);font:600 13px/1.5 system-ui;cursor:pointer;min-height:44px;text-decoration:none}
.arcade button:hover:not(:disabled),.arcade-actions a:hover{background:var(--yeti-paper-deep);color:var(--yeti-ink)}
.arcade button:disabled{opacity:1;cursor:not-allowed;color:var(--arcade-muted);border-style:dashed}
.arcade :focus-visible{outline:3px solid var(--arcade-accent);outline-offset:3px}
.arcade-hint{font-size:12px}.arcade-replay-controls input[type=range]{flex:1;min-width:100px;accent-color:var(--arcade-accent)}
.arcade-replay-controls label{font-size:13px}.arcade [hidden]{display:none!important}
body:has(.arcade--play){background:var(--yeti-night);color:var(--yeti-night-text)}
body:has(.arcade--play)>:is(.site-header,.site-footer,footer,.page-journey,.journey-nav,.breadcrumbs){display:none!important}
.arcade--play{--arcade-bg:var(--yeti-night);--arcade-panel:var(--yeti-night-panel);--arcade-text:var(--yeti-night-text);--arcade-muted:var(--yeti-night-muted);--arcade-accent:var(--yeti-gold);--arcade-border:var(--yeti-night-border);max-width:1280px;margin:0 auto;padding:24px 32px 36px;color-scheme:dark}
.arcade--play>nav{padding-bottom:16px;border-bottom:1px solid var(--arcade-border)}
.arcade--play>.arcade-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:center;gap:0 32px;margin:0;padding:28px 0;background:none;color:var(--arcade-text)}
.arcade-hero>small,.arcade-hero>h1{grid-column:1}.arcade-hero>p{grid-column:2;grid-row:1/3;font-size:14px;margin:0}
.arcade--play .arcade-stats{margin:0 0 16px}.arcade--play .arcade-stats>div{background:linear-gradient(145deg,var(--yeti-night-raised),var(--yeti-night-panel))}
.arcade--play button:hover:not(:disabled),.arcade--play .arcade-actions a:hover{background:var(--yeti-night-raised);color:var(--yeti-night-text)}
.arcade--play :is([data-fire],[data-finish]){background:var(--yeti-gold);color:var(--yeti-on-gold)}
.arcade--play :is([data-fire],[data-finish]):hover:not(:disabled){background:#f1daa0;color:var(--yeti-on-gold)}
.arcade--play .arcade-replay{margin-top:20px;padding:22px;background:var(--arcade-panel);border:1px solid var(--arcade-border);border-radius:16px}
.arcade--play .arcade-replay h2{color:var(--arcade-text);font:24px Georgia,serif}.arcade--play .arcade-replay p{color:var(--arcade-muted)}
.arcade:fullscreen{background:var(--arcade-bg);overflow:auto;margin:0;max-width:none}.arcade:fullscreen canvas{width:min(100%,112vh);max-width:1200px;height:auto}
.arcade-landing .gd-hero h1{font-size:clamp(42px,6vw,86px);line-height:1.05}
.arcade-breadcrumbs{font:12px/1.6 system-ui;margin-bottom:28px;color:var(--yeti-muted)}
.arcade-landing .arcade-breadcrumbs a{display:inline;min-height:0;padding:0;border:0;background:transparent;box-shadow:none;border-radius:0;color:inherit;font:inherit;letter-spacing:0;text-transform:none}
.arcade-demo{min-width:0;width:100%;margin:0;border:1px solid var(--yeti-night-border);border-radius:20px;overflow:hidden;background:var(--yeti-night);box-shadow:0 24px 70px #1c292329}
.arcade-demo canvas{display:block;width:100%;height:auto}.arcade-demo figcaption{padding:14px 20px;color:var(--yeti-night-muted);font:12px/1.6 system-ui}
.arcade-archive{padding:50px max(5vw,24px);border-top:1px solid #d8ceb9}.arcade-archive h2{font:500 clamp(30px,4vw,46px) Georgia,serif}.arcade-archive>section>p{color:var(--yeti-muted)}.arcade-landing .gd-proof strong{font-size:30px}
@media(max-width:700px){.arcade{padding:16px;margin-top:90px}.arcade--play{margin:0;padding:16px}.arcade--play>.arcade-hero{display:block;padding:22px 0}.arcade-hero>p{margin-top:14px}.arcade-stats{gap:8px}.arcade-stats>div{padding:12px;flex-basis:130px}.arcade-stats strong{font-size:22px}.arcade-stats .arcade-mode{font-size:16px}.arcade-actions>*{flex:1;text-align:center}.arcade-actions span{flex-basis:100%}.arcade-stage{padding:5px;border-radius:14px}.arcade-status{padding:10px;font-size:12px}.arcade-replay-controls>*{max-width:100%}.arcade-landing .gd-hero{padding-top:65px}}

.arcade-screen{width:min(540px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:clamp(24px,5vw,48px);border:1px solid #bca16b66;border-radius:26px;background:radial-gradient(ellipse at top,var(--yeti-night-raised),var(--yeti-night) 65%);color:var(--yeti-night-text);text-align:center;box-shadow:0 32px 100px #0008}.arcade-screen::backdrop{background:#071417bb;backdrop-filter:blur(8px)}.arcade-screen__mark{font-size:48px;color:#e7c986;line-height:1.3;margin-bottom:12px}.arcade-screen[data-state=lost] .arcade-screen__mark{color:#e99b91}.arcade-screen small{font-size:10px;letter-spacing:.18em;color:#d4bd8e}.arcade-screen h2{font-size:clamp(26px,4vw,36px);line-height:1.2;margin:16px 0;border:0;color:inherit}.arcade-screen p{font-size:15px;line-height:1.7;color:var(--yeti-night-muted)}.arcade-screen__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:24px 0}.arcade-screen__stats span{font-size:11px;color:var(--yeti-night-muted);padding:12px 4px;background:#ffffff08;border-radius:12px}.arcade-screen__stats strong{display:block;font-size:24px;color:#f6dfaa}.arcade-screen__actions{display:grid;gap:10px;margin-top:24px}.arcade-screen__actions button,.arcade-screen__actions a{display:block;min-height:46px;padding:12px 18px;border-radius:12px;border:1px solid #d5bf8933;background:#ffffff08;color:var(--yeti-night-text);text-decoration:none;font:600 14px/1.5 system-ui;cursor:pointer}.arcade-screen__actions [data-screen-primary]{background:var(--yeti-gold);color:var(--yeti-on-gold)}.arcade-screen__actions :hover{filter:brightness(1.12)}.arcade-screen__actions :focus-visible{outline:3px solid #fff;outline-offset:3px}.arcade-screen[open]{animation:arcadeScreenIn .25s ease-out}@keyframes arcadeScreenIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.arcade-screen[open]{animation:none}}

.arcade-screen{box-sizing:border-box}.arcade-screen__stats{grid-template-columns:repeat(3,minmax(0,1fr))}

.arcade-screen{box-sizing:border-box}.arcade-screen__stats{grid-template-columns:repeat(3,minmax(0,1fr))}
