/* Shared navigation for every Soft Arcade game. Game scenes retain their themes. */
.arcade-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:57px;padding:0 0 12px;margin:0;border-bottom:1px solid var(--chrome-line,#ded8c9);font:14px/1.4 Arial,'Microsoft JhengHei',sans-serif;color:var(--chrome-ink,#595c49)}
.arcade-header .arcade-home,.arcade-footer .arcade-home{display:inline-flex;align-items:center;gap:7px;color:inherit;text-decoration:none;font-size:14px;font-weight:600;letter-spacing:0;padding:0;white-space:nowrap}
.arcade-nav{display:flex;align-items:center;gap:8px}.arcade-header .arcade-tool{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:11px;border:1px solid var(--chrome-line,#ded8c9);border-radius:50%;background:transparent;color:inherit;cursor:pointer;touch-action:manipulation}
.arcade-header .arcade-tool:disabled{opacity:.4;cursor:default}.arcade-symbol{display:block;width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.arcade-header .arcade-tool svg{width:20px;height:20px;margin:0;fill:none;stroke:currentColor;stroke-width:1.8}
.arcade-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0 0;margin:24px 0 0;border-top:1px solid var(--chrome-line,#ded8c9);color:var(--chrome-muted,#8b8a78);font:10px/1.5 Arial,'Microsoft JhengHei',sans-serif;letter-spacing:1.5px;text-align:left}
.arcade-footer .arcade-home{font-size:12px;font-weight:400}.arcade-footer .arcade-symbol{width:16px;height:16px}.arcade-footer>span{white-space:nowrap}
.arcade-controls-hint{text-align:center;margin-top:18px;color:#8b897b;font-size:11px}.arcade-header a:focus-visible,.arcade-footer a:focus-visible,.arcade-header button:focus-visible{outline:3px solid var(--chrome-focus,#b88161);outline-offset:4px}
body[data-arcade-theme=ghost]{--chrome-line:#ffffff25;--chrome-ink:#fff3df;--chrome-muted:#bba4cc;--chrome-focus:#ccff70}.arcade-header #pause{font-size:14px;background:transparent}.arcade-header .arcade-home svg{margin:0}
@media(max-width:360px){.arcade-header{gap:8px}.arcade-header .arcade-home{font-size:13px;gap:5px}.arcade-nav{gap:6px}.arcade-footer{gap:8px;margin-top:20px}.arcade-footer>span{font-size:9px}}

.arcade-header #pause{width:44px;height:44px;padding:11px;border:1px solid var(--chrome-line,#ded8c9);border-radius:50%;color:inherit}

.arcade-header #pause{visibility:visible}body:not(.onboarding) footer.arcade-footer{display:flex}footer.arcade-footer{grid-column:1/-1}
@media(orientation:landscape) and (max-height:500px){body[data-arcade-theme=sofa]:not(.onboarding) .game{height:calc(100svh - 166px)}body[data-arcade-theme=sofa]:not(.onboarding) .arcade-controls-hint{display:none}body[data-arcade-theme=stack]:not(.resting) .stage{height:calc(100svh - 96px)}}

.arcade-header{position:sticky;top:0;z-index:10;background:var(--chrome-surface,#f8f3e9)}body[data-arcade-theme=stack]{--chrome-surface:#f7f1e8}body[data-arcade-theme=ghost]{--chrome-surface:#21132f}#results,#paused{scroll-margin-top:72px}

/* Navigation controls keep their geometry in every game state. */
.arcade-header{flex-shrink:0}.arcade-nav{flex:0 0 auto;min-width:96px}.arcade-header .arcade-tool,.arcade-header #pause{box-sizing:border-box;flex:0 0 44px;width:44px;height:44px;min-width:44px;max-width:44px;min-height:44px;max-height:44px;aspect-ratio:1;border-radius:50%;padding:11px;transform:none}.arcade-header .arcade-tool svg{flex:0 0 20px;width:20px;height:20px;min-width:20px;min-height:20px}
/* All games use one centered, accessible pause dialog. */
body{--chrome-panel:#fffdf7;--cta-glow:#839075;--cta-fill:#747f60;--cta-ink:#fffdf5}body[data-arcade-theme=stack]{--chrome-panel:#fffaf3;--cta-glow:#b68566;--cta-fill:#a67d62;--cta-ink:#fffaf0}body[data-arcade-theme=ghost]{--chrome-panel:#2b1c37;--cta-glow:#ccff70;--cta-fill:#ccff70;--cta-ink:#293223}body[data-arcade-theme=lobby]{--cta-glow:#7c8795;--cta-fill:#414b59;--cta-ink:#fff}
body.arcade-pause-open{overflow:hidden}.arcade-pause{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:min(360px,calc(100vw - 40px));height:max-content;max-height:calc(100dvh - 40px);overflow:auto;padding:28px 24px;border:1px solid var(--chrome-line,#ded8c9);border-radius:22px;background:var(--chrome-panel);color:var(--chrome-ink,#595c49);box-shadow:0 18px 70px #18182444;text-align:center;font:16px/1.5 Arial,'Microsoft JhengHei',sans-serif}.arcade-pause[open]{display:block}.arcade-pause::backdrop{background:#15161e88;backdrop-filter:blur(3px)}.arcade-pause .arcade-pause-picture{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 15px;border-radius:50%;background:color-mix(in srgb,var(--cta-glow) 16%,transparent);color:var(--cta-glow)}.arcade-pause-picture .arcade-symbol{width:27px;height:27px}.arcade-pause #arcade-pause-title{font-size:24px;line-height:1.3;letter-spacing:0;margin:0 0 10px;text-align:center;color:inherit}.arcade-pause p{font-size:16px;margin:0 0 24px;color:inherit}.arcade-pause #arcade-pause-resume{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:50px;padding:12px 20px;border:0;border-radius:12px;background:var(--cta-fill);color:var(--cta-ink);font:600 16px/1.5 Arial,'Microsoft JhengHei',sans-serif;cursor:pointer}
/* Reversible press feedback for normal buttons, distinct from CTA invitations. */
button,a.play-button{transition:scale .12s ease-out,filter .15s ease-out}.arcade-pressed,a.arcade-pressed{scale:.96}button:disabled{cursor:default}.arcade-invite{position:relative;transform-origin:center;--invite-duration:2.8s}.arcade-invite::after{content:'';position:absolute;inset:-5px;border:1px solid var(--cta-glow);border-radius:inherit;pointer-events:none;opacity:0;animation:arcade-halo var(--invite-duration) ease-out infinite}
#start.arcade-invite,#replay.arcade-invite,#drop.arcade-invite,#scare.arcade-invite,#arcade-pause-resume.arcade-invite{animation:arcade-beckon var(--invite-duration) ease-in-out infinite}
#scare.arcade-invite.holding,#scare.arcade-invite:disabled,#drop.arcade-invite:disabled{animation:none}#scare.arcade-invite.holding::after,#scare.arcade-invite:disabled::after,#drop.arcade-invite:disabled::after{animation:none;opacity:0}
body.tutorial #scare.arcade-invite{animation:none}body.tutorial #scare.arcade-invite::after{animation:none}#start.arcade-invite:active,#replay.arcade-invite:active,#drop.arcade-invite:active,#scare.arcade-invite:active,#arcade-pause-resume.arcade-invite:active{animation:none}
@keyframes arcade-beckon{0%,65%,100%{transform:translateY(0)}28%,38%{transform:translateY(-2px)}}
@keyframes arcade-halo{0%,12%{opacity:0;transform:scale(.98)}28%{opacity:.42;transform:scale(1)}60%,100%{opacity:0;transform:scale(1.035)}}
@media(prefers-reduced-motion:reduce){button,a.play-button{transition:none}.arcade-invite,.arcade-invite::after,#start.arcade-invite,#replay.arcade-invite,#drop.arcade-invite,#scare.arcade-invite,#arcade-pause-resume.arcade-invite{animation:none!important}.arcade-pressed,a.arcade-pressed{scale:.98}}

#start.arcade-invite:active{transform:none}

/* Optional, generic primary CTA and image-export components for new games. */
button.arcade-invite{animation:arcade-beckon var(--invite-duration,2.8s) ease-in-out infinite}button.arcade-invite:disabled{animation:none!important}button.arcade-invite:disabled::after{animation:none;opacity:0}.arcade-image-preview{padding:18px;border:1px solid var(--chrome-line,#ded8c9);border-radius:18px;background:var(--chrome-panel,#fffdf7);color:var(--chrome-ink,#595c49);width:min(96vw,480px);max-height:94dvh;overflow:auto}.arcade-image-preview::backdrop{background:#15161ecc}.export-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.export-heading h2{font-size:20px;margin:0}.export-heading button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:8px;background:transparent;color:inherit;border:0}.arcade-image-preview>p{font-size:14px;line-height:1.6;margin:8px 0 14px}.arcade-image-preview img{display:block;width:100%;height:auto;border-radius:9px;user-select:auto;-webkit-user-select:auto;-webkit-touch-callout:default}.export-download{display:flex;justify-content:center;align-items:center;min-height:48px;border-radius:11px;margin-top:14px;padding:10px;background:var(--cta-fill,#747f60);color:var(--cta-ink,#fff);font-size:16px;font-weight:bold;text-decoration:none}@media(prefers-reduced-motion:reduce){button.arcade-invite{animation:none!important}}

body.arcade-export-open{overflow:hidden}

.export-open{display:block;text-align:center;padding:12px;min-height:44px;font-size:14px;color:inherit}
