:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--text:#1f261b;--muted:#282b1ba8;--page-bg:radial-gradient(circle at top, #fef1d1eb, #f3e4bbe6 34%, transparent 60%), linear-gradient(180deg, #d8c18f 0%, #c7ae74 46%, #9a7c47 100%);--shadow:0 24px 60px #4e351238;--panel:#fff9e7d6;--panel-strong:#fff6d7f2;--line:#583c1c24;--accent:#254e2d;--accent-warm:#c76543;--button-secondary-bg:#c7654324;--button-secondary-text:#6f341c;--button-surface:#fffcf2d1;--tile-surface:radial-gradient(circle at top right, #fff6, transparent 38%), linear-gradient(180deg, #fffcf2f2, #f7eccde6);--tile-border:#45381d1f;--tile-shadow:0 18px 32px #432f1226;--game-board-bg:#f6ebcb;--game-board-border:#45381d2e;--connect-board:#214f81;--connect-cell-bg:#dce6f1;--theme-toggle-bg:#254e2d24;--theme-toggle-text:#254e2d;font-family:Georgia,Times New Roman,serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--text:#edf1e7;--muted:#e1e7d7b8;--page-bg:radial-gradient(circle at top, #43585d8c, #1a1f26d1 34%, transparent 60%), linear-gradient(180deg, #182028 0%, #10161d 48%, #0b1016 100%);--shadow:0 24px 60px #0000006b;--panel:#141c21e0;--panel-strong:#1c262df5;--line:#b4c5b029;--accent:#9fd4a6;--accent-warm:#ef9f71;--button-secondary-bg:#ef9f7124;--button-secondary-text:#f6c3a1;--button-surface:#222c33e0;--tile-surface:radial-gradient(circle at top right, #ffffff1a, transparent 38%), linear-gradient(180deg, #222a31f5, #161c22f0);--tile-border:#adbaa726;--tile-shadow:0 18px 32px #00000047;--game-board-bg:#1d252c;--game-board-border:#adbaa729;--connect-board:#18385a;--connect-cell-bg:#d5dde5;--theme-toggle-bg:#9fd4a624;--theme-toggle-text:#d8eed8}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{min-height:100vh;color:var(--text);background:var(--page-bg);transition:background .18s,color .18s}button,.game-card,.connect-cell,.memory-card,.mole-hole{touch-action:manipulation}canvas{touch-action:none}button{font:inherit}a{color:inherit;text-decoration:none}#app{min-height:100vh}.shell{width:min(1280px,100vw - 32px);margin:0 auto;padding:24px 0 40px}.hero-panel,.cabinet,.panel-card,.library-panel,.stage-panel,.stat-card{background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:28px}.hero-panel{gap:24px;padding:28px;display:grid}.eyebrow,.section-label,.kicker,.note-card span,.stat-card span,.card-status,.card-genre,.meta-pair span{text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin:0;font-family:Trebuchet MS,Verdana,sans-serif;font-size:.72rem}.hero-copy{gap:12px;display:grid}.hero-copy h1,.cabinet-top h2,.stage-header h2,.empty-state h2{color:var(--text);margin:0;line-height:.95}.hero-copy h1{font-size:clamp(3rem,8vw,5.9rem)}.lede,.body-copy{max-width:58ch;margin:0;font-size:clamp(1rem,2vw,1.1rem);line-height:1.5}.hero-notes{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.note-card{background:var(--panel-strong);border:1px solid var(--line);border-radius:20px;gap:8px;padding:18px;display:grid}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.hub-layout{grid-template-columns:minmax(320px,.8fr) minmax(0,1.5fr);align-items:start;gap:24px;margin-top:24px;display:grid}.game-page-main{margin-top:24px}.game-stage{max-width:980px;margin:0 auto}.home-panel{margin-top:24px}.solo-panel{align-content:center;gap:14px;min-height:calc(100vh - 120px);margin-top:24px;display:grid}.back-link{justify-content:center;align-items:center;display:inline-flex}.back-link.is-inline{position:static}.library-panel,.stage-panel,.cabinet,.panel-card{padding:22px}.cabinet-top,.stage-header{justify-content:space-between;align-items:start;gap:16px;margin-bottom:18px;display:flex}.focus-row{justify-content:flex-end;margin-bottom:14px;display:flex}.cabinet-top h2,.stage-header h2,.empty-state h2{font-size:clamp(2rem,4.2vw,3rem)}.page-title{color:var(--text);margin:0;font-size:clamp(2.2rem,7vw,4.2rem);line-height:.95}.status-pill,.text-link{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent);white-space:nowrap;border:1px solid color-mix(in srgb, var(--accent) 14%, transparent);border-radius:999px;padding:10px 14px;font-family:Trebuchet MS,Verdana,sans-serif;font-size:.92rem}.theme-toggle{border:1px solid var(--line);background:var(--theme-toggle-bg);color:var(--theme-toggle-text);cursor:pointer;border-radius:999px;padding:10px 14px;font-family:Trebuchet MS,Verdana,sans-serif;font-size:.92rem}.theme-toggle:hover{transform:translateY(-1px)}.game-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.game-card{background:var(--tile-surface);border:1px solid var(--tile-border);border-radius:24px;gap:8px;min-height:184px;padding:16px;transition:transform .14s,box-shadow .14s,border-color .14s;display:grid;position:relative;overflow:hidden}.game-card:after{content:"";pointer-events:none;background:#ffffff29;border-radius:999px;width:94px;height:94px;position:absolute;inset:auto -8% -18% auto}.game-card:hover{box-shadow:var(--tile-shadow);border-color:color-mix(in srgb, var(--tile-border) 75%, white);transform:translateY(-3px)scale(1.01)}.card-top,.meta-pair{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.card-mark{letter-spacing:.18em;color:#fffaebe6;align-content:center;min-height:2.1rem;font-family:Trebuchet MS,Verdana,sans-serif;font-size:1rem}.game-card h3{margin:0;font-size:1.3rem;line-height:1.02}.game-card p,.card-footer{margin:0;line-height:1.35}.game-card p{max-width:22ch;font-size:.92rem}.card-footer{color:#201f18bd;margin-top:auto;font-family:Trebuchet MS,Verdana,sans-serif;font-size:.8rem}.game-card[data-game=caterpillar]{color:#fdf7dd;background:radial-gradient(circle at 78% 18%,#fff4d24d,#0000 26%),linear-gradient(135deg,#2f6f49,#78ab57 54%,#d7d17f)}.game-card[data-game=brick-breaker]{color:#fff3e6;background:linear-gradient(#ffffff1f,#0000 28%),repeating-linear-gradient(0deg,#c14a3d 0 18px,#9f322b 18px 20px,#e37f5e 20px 38px,#b44734 38px 40px)}.game-card[data-game="2048"]{color:#fff8e7;background:linear-gradient(135deg,#fff3,#0000 42%),linear-gradient(135deg,#7f5d32,#d9a34b 48%,#f3d374)}.game-card[data-game=memory-match]{color:#fff1fb;background:radial-gradient(circle at 24% 22%,#ffffff4d,#0000 18%),linear-gradient(135deg,#3f365f,#6b4ca3 54%,#d9868c)}.game-card[data-game=pong]{color:#eefbff;background:linear-gradient(90deg,#0000 49%,#ffffff61 49% 51%,#0000 51%),linear-gradient(135deg,#0c1725,#152d42 52%,#2f6278)}.game-card[data-game=block-stacker]{color:#fff6ef;background:linear-gradient(135deg,#ffffff29,#0000 40%),linear-gradient(135deg,#273d86,#7457d8 52%,#f08b37)}.game-card[data-game=connect-four]{color:#f3f8ff;background:radial-gradient(circle at 78% 24%,#efc446d9 0 14%,#0000 15%),radial-gradient(circle at 64% 44%,#d84e3fe0 0 14%,#0000 15%),linear-gradient(135deg,#124f99,#1d6ecc 52%,#79b4f4)}.game-card[data-game=whack-a-mole]{color:#fff8ee;background:radial-gradient(circle at 72% 78%,#56331d70 0 20%,#0000 21%),linear-gradient(#7eb35b,#5d8f46 34%,#7b5737 35%,#6a462e 100%)}.game-card[data-game] .card-top,.game-card[data-game] .card-footer,.game-card[data-game] p,.game-card[data-game] .card-status,.game-card[data-game] .card-genre{color:inherit}.game-card[data-game] .card-top{opacity:.84}.empty-state{align-content:center;gap:14px;min-height:420px;display:grid}.stage-copy{margin-bottom:18px}.play-grid{grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);align-items:start;gap:22px;display:grid}.game-board{aspect-ratio:1;background:var(--game-board-bg);border:2px solid var(--game-board-border);border-radius:24px;width:100%;display:block}.game-board.widescreen{aspect-ratio:1.38}.game-board.portrait{aspect-ratio:.56;max-height:760px}.control-panel{gap:16px;display:grid}.score-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.stat-card{background:var(--panel-strong);gap:12px;padding:18px 16px;display:grid}.stat-card strong{font-size:clamp(1.2rem,3vw,1.9rem)}.action-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.button{cursor:pointer;border:none;border-radius:16px;padding:14px 16px;font-family:Trebuchet MS,Verdana,sans-serif;transition:transform .14s,box-shadow .14s,background .14s}.button:hover,.touch-button:hover,.memory-card:hover,.mole-hole:hover,.connect-cell:hover{transform:translateY(-1px)}.button:focus-visible,.touch-button:focus-visible,.memory-card:focus-visible,.connect-cell:focus-visible,.mole-hole:focus-visible,.theme-toggle:focus-visible{outline-offset:2px;outline:3px solid #c7654373}.button-primary{background:var(--accent);color:#fff5de}.button-secondary{background:var(--button-secondary-bg);color:var(--button-secondary-text)}.field-label{text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin-bottom:10px;font-family:Trebuchet MS,Verdana,sans-serif;font-size:.72rem;display:block}.select-input{border:1px solid var(--line);background:var(--button-surface);width:100%;color:var(--text);border-radius:16px;padding:12px 14px;font-family:Trebuchet MS,Verdana,sans-serif;font-size:1rem}.touch-pad{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:".up.""left.right"".down.";gap:10px;display:grid}.compact-pad{grid-template-areas:".up.""left down right"}.touch-button{border:1px solid var(--line);background:var(--button-surface);min-height:70px;color:var(--accent);cursor:pointer;border-radius:20px;font-size:1.6rem}.touch-button.up{grid-area:up}.touch-button.left{grid-area:left}.touch-button.right{grid-area:right}.touch-button.down{grid-area:down}.board-2048,.memory-grid,.mole-grid,.connect-grid{border-radius:24px;gap:12px;display:grid}.board-2048{background:#b39b77;grid-template-columns:repeat(4,minmax(0,1fr));padding:12px}.tile-2048{aspect-ratio:1;color:#0000;background:#fff4df73;border-radius:18px;place-items:center;font-family:Trebuchet MS,Verdana,sans-serif;font-size:clamp(1.2rem,4vw,2.1rem);font-weight:700;display:grid}.tile-2048[data-value]{color:#51351b;background:#f8edd2}.tile-2048[data-value="4"]{background:#f0ddaf}.tile-2048[data-value="8"]{color:#fff8ea;background:#eaaf65}.tile-2048[data-value="16"]{color:#fff8ea;background:#df8748}.tile-2048[data-value="32"]{color:#fff8ea;background:#d06a42}.tile-2048[data-value="64"]{color:#fff8ea;background:#c65239}.tile-2048[data-value="128"],.tile-2048[data-value="256"],.tile-2048[data-value="512"],.tile-2048[data-value="1024"],.tile-2048[data-value="2048"]{color:#fff8ea;background:#719f4c}.memory-grid{gap:var(--memory-gap,12px);grid-template-columns:repeat(4,minmax(0,1fr))}.mole-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.memory-card,.mole-hole{aspect-ratio:1;font-size:var(--memory-cell-font,clamp(1.4rem, 5vw, 2.4rem));cursor:pointer;background:#fffcf2d9;border:none;border-radius:20px}.memory-card.is-open{color:#fff5dd;background:#29432b}.mole-hole{color:#fff5dd;background:linear-gradient(#7da45d,#56733f)}.mole-hole.is-active{background:linear-gradient(#c76543,#8b4128)}.connect-grid{background:var(--connect-board);grid-template-columns:repeat(7,minmax(0,1fr));padding:12px}.connect-cell{aspect-ratio:1;background:var(--connect-cell-bg);cursor:pointer;border:none;border-radius:999px}.connect-cell.is-player{background:#d96443}.connect-cell.is-cpu{background:#f0c44f}@media (width<=1120px){.hub-layout,.play-grid{grid-template-columns:1fr}.hub-layout{grid-template-areas:"stage""library"}.hub-layout>.stage-panel{grid-area:stage}.hub-layout>.library-panel{grid-area:library}}@media (width<=720px){.shell{width:min(100vw - 20px,1280px);padding-top:10px;padding-bottom:24px}.hero-panel,.library-panel,.stage-panel,.panel-card,.stat-card,.cabinet{border-radius:22px}.hero-panel,.library-panel,.stage-panel,.panel-card,.cabinet{padding:18px}.game-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.game-card{min-height:164px;padding:14px}.game-card h3{font-size:1.15rem}.game-card p{font-size:.85rem}.score-grid,.action-row{grid-template-columns:1fr}.cabinet-top,.stage-header,.hero-actions{flex-direction:column;align-items:stretch}.touch-button{min-height:60px}}@media (width<=932px) and (orientation:landscape){.game-shell.is-pong-focus{width:100vw;padding:0}.game-shell.is-pong-focus .hero-panel{display:none}.game-shell.is-pong-focus .game-page-main{margin-top:0}.game-shell.is-pong-focus .game-stage{max-width:none}.game-shell.is-pong-focus .stage-panel{border-left:none;border-right:none;border-radius:0;min-height:100vh;padding:10px}.game-shell.is-pong-focus .cabinet{padding:10px}.game-shell.is-pong-focus .play-grid{grid-template-columns:minmax(0,1fr) 220px;align-items:stretch;gap:10px;min-height:calc(100vh - 20px)}.game-shell.is-pong-focus .cabinet-top{margin-bottom:10px}.game-shell.is-pong-focus .control-panel{gap:10px}.game-shell.is-pong-focus .panel-card,.game-shell.is-pong-focus .stat-card{padding:14px}.game-shell.is-pong-focus .game-board.widescreen{aspect-ratio:auto;height:calc(100vh - 112px);max-height:none}}
