/* The Small Arcade: game chrome shared by the two canvas games. */
body.arcade-page{background:#f4f1e8;color:#203b3c}
.arcade-page{--game-accent:#16766b;--game-soft:#deeee5;--game-line:#d3dbd2;--game-text:#203b3c;--game-muted:#62716a}
.arcade-page.sky-game{--game-accent:#b8472a;--game-soft:#fce6d7;--game-line:#dedbcf;--game-text:#293e48;--game-muted:#65767b}
.arcade-shell{max-width:1220px;margin:auto;padding:30px 26px 24px}
.arcade-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.arcade-eyebrow{font:700 10px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--game-accent);margin:0 0 10px}
.arcade-heading h1{font-size:clamp(42px,6vw,70px);line-height:1;letter-spacing:-.065em;margin:0;font-weight:900;color:var(--game-text)}
.arcade-heading h1 span{color:var(--game-accent)}
.arcade-heading .tagline{margin:10px 0 0;font-size:14px;color:var(--game-muted)}
.arcade-record{min-width:100px;text-align:right;border-left:1px solid var(--game-line);padding-left:24px}
.arcade-record span{font:10px var(--mono);letter-spacing:.1em;color:var(--game-muted)}
.arcade-record strong{display:block;font:600 32px var(--mono);line-height:1.3}
.arcade-layout{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:26px;align-items:start}
.arcade-machine{min-width:0;background:#fffdf7;border:1px solid var(--game-line);border-radius:18px;overflow:hidden;box-shadow:0 10px 35px #263d3010}
.arcade-hud{display:flex;align-items:center;gap:26px;padding:16px 20px;border-bottom:1px solid var(--game-line)}
.arcade-hud>div{min-width:0;flex:1}.arcade-hud span{display:block;font:9px var(--mono);color:var(--game-muted);letter-spacing:.12em}.arcade-hud strong{display:block;font:600 23px var(--mono);color:var(--game-text);line-height:1.35;white-space:nowrap}
.arcade-shell button,.arcade-shell select{font:700 12px var(--font);border:1px solid var(--game-line);color:var(--game-text);background:#fffdf7;min-height:42px;padding:10px 14px;border-radius:9px;cursor:pointer}
.arcade-shell button:hover:not(:disabled){border-color:var(--game-accent);background:var(--game-soft)}
.arcade-shell button:disabled{opacity:.45;cursor:default}.arcade-shell button:focus-visible,.arcade-shell select:focus-visible,.arcade-shell canvas:focus-visible{outline:3px solid var(--game-accent);outline-offset:-3px}
.arcade-shell button[aria-pressed=true],.arcade-shell .primary{background:var(--game-accent);color:#fff;border-color:var(--game-accent)}
.arcade-shell .primary:hover:not(:disabled){background:var(--game-accent);filter:brightness(1.08)}
.arcade-board{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:10/7;background:#102e31}
.arcade-board canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-4px}
.arcade-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:22px;background:#102e3160;backdrop-filter:blur(3px)}
.arcade-overlay[hidden]{display:none}.overlay-card{max-width:340px;width:100%;padding:28px;text-align:center;border:1px solid #ffffff85;border-radius:18px;background:#fffdf4f5;box-shadow:0 16px 50px #102e3133;color:var(--game-text)}
.overlay-card h2{font-size:clamp(28px,3.8vw,46px);line-height:1.05;letter-spacing:-.055em;margin:8px 0 14px}
.overlay-card>p:not(.arcade-eyebrow){font-size:13px;line-height:1.6;color:var(--game-muted);margin:0 0 18px}.overlay-card .primary{width:100%;font-size:14px}.overlay-card .overlay-secondary{margin-top:8px;width:100%}
.arcade-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 18px}.arcade-toolbar .button-group{display:flex;gap:5px}
.arcade-status{margin:0;padding:0 18px 15px;font-size:11px;min-height:31px;color:var(--game-muted)}
.arcade-guide{padding:6px 0}.guide-label{display:flex;align-items:center;gap:10px;color:var(--game-accent);font:10px var(--mono);letter-spacing:.12em}.guide-label:after{content:'';flex:1;height:1px;background:var(--game-line)}
.arcade-guide h2{font-size:27px;letter-spacing:-.045em;line-height:1.15;margin:16px 0 22px}.guide-step{display:grid;grid-template-columns:26px 1fr;gap:10px;margin:20px 0}.guide-step>span{font:12px var(--mono);color:var(--game-accent);padding-top:2px}.guide-step h3{font-size:13px;margin:0 0 5px}.guide-step p{font-size:12px;line-height:1.65;color:var(--game-muted);margin:0}
.arcade-keys{border-top:1px solid var(--game-line);margin-top:24px;padding-top:12px}.arcade-keys p{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--game-muted);gap:8px}.arcade-keys kbd{font:10px var(--mono);padding:3px 6px;border:1px solid var(--game-line);border-radius:4px;background:#fffdf7;color:var(--game-text)}
.arcade-footer{display:flex;justify-content:space-between;gap:16px;font:9px var(--mono);letter-spacing:.1em;color:var(--game-muted);margin-top:22px}.arcade-footer a{color:inherit;text-decoration:none}
@media(max-width:930px){.arcade-layout{grid-template-columns:1fr}.arcade-shell{max-width:820px}.arcade-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.arcade-guide .guide-label,.arcade-guide h2,.arcade-keys{display:none}.guide-step{margin:0}}
@media(max-width:540px){.arcade-shell{padding:20px 12px}.arcade-heading{margin-bottom:18px;gap:12px}.arcade-heading h1{font-size:44px}.arcade-heading .tagline{font-size:12px;max-width:24ch}.arcade-record{padding-left:12px;min-width:70px}.arcade-record strong{font-size:25px}.arcade-record span{font-size:8px}.arcade-eyebrow{font-size:8px}.arcade-hud{gap:10px;padding:12px}.arcade-hud strong{font-size:18px}.arcade-hud span{font-size:8px}.arcade-hud button{padding:8px 12px}.arcade-toolbar{padding:12px;flex-wrap:wrap}.arcade-shell button{font-size:11px;padding:9px 11px}.arcade-status{padding:0 12px 12px}.arcade-overlay{padding:12px}.overlay-card{max-width:280px;padding:16px}.overlay-card h2{font-size:29px;margin:3px 0 8px}.overlay-card>p:not(.arcade-eyebrow){font-size:11px;margin-bottom:12px}.overlay-card .arcade-eyebrow{margin-bottom:6px}.arcade-guide{display:block}.guide-step{margin:16px 4px}.arcade-footer{font-size:8px}.arcade-footer span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.arcade-shell *{scroll-behavior:auto!important;transition:none!important}}
/* Keep the entire playfield in view on short laptop screens. */
@media(min-width:931px){.arcade-shell{max-width:min(1220px,max(780px,calc(142.857svh - 245px)));padding-top:18px}.arcade-heading{margin-bottom:18px}.arcade-heading h1{font-size:52px}.arcade-heading .tagline{font-size:12px}.arcade-hud{padding:12px 16px;gap:14px}.arcade-toolbar{padding:10px 14px}.arcade-guide h2{font-size:25px}.guide-step{margin:17px 0}}

.arcade-history{margin:18px 0 0;font-size:11px}.arcade-history a{color:var(--game-muted);text-underline-offset:3px}.arcade-history a:hover{color:var(--game-accent)}
