.game-wrap{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-inline:clamp(1rem,4vw,3rem)}.game-wrap[data-fullscreen-required=true] [data-game-stage]{display:none}.game-wrap[data-fullscreen-required=true][data-fullscreen-active=true] [data-game-stage],.game-wrap[data-fullscreen-required=true]:fullscreen [data-game-stage]{display:flex;flex-direction:column}.game-wrap[data-fullscreen-active=true] [data-game-page-chrome],.game-wrap[data-fullscreen-active=true] [data-game-fullscreen-gate]{display:none!important}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]){max-width:100%;width:100%;height:100%;max-height:100svh;background:var(--page-bg-light);padding:clamp(.5rem,1.8svmin,1rem);overflow:hidden;display:flex;flex-direction:column;gap:0;box-sizing:border-box;overscroll-behavior:none}html.dark .game-wrap:is(:fullscreen,[data-fullscreen-active=true]){background:var(--page-bg-dark)}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) [data-game-page-chrome]{display:none!important}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) [data-game-stage]{flex:1 1 auto;width:100%;height:auto;min-height:0;max-width:100%;overflow:hidden;display:flex;flex-direction:column;box-sizing:border-box;padding:clamp(.5rem,1.5svmin,1rem)!important;margin:0!important}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) [data-wuxia-shell],.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-root{flex:1 1 auto;height:100%;min-height:0;overflow:hidden}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) [data-wuxia-shell]{height:100%}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) [data-game-stats],.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) [data-game-status],.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) [data-game-actions],.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) [data-game-hint],.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .game-pad{margin-top:0!important;margin-bottom:0!important;min-width:0}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) [data-game-status]{min-height:1.25rem;line-height:1.25}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) [data-game-actions]{align-self:stretch;display:grid;grid-template-columns:1fr!important}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) [data-game-actions] .btn-sm,.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) [data-game-actions] .btn-accent,.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) [data-game-actions] .btn-secondary{min-height:2.1rem;padding:.34rem .48rem;font-size:.78rem}[data-game-actions] .btn-sm,[data-game-actions] .btn-accent,[data-game-actions] .btn-secondary{gap:.32rem;min-width:0;overflow:hidden;line-height:1.05;white-space:nowrap}[data-game-actions] .btn-accent:focus-visible,[data-game-actions] .btn-secondary:focus-visible,[data-game-actions] a:focus-visible{outline:3px solid var(--accent-light, #8b1a1a);outline-offset:3px;box-shadow:0 0 0 1px var(--page-bg-light),0 0 0 5px #8b1a1a29}html.dark [data-game-actions] .btn-accent:focus-visible,html.dark [data-game-actions] .btn-secondary:focus-visible,html.dark [data-game-actions] a:focus-visible{outline-color:var(--accent-dark, #d4a84b);box-shadow:0 0 0 1px var(--page-bg-dark),0 0 0 5px #d4a84b2e}.game-action-icon{display:inline-grid;flex:0 0 auto;place-items:center;width:1.22rem;height:1.22rem;border:1px solid currentColor;border-radius:3px;font-family:var(--font-mono);font-size:.74rem;font-weight:800;line-height:1;opacity:.92}.game-action-label{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-wrap:is(:fullscreen,[data-fullscreen-active=true])[data-game-slug="2048"] [data-game-stage],.game-wrap:is(:fullscreen,[data-fullscreen-active=true])[data-game-slug=snake] [data-game-stage],.game-wrap:is(:fullscreen,[data-fullscreen-active=true])[data-game-slug=tetris] [data-game-stage]{display:grid;gap:clamp(.45rem,1.3svmin,.75rem);align-content:center;align-items:center;justify-items:stretch}.game-wrap:is(:fullscreen,[data-fullscreen-active=true])[data-game-slug="2048"] [data-game-stage],.game-wrap:is(:fullscreen,[data-fullscreen-active=true])[data-game-slug=snake] [data-game-stage]{grid-template-columns:minmax(8rem,.78fr) minmax(0,auto) minmax(8rem,.78fr);grid-template-rows:auto auto auto;grid-template-areas:"stats board actions" "status board pad" "hint board pad"}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) [data-game-stats]{grid-area:stats}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) [data-game-status]{grid-area:status}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) [data-game-actions]{grid-area:actions}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .game-pad{grid-area:pad}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) [data-game-hint]{grid-area:hint}.game-wrap:is(:fullscreen,[data-fullscreen-active=true])[data-game-slug="2048"] [data-game-2048-board]{grid-area:board;width:min(58svw,66svh,720px);max-width:100%}.game-wrap:is(:fullscreen,[data-fullscreen-active=true])[data-game-slug=snake] [data-game-snake-board]{grid-area:board;width:min(72svw,126svh,1100px);max-width:100%}.game-wrap:is(:fullscreen,[data-fullscreen-active=true])[data-game-slug=tetris] [data-game-stage]{grid-template-columns:minmax(8rem,.85fr) minmax(0,auto) minmax(9rem,.85fr);grid-template-rows:auto auto auto;grid-template-areas:"stats play actions" "status play pad" "hint play pad"}.game-wrap:is(:fullscreen,[data-fullscreen-active=true])[data-game-slug=tetris] .game-tetris-stage{grid-area:play;min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,auto) minmax(4.5rem,7rem);gap:clamp(.35rem,1svmin,.65rem);align-items:start;justify-content:center}.game-wrap:is(:fullscreen,[data-fullscreen-active=true])[data-game-slug=tetris] [data-game-tetris-board]{width:min(30svw,calc((100svh - 4rem)/2),420px);max-width:100%}.game-wrap:is(:fullscreen,[data-fullscreen-active=true])[data-game-slug=tetris] .game-tetris-next-card{padding:.4rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true])[data-game-slug=tetris] .game-tetris-next-label{margin-bottom:.25rem}@media(orientation:portrait),(max-width:720px){.game-wrap:is(:fullscreen,[data-fullscreen-active=true])[data-game-slug="2048"] [data-game-stage],.game-wrap:is(:fullscreen,[data-fullscreen-active=true])[data-game-slug=snake] [data-game-stage],.game-wrap:is(:fullscreen,[data-fullscreen-active=true])[data-game-slug=tetris] [data-game-stage]{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,auto) auto auto auto;grid-template-areas:"stats" "board" "status" "actions" "pad";justify-items:center;align-content:center}.game-wrap:is(:fullscreen,[data-fullscreen-active=true])[data-game-slug=tetris] [data-game-stage]{grid-template-areas:"stats" "play" "status" "actions" "pad"}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) [data-game-stats],.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) [data-game-actions]{width:min(100%,24rem)}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) [data-game-actions]{grid-template-columns:repeat(auto-fit,minmax(4.8rem,1fr))!important}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) [data-game-hint]{display:none!important}.game-wrap:is(:fullscreen,[data-fullscreen-active=true])[data-game-slug="2048"] [data-game-2048-board]{width:min(92svw,calc(100svh - 16rem),560px)}.game-wrap:is(:fullscreen,[data-fullscreen-active=true])[data-game-slug=snake] [data-game-snake-board]{width:min(92svw,calc((100svh - 16rem)*2),820px)}.game-wrap:is(:fullscreen,[data-fullscreen-active=true])[data-game-slug=tetris] .game-tetris-stage{grid-template-columns:minmax(0,auto) minmax(4rem,5.5rem)}.game-wrap:is(:fullscreen,[data-fullscreen-active=true])[data-game-slug=tetris] [data-game-tetris-board]{width:min(64svw,calc((100svh - 19rem)/2),340px)}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .game-pad{max-width:min(13rem,58svw);gap:.28rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .game-pad-btn{min-width:42px;min-height:42px;padding:.3rem;font-size:1rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .game-action-icon{width:1.08rem;height:1.08rem;font-size:.66rem}}@media(max-height:520px){.game-wrap:is(:fullscreen,[data-fullscreen-active=true]){padding:.35rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) [data-game-stage]{padding:.35rem!important}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) [data-game-hint]{display:none!important}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .game-stat-pill{padding:.25rem .3rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .game-stat-pill-label{font-size:.54rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .game-stat-pill-value{font-size:.86rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) [data-game-status]{font-size:.75rem;min-height:1rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) [data-game-actions] .btn-sm,.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) [data-game-actions] .btn-accent,.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) [data-game-actions] .btn-secondary{min-height:1.75rem;padding:.2rem .36rem;font-size:.68rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .game-pad{max-width:10rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .game-pad-btn{min-width:34px;min-height:34px;font-size:.86rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .game-action-icon{width:.96rem;height:.96rem;font-size:.58rem}}.game-fullscreen-gate{display:grid;place-items:center;min-height:clamp(12rem,32vh,20rem);padding:clamp(1rem,4vw,2rem);border:1px solid #d4c4a8;border-radius:4px;background:var(--page-bg-light)}html.dark .game-fullscreen-gate{background:var(--page-bg-dark);border-color:#5c4433}.game-fullscreen-card{display:grid;gap:.65rem;justify-items:center;text-align:center;max-width:42rem}.game-fullscreen-kicker{margin:0;font-family:var(--font-serif, var(--font-sans-latin));font-size:1.1rem;font-weight:700;color:#6f6256}html.dark .game-fullscreen-kicker{color:#cfc2ae}.game-fullscreen-summary{max-width:44ch;margin:0;color:var(--text-color-light, #2c1810);font-size:.92rem;line-height:1.45}html.dark .game-fullscreen-summary{color:var(--text-color-dark, #f0e6d3)}.game-fullscreen-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem;padding:0;margin:.1rem 0 0;list-style:none}.game-fullscreen-controls li{padding:.22rem .45rem;border:1px solid #d4c4a8;border-radius:3px;background:var(--page-surface-light);color:#4d3a29;font-family:var(--font-mono);font-size:.7rem;line-height:1.25}html.dark .game-fullscreen-controls li{border-color:#5c4433;background:var(--page-surface-dark);color:#d8c9b5}.game-fullscreen-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.75rem;padding:.55rem .9rem;border:1px solid #d4c4a8;border-radius:3px;background:var(--page-surface-light);color:inherit;font-family:var(--font-mono);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .12s var(--ease-gentle),border-color .12s var(--ease-gentle)}html.dark .game-fullscreen-btn{background:var(--page-surface-dark);border-color:#5c4433}.game-fullscreen-btn:hover:not(:disabled){border-color:var(--accent-light, #8b1a1a);background:#faf6ed}html.dark .game-fullscreen-btn:hover:not(:disabled){border-color:var(--accent-dark, #d4a84b);background:#2a1a10}.game-fullscreen-btn:focus-visible{outline:2px solid var(--accent-light, #8b1a1a);outline-offset:2px}html.dark .game-fullscreen-btn:focus-visible{outline-color:var(--accent-dark, #d4a84b)}.game-fullscreen-btn:disabled{opacity:.5;cursor:not-allowed}.game-fullscreen-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.55rem;margin-top:.1rem}.game-fullscreen-link{display:inline-flex;min-height:2.75rem;align-items:center;justify-content:center;padding:.55rem .75rem;border:1px solid #d4c4a8;border-radius:3px;color:#4d3a29;font-family:var(--font-mono);font-size:.82rem;transition:background .12s var(--ease-gentle),border-color .12s var(--ease-gentle)}.game-fullscreen-link:hover{border-color:var(--accent-light, #8b1a1a);background:#faf6ed}.game-fullscreen-link:focus-visible{outline:2px solid var(--accent-light, #8b1a1a);outline-offset:2px}html.dark .game-fullscreen-link{border-color:#5c4433;color:#d8c9b5}html.dark .game-fullscreen-link:hover{border-color:var(--accent-dark, #d4a84b);background:#2a1a10}html.dark .game-fullscreen-link:focus-visible{outline-color:var(--accent-dark, #d4a84b)}.game-wrap[data-fullscreen-supported=false] [data-game-fullscreen-entry],.game-fullscreen-unsupported{display:none}.game-wrap[data-fullscreen-supported=false] [data-game-fullscreen-unsupported]{display:grid}.game-wrap[data-fullscreen-active=true] .game-fullscreen-btn{background:var(--accent-light, #8b1a1a);color:#fff8e8;border-color:var(--accent-light, #8b1a1a)}html.dark .game-wrap[data-fullscreen-active=true] .game-fullscreen-btn{background:var(--accent-dark, #d4a84b);color:#2c1810;border-color:var(--accent-dark, #d4a84b)}.game-tutorial{width:min(100%,56rem);margin-inline:auto;padding:clamp(1rem,3vw,1.35rem);border:1px solid #d4c4a8;border-radius:4px;background:var(--page-surface-light);color:var(--text-color-light, #2c1810);box-shadow:none}html.dark .game-tutorial{border-color:#5c4433;background:var(--page-surface-dark);color:var(--text-color-dark, #f0e6d3);box-shadow:none}.game-tutorial-head{display:grid;gap:.35rem;max-width:68ch}.game-tutorial-label{color:#7a5809;font-family:var(--font-mono);font-size:.72rem;font-weight:700}html.dark .game-tutorial-label{color:#d4a84b}.game-tutorial h2,.game-tutorial h3,.game-tutorial p,.game-tutorial ol,.game-tutorial ul{margin:0}.game-tutorial h2{color:#6f2d1f;font-family:var(--font-serif, var(--font-sans-latin));font-size:clamp(1.2rem,2vw,1.55rem);font-weight:700;line-height:1.2}html.dark .game-tutorial h2{color:#f0d08a}.game-tutorial-head p{color:#4d3a29;font-size:.94rem;line-height:1.55}html.dark .game-tutorial-head p{color:#d8c9b5}.game-tutorial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.85rem,2.5vw,1.2rem);margin-top:1rem}.game-tutorial-list{min-width:0;padding-top:.85rem;border-top:1px solid rgba(59,35,20,.14)}html.dark .game-tutorial-list{border-top-color:#d4a84b33}.game-tutorial-list h3{color:#6f6256;font-family:var(--font-mono);font-size:.78rem;font-weight:700}html.dark .game-tutorial-list h3{color:#cfc2ae}.game-tutorial-list ol,.game-tutorial-list ul{display:grid;gap:.45rem;margin-top:.55rem;padding-left:1.2rem;color:#3b2314;font-size:.88rem;line-height:1.45}html.dark .game-tutorial-list ol,html.dark .game-tutorial-list ul{color:#f0e6d3}.game-tutorial-list li::marker{color:#8b1a1a;font-weight:700}html.dark .game-tutorial-list li::marker{color:#d4a84b}@media(max-width:700px){.game-tutorial-grid{grid-template-columns:1fr}}.game-leaderboard{width:min(100%,56rem);margin-inline:auto;padding:clamp(1rem,3vw,1.35rem);border:1px solid #d4c4a8;border-radius:4px;background:var(--page-surface-light);color:var(--text-color-light, #2c1810)}html.dark .game-leaderboard{border-color:#5c4433;background:var(--page-surface-dark);color:var(--text-color-dark, #f0e6d3)}.game-leaderboard-head{display:flex;align-items:center;justify-content:space-between;gap:.85rem}.game-leaderboard-kicker{margin:0;color:#7a5809;font-family:var(--font-mono);font-size:.72rem;font-weight:700}html.dark .game-leaderboard-kicker{color:#d4a84b}.game-leaderboard-title{margin:.1rem 0 0;color:#6f2d1f;font-family:var(--font-serif, var(--font-sans-latin));font-size:clamp(1.15rem,2vw,1.45rem);font-weight:700;line-height:1.2}html.dark .game-leaderboard-title{color:#f0d08a}.game-leaderboard-actions{flex:0 0 auto}.game-leaderboard-submit{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:2.35rem;max-width:12rem;padding:.45rem .7rem;border:1px solid #d4c4a8;border-radius:3px;background:var(--page-bg-light);color:#4d3a29;font-family:var(--font-mono);font-size:.78rem;font-weight:700;line-height:1.15;text-align:center;cursor:pointer}html.dark .game-leaderboard-submit{border-color:#5c4433;background:var(--page-bg-dark);color:#d8c9b5}.game-leaderboard-submit:hover:not(:disabled){border-color:var(--accent-light, #8b1a1a);background:#faf6ed}html.dark .game-leaderboard-submit:hover:not(:disabled){border-color:var(--accent-dark, #d4a84b);background:#2a1a10}.game-leaderboard-submit:disabled{cursor:not-allowed;opacity:.55}.game-leaderboard-submit:focus-visible{outline:2px solid var(--accent-light, #8b1a1a);outline-offset:2px}html.dark .game-leaderboard-submit:focus-visible{outline-color:var(--accent-dark, #d4a84b)}.game-leaderboard-status{min-height:1.25rem;margin:.65rem 0 0;color:#4d3a29;font-size:.86rem;line-height:1.4}.game-leaderboard-status[data-tone=ok]{color:#2f6f5d}.game-leaderboard-status[data-tone=warn]{color:#8b1a1a}html.dark .game-leaderboard-status{color:#d8c9b5}html.dark .game-leaderboard-status[data-tone=ok]{color:#88d2bd}html.dark .game-leaderboard-status[data-tone=warn]{color:#ff9a88}.game-leaderboard-list{display:grid;gap:.35rem;margin:.85rem 0 0;padding:0;list-style:none}.game-leaderboard-row{display:grid;grid-template-columns:3rem minmax(0,1fr) minmax(4.5rem,auto);align-items:center;gap:.6rem;min-height:2.25rem;padding:.32rem .45rem;border:1px solid rgba(59,35,20,.12);border-radius:3px;background:var(--page-bg-light);font-family:var(--font-mono);font-size:.82rem}html.dark .game-leaderboard-row{border-color:#d4a84b29;background:var(--page-bg-dark)}.game-leaderboard-rank{color:#7a5809;font-weight:800}html.dark .game-leaderboard-rank{color:#d4a84b}.game-leaderboard-player{min-width:0;overflow:hidden;color:inherit;text-overflow:ellipsis;white-space:nowrap}.game-leaderboard-player:hover{color:var(--accent-light, #8b1a1a)}html.dark .game-leaderboard-player:hover{color:var(--accent-dark, #d4a84b)}.game-leaderboard-score{justify-self:end;font-variant-numeric:tabular-nums;font-weight:800}.game-leaderboard-empty{min-height:2.25rem;padding:.45rem;border:1px dashed rgba(59,35,20,.18);border-radius:3px;color:#6f6256;font-size:.86rem}html.dark .game-leaderboard-empty{border-color:#d4a84b33;color:#cfc2ae}@media(max-width:520px){.game-leaderboard-head{align-items:stretch;flex-direction:column}.game-leaderboard-actions,.game-leaderboard-submit{width:100%;max-width:none}.game-leaderboard-row{grid-template-columns:2.7rem minmax(0,1fr) minmax(3.8rem,auto);gap:.45rem;font-size:.76rem}}.game-stat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:.5rem}.game-stat-pill{display:flex;flex-direction:column;align-items:center;padding:.45rem .4rem;border-radius:4px;background:var(--page-bg-light);border:1px solid #d4c4a8;font-family:var(--font-mono)}html.dark .game-stat-pill{background:var(--page-bg-dark);border-color:#5c4433}.game-stat-pill-label{font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;opacity:.78}.game-stat-pill-value{font-size:1.05rem;font-weight:700;color:#2c1810;line-height:1.2}html.dark .game-stat-pill-value{color:#f0e6d3}.game-stat-pill[data-tone=gold] .game-stat-pill-value{color:#c9920f}.game-stat-pill[data-tone=hp] .game-stat-pill-value{color:#357a2c}.game-stat-pill[data-tone=venetian] .game-stat-pill-value{color:#8b1a1a}html.dark .game-stat-pill[data-tone=gold] .game-stat-pill-value{color:#d4a84b}html.dark .game-stat-pill[data-tone=hp] .game-stat-pill-value{color:#6dbb5b}html.dark .game-stat-pill[data-tone=venetian] .game-stat-pill-value{color:#e87060}.game-status-chip{display:flex;align-items:center;justify-content:center;min-height:2rem;padding:.35rem .65rem;border:1px solid #d4c4a8;border-radius:4px;background:var(--page-bg-light);color:var(--text-color-light, #2c1810);font-family:var(--font-serif, var(--font-sans-latin));font-size:.88rem;text-align:center}html.dark .game-status-chip{border-color:#5c4433;background:var(--page-bg-dark);color:var(--text-color-dark, #f0e6d3)}.game-status-chip[data-state=ready]{color:#6f6256}.game-status-chip[data-state=running]{color:#357a2c}.game-status-chip[data-state=paused],.game-status-chip[data-state=won]{border-color:#c9920f;color:#7a5809}.game-status-chip[data-state=over]{border-color:#8b1a1a;color:#8b1a1a}html.dark .game-status-chip[data-state=ready]{color:#cfc2ae}html.dark .game-status-chip[data-state=running]{color:#6dbb5b}html.dark .game-status-chip[data-state=paused],html.dark .game-status-chip[data-state=won]{border-color:#d4a84b;color:#d4a84b}html.dark .game-status-chip[data-state=over]{border-color:#e87060;color:#e87060}.game-pad{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:.55rem;max-width:240px;margin:0 auto}.game-pad[data-mobile-only=true]{display:none}@media(max-width:640px){.game-pad[data-mobile-only=true]{display:grid}}.game-pad-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:56px;min-height:56px;padding:.55rem .4rem;border-radius:4px;border:1px solid #d4c4a8;background:var(--page-bg-light);color:#2c1810;font-size:1.2rem;font-weight:700;font-family:var(--font-serif, var(--font-sans-latin));cursor:pointer;transition:background .12s var(--ease-gentle),border-color .12s var(--ease-gentle),transform .12s var(--ease-gentle);display:inline-flex;align-items:center;justify-content:center;gap:.28rem;overflow:hidden;text-align:center;white-space:nowrap}.game-pad-btn:hover:not(:disabled){border-color:var(--accent-light, #8b1a1a);background:#faf6ed}.game-pad-btn:active:not(:disabled){transform:translateY(1px)}html.dark .game-pad-btn{background:var(--page-bg-dark);border-color:#5c4433;color:#f0e6d3}html.dark .game-pad-btn:hover:not(:disabled){border-color:var(--accent-dark, #d4a84b);background:#2a1a10}.game-pad-btn:disabled{opacity:.4;cursor:not-allowed}.game-pad-btn:focus-visible{outline:3px solid var(--accent-light, #8b1a1a);outline-offset:3px;box-shadow:0 0 0 1px var(--page-bg-light),0 0 0 5px #8b1a1a29}html.dark .game-pad-btn:focus-visible{outline-color:var(--accent-dark, #d4a84b);box-shadow:0 0 0 1px var(--page-bg-dark),0 0 0 5px #d4a84b2e}.game-pad-icon{display:inline-grid;place-items:center;min-width:1em;line-height:1}.game-pad-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:.76rem;line-height:1}.game-pad-up{grid-column:2;grid-row:1}.game-pad-left{grid-column:1;grid-row:2}.game-pad-mid{grid-column:2;grid-row:2}.game-pad-right{grid-column:3;grid-row:2}.game-pad-down{grid-column:2;grid-row:3}.game-pad-extra{grid-column:1 / -1;grid-row:3}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .game-status-chip{min-height:1.75rem;padding-block:.25rem;font-size:.76rem}.game-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}@media(max-width:600px){.game-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.game-action-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:48px;padding:.85rem .7rem;border-radius:4px;border:1px solid #d4c4a8;background:var(--page-bg-light);color:#2c1810;font-family:var(--font-sans-latin);font-weight:600;font-size:.92rem;cursor:pointer;transition:background .12s var(--ease-gentle),border-color .12s var(--ease-gentle),transform .12s var(--ease-gentle)}.game-action-btn:hover:not(:disabled){border-color:var(--accent-light, #8b1a1a);background:#faf6ed}.game-action-btn:active:not(:disabled){transform:translateY(1px)}.game-action-btn:focus-visible{outline:2px solid var(--accent-light, #8b1a1a);outline-offset:2px}html.dark .game-action-btn{background:var(--page-bg-dark);border-color:#5c4433;color:#f0e6d3}html.dark .game-action-btn:hover:not(:disabled){border-color:var(--accent-dark, #d4a84b);background:#2a1a10}html.dark .game-action-btn:focus-visible{outline-color:var(--accent-dark, #d4a84b)}.game-action-btn:disabled{opacity:.45;cursor:not-allowed}.game-action-btn[data-tone=venetian]{border-color:#b04032;color:#8b1a1a}html.dark .game-action-btn[data-tone=venetian]{border-color:#b04032;color:#e87060}.game-modal-backdrop{position:fixed;inset:0;background:#140c0694;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem;animation:game-modal-fade .16s var(--ease-out-expo)}.game-modal{background:var(--page-surface-light);border:2px solid #d4a84b;border-radius:6px;max-width:540px;width:100%;max-height:86vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 12px 32px #00000052;animation:game-modal-rise .2s var(--ease-out-expo)}html.dark .game-modal{background:var(--page-surface-dark);color:var(--text-color-dark)}.game-modal[data-tone=good]{border-color:#6dbb5b}.game-modal[data-tone=bad]{border-color:#e87060}.game-modal[data-tone=venetian]{border-color:#8b1a1a}.game-modal-head{display:flex;align-items:center;justify-content:space-between;padding:.6rem .85rem;border-bottom:1px solid rgba(59,35,20,.14)}html.dark .game-modal-head{border-bottom-color:#d4a84b33}.game-modal-head h3{margin:0;font-family:var(--font-sans-latin);font-size:1.05rem;font-weight:700}.game-modal-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;cursor:pointer;font-size:1.5rem;line-height:1;padding:.2rem .45rem;margin:-.2rem -.45rem;border-radius:4px;color:inherit;transition:background .12s var(--ease-gentle)}.game-modal-close:hover{background:#3b231414}html.dark .game-modal-close:hover{background:#d4a84b1f}.game-modal-close:focus-visible{outline:2px solid var(--accent-light, #8b1a1a);outline-offset:1px}html.dark .game-modal-close:focus-visible{outline-color:var(--accent-dark, #d4a84b)}.game-modal-body{padding:.95rem 1.1rem;overflow:auto}.game-modal-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;padding:.6rem .85rem .85rem}.game-hint{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.02em;opacity:.78;text-align:center}.game-hint kbd{display:inline-block;padding:.05rem .35rem;border:1px solid #d4c4a8;border-bottom-width:2px;border-radius:3px;background:var(--page-surface-light);font-family:var(--font-mono);font-size:.7rem;margin:0 .1rem}html.dark .game-hint kbd{border-color:#5c4433;background:var(--page-surface-dark)}.game-save-manager{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem;border:1px solid #d4c4a8;border-radius:6px;background:var(--page-surface-light)}html.dark .game-save-manager{border-color:#5c4433;background:var(--page-surface-dark)}.game-save-manager-copy{min-width:0;display:grid;gap:.25rem}.game-save-manager-title{margin:0;color:#8b1a1a;font-family:var(--font-serif, var(--font-sans-latin));font-size:1.05rem;font-weight:700}html.dark .game-save-manager-title{color:#e08a4d}.game-save-manager-text,.game-save-manager-status{margin:0;font-size:.84rem;line-height:1.4}.game-save-manager-text{color:var(--text-color-light, #2c1810)}html.dark .game-save-manager-text{color:var(--text-color-dark, #f0e6d3)}.game-save-manager-status{color:#6f6256;font-family:var(--font-mono);font-size:.72rem}.game-save-manager-status[data-tone=warn]{color:#8b1a1a}html.dark .game-save-manager-status{color:#cfc2ae}html.dark .game-save-manager-status[data-tone=warn]{color:#ff9b8e}.game-save-manager-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}.game-save-manager-btn{min-width:5.25rem;min-height:2.35rem;padding:.45rem .8rem;border:1px solid #d4c4a8;border-radius:4px;background:var(--page-bg-light);color:#5a3f24;font-family:var(--font-sans-latin);font-size:.82rem;font-weight:700;line-height:1;cursor:pointer}.game-save-manager-btn:hover{border-color:#8b1a1a;color:#8b1a1a}.game-save-manager-btn:focus-visible{outline:3px solid var(--accent-light, #8b1a1a);outline-offset:3px;box-shadow:0 0 0 1px var(--page-bg-light),0 0 0 5px #8b1a1a29}.game-save-manager-btn-danger{color:#8b1a1a}html.dark .game-save-manager-btn{border-color:#5c4433;background:var(--page-bg-dark);color:#d8c9b5}html.dark .game-save-manager-btn:hover{border-color:#d4a84b;color:#d4a84b}html.dark .game-save-manager-btn:focus-visible{outline-color:var(--accent-dark, #d4a84b);box-shadow:0 0 0 1px var(--page-bg-dark),0 0 0 5px #d4a84b2e}html.dark .game-save-manager-btn-danger{color:#ff9b8e}.game-hub-section{display:grid;gap:.75rem}.game-hub-section-head{display:flex;align-items:baseline;justify-content:flex-start;gap:.5rem}.game-hub-section-title{font-family:var(--font-sans-latin);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#6f6256;margin:0}html.dark .game-hub-section-title{color:#cfc2ae}.game-hub-section-rule{flex:1;height:1px;background:#d4c4a8;opacity:.55}html.dark .game-hub-section-rule{background:#5c4433}.game-hub-grid{display:grid;grid-template-columns:1fr;gap:.85rem}@media(min-width:640px){.game-hub-grid{grid-template-columns:repeat(2,1fr)}}.game-hub-card{position:relative;display:flex;flex-direction:column;padding:1.1rem 1.1rem 1rem;transition:border-color .16s var(--ease-gentle),background .16s var(--ease-gentle)}.game-hub-card:hover{border-color:var(--accent-light, #8b1a1a);background:#faf6ed}html.dark .game-hub-card:hover{border-color:var(--accent-dark, #d4a84b);background:#20140d}.game-hub-card-row{display:flex;gap:.85rem;align-items:flex-start;margin-bottom:.5rem}.game-hub-card-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:4px;border:1px solid #d4c4a8;background:var(--page-bg-light);padding:5px}html.dark .game-hub-card-icon{background:var(--page-bg-dark);border-color:#5c4433}.game-hub-card-icon img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.game-hub-card-title{margin:0 0 .15rem;font-family:var(--font-serif, var(--font-sans-latin));font-size:1.2rem;font-weight:700;color:#8b1a1a}html.dark .game-hub-card-title{color:#e08a4d}.game-hub-card-meta{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;opacity:.7}.game-hub-card-progress{flex:0 0 auto;max-width:11rem;padding:.18rem .42rem;border:1px solid #d4c4a8;border-radius:999px;background:var(--page-surface-light);color:#5a3f24;font-family:var(--font-mono);font-size:.62rem;line-height:1.2;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-hub-card-progress[hidden]{display:none}.game-hub-card-progress[data-tone=saved]{border-color:#8b1a1a;color:#8b1a1a}.game-hub-card-progress[data-tone=best]{border-color:#c9920f;color:#7a5809}html.dark .game-hub-card-progress{border-color:#5c4433;background:var(--page-surface-dark);color:#d8c9b5}html.dark .game-hub-card-progress[data-tone=saved]{border-color:#e87060;color:#e87060}html.dark .game-hub-card-progress[data-tone=best]{border-color:#d4a84b;color:#d4a84b}.game-hub-card-blurb{margin:0 0 .85rem;font-size:.92rem;line-height:1.45;color:var(--text-color-light, #2c1810)}html.dark .game-hub-card-blurb{color:var(--text-color-dark, #f0e6d3)}.game-hub-card-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.game-hub-card-controls{flex:1 1 12rem;min-width:0;font-family:var(--font-mono);font-size:.72rem;line-height:1.6;opacity:.78}.game-hub-card-controls kbd{display:inline-block;padding:0 .3rem;border:1px solid #d4c4a8;border-bottom-width:2px;border-radius:3px;background:var(--page-surface-light);font-family:var(--font-mono);font-size:.68rem;margin:0 .08rem}html.dark .game-hub-card-controls kbd{border-color:#5c4433;background:var(--page-surface-dark)}.game-hub-card-play{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-inline-size:5.75rem;padding:.55rem 1.1rem;border-radius:4px;background:var(--accent-light, #8b1a1a);color:#fff8e8;font-family:var(--font-sans-latin);font-weight:600;line-height:1;text-decoration:none!important;border:1px solid transparent;white-space:nowrap;box-shadow:none;transition:background .14s var(--ease-gentle)}.game-hub-card-play,.game-hub-card-play:hover{color:#fff8e8!important}.game-hub-card-play:hover{background:#6e1414}html.dark .game-hub-card-play{background:#c9920f;color:#2c1810!important}html.dark .game-hub-card-play:hover{color:#2c1810!important;background:#d4a84b}.game-hub-card-play [data-game-play-label]{padding-inline:.05rem}.game-hub-card-play-arrow{transition:none}.game-terminal-note{padding:1rem 0;border-top:1px solid #d4c4a8}html.dark .game-terminal-note{border-top-color:#5c4433}@media(max-width:520px){.game-save-manager{grid-template-columns:1fr}.game-save-manager-actions{justify-content:stretch}.game-save-manager-btn{flex:1 1 6rem}.game-hub-card-foot{align-items:stretch;flex-direction:column}.game-hub-card-controls{flex-basis:auto}.game-hub-card-play{width:100%}}@keyframes game-modal-fade{0%{opacity:0}to{opacity:1}}@keyframes game-modal-rise{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes game-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.game-shake{animation:game-shake .32s var(--ease-gentle)}@keyframes game-flash{0%{background:var(--page-bg-light);box-shadow:0 0 #d4a84b00}40%{background:#f8e8b8;box-shadow:0 0 0 3px #d4a84b8c}to{background:var(--page-bg-light);box-shadow:0 0 #d4a84b00}}.game-flash{animation:game-flash .24s var(--ease-out-expo)}@keyframes game-pulse-soft{0%,to{box-shadow:0 0 #d4a84b8c}50%{box-shadow:0 0 0 4px #d4a84b00}}.game-pulse{animation:game-pulse-soft 1.6s var(--ease-gentle) infinite}@keyframes game-pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.06)}to{transform:scale(1);opacity:1}}.game-pop{animation:game-pop .2s var(--ease-out-expo)}@keyframes game-merge{0%{transform:scale(1)}40%{transform:scale(1.16)}to{transform:scale(1)}}.game-merge{animation:game-merge .2s var(--ease-out-expo)}@media(prefers-reduced-motion:reduce){.game-shake,.game-flash,.game-pulse,.game-pop,.game-merge,.game-modal,.game-modal-backdrop,.game-fullscreen-link,.game-hub-card,.game-hub-card-play,.game-hub-card-play-arrow{animation:none!important;transition:none!important}}[data-game-snake-board],[data-game-tetris-board],[data-game-2048-board]{touch-action:none;overscroll-behavior:contain}.game-pad-btn,.game-action-btn{touch-action:manipulation}
