/* Shared interaction contract. Information-only cards intentionally stay still. */
a[href],button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition-timing-function:var(--ease-out)}
a[href]:focus-visible,button:focus-visible,.gallery:focus-visible{outline:3px solid #b57843;outline-offset:4px}
a[href]:active,button:active,.is-pressed{opacity:.76!important}
.button:active,.button.is-pressed,.circle-button:active,.circle-button.is-pressed,.menu-toggle:active,.menu-toggle.is-pressed{transform:scale(.97)!important}
.text-action{display:inline-flex;align-items:center;gap:6px;min-height:44px;text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:transparent;transition:transform .16s var(--ease-out),opacity .16s var(--ease-out)}
.brand,.footer-brand{transition:opacity .16s var(--ease-out)}.brand:active,.footer-brand:active{opacity:.7}
.button,.circle-button,.menu-toggle,.ticker-toggle,.story-steps button,.gallery-dots button{min-width:44px;min-height:44px}
.circle-button,.menu-toggle,.ticker-toggle{transition:transform .16s var(--ease-out),opacity .16s var(--ease-out)}
.menu-toggle{border-radius:12px;position:relative}.menu-toggle:before{content:"";position:absolute;inset:0;border-radius:inherit;background:#ead8c8;opacity:0;z-index:-1;transition:opacity .16s var(--ease-out)}.menu-toggle[aria-expanded=true]:before{opacity:.65}.menu-toggle span{transform-origin:center;transition:transform .18s var(--ease-out),opacity .16s var(--ease-out)}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.gallery-dots{gap:4px;margin-top:15px}.gallery-dots button{position:relative;width:44px;height:44px;padding:20px 4px;background:transparent!important;border:0;border-radius:10px}.gallery-dots button:after{content:"";display:block;width:28px;height:4px;border-radius:3px;background:#d9c8b9;transform:scaleX(.7);transition:transform .18s var(--ease-out),opacity .18s var(--ease-out)}.gallery-dots button[aria-pressed=true]:after{background:#a46c42;transform:scaleX(1)}
.story-steps{gap:3px}.story-steps button{border-radius:10px;padding:20px 5px}.story-steps button[aria-pressed=true]{background:#d9bc9924}
.ticker-toggle[aria-pressed=true]{border-color:currentColor}.ticker-toggle:active,.story-steps button:active,.gallery-dots button:active{transform:scale(.95)}
.hero-art-card:focus-visible,.game-cover:focus-visible{outline-offset:6px}.game-cover:focus-visible .cover-open{background:#fff2}.hero-art-card:active,.game-cover:active{opacity:.9!important}
.media-dialog.is-closing{animation:media-exit .17s var(--ease-in) both}.media-dialog.is-closing::backdrop{animation:media-veil-exit .17s var(--ease-in) both}.dialog-content{position:relative;min-height:120px}.dialog-close{width:44px;height:44px;top:5px;right:9px;z-index:3}.media-status{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:15px;flex-direction:column;color:#f7eee7;font-size:13px;background:#211a2abf;border-radius:12px;padding:24px;text-align:center}.media-status:not([data-state=error]):before{content:"";width:21px;height:21px;border:2px solid #f0e3d82b;border-top-color:#e4b28b;border-radius:50%;animation:media-wait .9s linear infinite}.media-retry{background:#f0dcc7;color:#30263a;border:0;font-size:13px;min-height:44px}.media-status[hidden]{display:none!important}
@keyframes media-wait{to{transform:rotate(360deg)}}@keyframes media-exit{to{opacity:0;transform:translateY(6px) scale(.985)}}@keyframes media-veil-exit{to{opacity:0}}
@media(hover:hover) and (pointer:fine){.text-action:hover,.text-action:focus-visible{text-decoration-color:currentColor;transform:translateY(-1px)}.brand:hover,.footer-brand:hover{opacity:.78}.button-outline:hover{background:#e5d3c24a}.button-plain:hover{text-decoration:underline;text-underline-offset:5px}.circle-button:hover{transform:translateY(-2px)}.menu-toggle:hover:before{opacity:.4}.ticker-toggle:hover{opacity:.75}.gallery-dots button:hover:after{transform:scaleX(1)}.story-steps button:hover{background:#d9bc9920}.hero-note .text-action:hover{transform:translateX(2px)}}
@media(hover:none){.button:hover,.hero-art-card:hover,.circle-button:hover{transform:none}.button:hover svg{transform:none}.shine-sweep{display:none}.motion-card:hover{box-shadow:none}}
@media(prefers-reduced-motion:reduce){a[href],button,a[href]:before,a[href]:after,button:before,button:after,.menu-toggle span{transition:none!important}.button:active,.button.is-pressed,.circle-button:active,.circle-button.is-pressed,.menu-toggle:active,.menu-toggle.is-pressed,.ticker-toggle:active,.story-steps button:active,.gallery-dots button:active,.text-action:hover,.text-action:focus-visible{transform:none!important}.media-status:not([data-state=error]):before{animation:none}.media-dialog.is-closing,.media-dialog.is-closing::backdrop{animation:none}}

.site-header nav>a{min-height:44px;display:inline-flex;align-items:center}

@media(prefers-reduced-motion:reduce){.circle-button:hover,.button:hover,.hero-art-card:hover,.button:hover svg{transform:none!important}}

/* The large split-layout cover remains flush with its neighboring panel. */
.game-cover,.game-cover:hover,.game-cover:active,.game-cover.is-pressed,.game-cover:focus-visible{transform:none!important;box-shadow:none!important}.game-cover .cover-open{transition:transform .18s var(--ease-out),opacity .18s var(--ease-out)}@media(hover:hover) and (pointer:fine){.game-cover:hover .cover-open{transform:translate(2px,-2px);background:#fff1}}@media(prefers-reduced-motion:reduce){.game-cover:hover .cover-open{transform:none!important}}
