/* Shared finishing touches; each game keeps its own layout and palette. */
:root{--game-focus:#294f93}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{touch-action:manipulation}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--game-focus);outline-offset:4px}
:where(button):disabled{cursor:default;opacity:.48;transform:none!important;box-shadow:none!important}
:where(.btn){min-height:46px}
:where(body:not(.artist-adventure)) .btn:not(.ghost):not(.plain):not(.mint){background:#a73e53;color:#fff;box-shadow:0 4px 0 #7b2a3b}
:where(.sw){min-width:38px;min-height:38px}
:where(.modes){flex-wrap:wrap}
:where(.panel,.controls,.side,.body){min-width:0}
:where(h1){text-shadow:none!important}
:where(.topbar){gap:8px}
:where(.topbar a){min-height:44px}
:where(.sr){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.game-guide{margin:0 0 20px;padding:12px 17px;border:1px solid #eadfd4;border-radius:16px;background:#fff;font-size:.9rem;color:#534b59}
.game-guide summary{cursor:pointer;font-weight:750;min-height:24px}
.game-guide p{margin:10px 0 3px;max-width:75ch}
@media(max-width:420px){.grid{grid-template-columns:minmax(0,1fr)}.topbar a{font-size:.8rem}.topbar{position:relative!important}.btn{padding-inline:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
