:root,:root[data-theme=light]{color-scheme:light;--bg: #f8fbff;--bg-soft: #f2f7fd;--surface: #ffffff;--surface-soft: #f7fafe;--surface-muted: #eef5fc;--panel: rgba(255, 255, 255, .92);--panel-quiet: rgba(255, 255, 255, .88);--text: #0b1623;--text-muted: #536579;--text-soft: #7c8da1;--navy: #071827;--blue-dark: #102a43;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-soft: #dbeafe;--accent-contrast: #ffffff;--accent-ring: rgba(37, 99, 235, .28);--accent-line: rgba(37, 99, 235, .42);--accent-line-soft: rgba(37, 99, 235, .24);--accent-2: #0f6b8f;--accent-2-soft: #e0f2fe;--border: #d8e4f2;--border-strong: #bfd0e4;--shadow: 0 18px 50px rgba(15, 42, 67, .1);--shadow-soft: 0 10px 30px rgba(15, 42, 67, .07);--shadow-accent: 0 9px 20px rgba(37, 99, 235, .18);--danger: #b42318;--danger-surface: #fff1f2;--danger-line: rgba(180, 35, 24, .24);--success: #157f5b;--success-surface: #ecfdf5;--success-line: rgba(21, 127, 91, .28);--overlay: rgba(7, 24, 39, .42);--overlay-strong: rgba(7, 24, 39, .34);--modal-shadow: 0 24px 70px rgba(7, 24, 39, .2);--body-glow-1: rgba(219, 234, 254, .74);--body-glow-2: rgba(224, 242, 254, .64);--body-veil: rgba(255, 255, 255, .92);--card-gradient: linear-gradient( 180deg, rgba(255, 255, 255, .98), rgba(247, 250, 254, .96) );--card-surface: #f8fbff;--board-bg: #e8f0f8;--board-cell-bg: rgba(255, 255, 255, .58);--board-inset: rgba(255, 255, 255, .56);--board-shadow: 0 24px 44px rgba(15, 42, 67, .1);--board-cell-inset: rgba(15, 42, 67, .055);--tile-0: #f8eedc;--tile-1: #f0dcbd;--tile-2: #e8c89c;--tile-3: #dfae78;--tile-4: #d0925e;--tile-5: #b9744e;--tile-6: #95b892;--tile-7: #70a28d;--tile-8: #4e887f;--tile-9: #316c6d;--tile-10: #1f474a;--tile-light-text: #fff8ea;--tile-border: rgba(15, 42, 67, .08);--tile-gloss: rgba(255, 255, 255, .22);--tile-shadow: 0 8px 16px rgba(15, 42, 67, .1);--tile-inner-shadow: rgba(15, 42, 67, .07);--tile-power-bg-light: rgba(255, 255, 255, .68);--tile-power-bg-dark: rgba(255, 248, 234, .16);--tile-art-plate: rgba(255, 253, 248, .82);--tile-art-plate-shade: rgba(15, 42, 67, .12);--sudoku-block-bg: #dcebff;--sudoku-cell-bg: #f4f8fd;--sudoku-cell-hover-bg: #edf5ff;--sudoku-peer-bg: #e4f0ff;--sudoku-same-value-bg: #bfdbfe;--sudoku-selected-bg: #cfe2ff;--sudoku-selected-border: #3b82f6;--sudoku-frame: #102a43;--mine-cell-border: #bfd4ea;--mine-cell-border-strong: #0b2a44;--mine-cell-hidden-bg: #e7f1fd;--mine-cell-hidden-hover-bg: #dcebff;--mine-cell-pressed-bg: #c7dbff;--mine-cell-pressed-border: #4f80e8;--mine-cell-revealed-bg: #f7fafe;--mine-cell-revealed-empty-bg: #f9fbff;--mine-cell-flag-bg: #dbeafe;--mine-cell-mine-bg: #e0eaff;--mine-cell-exploded-bg: #fecaca;--mine-number-1: #2563eb;--mine-number-2: #0f766e;--mine-number-3: #b42318;--mine-number-4: #4338ca;--mine-number-5: #9a3412;--mine-number-6: #0369a1;--mine-number-7: #6d28d9;--mine-number-8: #334155;--tetris-board-bg: #e6eef8;--tetris-empty: rgba(255, 255, 255, .62);--tetris-grid-line: rgba(15, 42, 67, .05);--tetris-I: #1f9fbe;--tetris-J: #3b6fd4;--tetris-L: #dd8330;--tetris-O: #d9ab26;--tetris-S: #3d9f66;--tetris-T: #8556c2;--tetris-Z: #d1504c;--tetris-cell-gloss: rgba(255, 255, 255, .3);--tetris-cell-shade: rgba(0, 0, 0, .16);--tetris-overlay: rgba(232, 240, 248, .82);--art-ink: #102a43;--art-strong: #2563eb;--art-mid: #7aaaf5;--art-soft: #c4dbff;--art-faint: #e4eeff;--art-surface: #ffffff;--art-shadow: rgba(37, 99, 235, .1);--wine-berry: #7c3f98;--wine-berry-light: #c79ada;--wine-berry-dark: #582b6f;--wine-leaf: #4c9a55;--wine-leaf-dark: #35743d;--wine-stem: #6b8a3f;--wine-liquid: #9c1f4a;--wine-glass: #cfe0ee;--wine-glass-line: #8fa8bd;--wine-bottle: #2f6b4f;--wine-bottle-dark: #1f4b37;--wine-paper: #f3e7cf;--wine-wood: #b5793f;--wine-wood-light: #cf9a63;--wine-wood-dark: #7d4c24;--wine-metal: #98a6b3;--wine-box: #c99a63;--wine-box-light: #ddb489;--wine-box-dark: #8d6437;--wine-earth: #7d9c52;--wine-earth-dark: #55703a}:root[data-theme=dark]{color-scheme:dark;--bg: #070d16;--bg-soft: #0b1420;--surface: #111c2b;--surface-soft: #162334;--surface-muted: #1b2b3f;--panel: rgba(20, 33, 50, .92);--panel-quiet: rgba(20, 33, 50, .86);--text: #e6eefb;--text-muted: #9db0c6;--text-soft: #7a8da6;--navy: #f1f6ff;--blue-dark: #d7e6fb;--accent: #60a5fa;--accent-hover: #93c5fd;--accent-soft: rgba(96, 165, 250, .18);--accent-contrast: #08131f;--accent-ring: rgba(96, 165, 250, .34);--accent-line: rgba(96, 165, 250, .5);--accent-line-soft: rgba(96, 165, 250, .28);--accent-2: #38bdf8;--accent-2-soft: rgba(56, 189, 248, .16);--border: #24374e;--border-strong: #35526f;--shadow: 0 22px 54px rgba(0, 0, 0, .55);--shadow-soft: 0 12px 32px rgba(0, 0, 0, .4);--shadow-accent: 0 9px 22px rgba(96, 165, 250, .24);--danger: #f87171;--danger-surface: rgba(248, 113, 113, .14);--danger-line: rgba(248, 113, 113, .36);--success: #34d399;--success-surface: rgba(52, 211, 153, .13);--success-line: rgba(52, 211, 153, .34);--overlay: rgba(2, 7, 14, .66);--overlay-strong: rgba(2, 7, 14, .58);--modal-shadow: 0 28px 80px rgba(0, 0, 0, .6);--body-glow-1: rgba(37, 99, 235, .22);--body-glow-2: rgba(14, 116, 144, .18);--body-veil: rgba(15, 26, 41, .6);--card-gradient: linear-gradient( 180deg, rgba(26, 41, 60, .96), rgba(15, 25, 39, .98) );--card-surface: #101a28;--board-bg: #0e1a29;--board-cell-bg: rgba(255, 255, 255, .045);--board-inset: rgba(255, 255, 255, .06);--board-shadow: 0 24px 46px rgba(0, 0, 0, .5);--board-cell-inset: rgba(0, 0, 0, .28);--tile-0: #4a4133;--tile-1: #5c5140;--tile-2: #6e5f49;--tile-3: #816c50;--tile-4: #937655;--tile-5: #a2704f;--tile-6: #4f7f65;--tile-7: #488c78;--tile-8: #3e9489;--tile-9: #359a9c;--tile-10: #2fa3b0;--tile-light-text: #f6fbff;--tile-border: rgba(255, 255, 255, .1);--tile-gloss: rgba(255, 255, 255, .12);--tile-shadow: 0 10px 20px rgba(0, 0, 0, .42);--tile-inner-shadow: rgba(0, 0, 0, .3);--tile-power-bg-light: rgba(255, 255, 255, .16);--tile-power-bg-dark: rgba(255, 255, 255, .16);--tile-art-plate: rgba(233, 241, 252, .9);--tile-art-plate-shade: rgba(0, 0, 0, .2);--sudoku-block-bg: #1c3049;--sudoku-cell-bg: #13202f;--sudoku-cell-hover-bg: #1a2b3e;--sudoku-peer-bg: #182839;--sudoku-same-value-bg: #274a70;--sudoku-selected-bg: #2b5788;--sudoku-selected-border: #60a5fa;--sudoku-frame: #0a1420;--mine-cell-border: #16222f;--mine-cell-border-strong: #060d16;--mine-cell-hidden-bg: #27394e;--mine-cell-hidden-hover-bg: #33495f;--mine-cell-pressed-bg: #3a5675;--mine-cell-pressed-border: #60a5fa;--mine-cell-revealed-bg: #111c29;--mine-cell-revealed-empty-bg: #0e1722;--mine-cell-flag-bg: #23405f;--mine-cell-mine-bg: #2a2338;--mine-cell-exploded-bg: #57202a;--mine-number-1: #7cb1ff;--mine-number-2: #4fd1c5;--mine-number-3: #fb8f86;--mine-number-4: #a5a8ff;--mine-number-5: #f0a86a;--mine-number-6: #58c1ec;--mine-number-7: #c4a2ff;--mine-number-8: #b8c6d6;--tetris-board-bg: #0d1826;--tetris-empty: rgba(255, 255, 255, .04);--tetris-grid-line: rgba(255, 255, 255, .05);--tetris-I: #38bdf8;--tetris-J: #60a5fa;--tetris-L: #fb923c;--tetris-O: #fbbf24;--tetris-S: #4ade80;--tetris-T: #c084fc;--tetris-Z: #fb7185;--tetris-cell-gloss: rgba(255, 255, 255, .24);--tetris-cell-shade: rgba(0, 0, 0, .3);--tetris-overlay: rgba(9, 18, 30, .84);--art-ink: #dbeafe;--art-strong: #60a5fa;--art-mid: #3b6fb8;--art-soft: #22405f;--art-faint: #182b40;--art-surface: #1d2f45;--art-shadow: rgba(96, 165, 250, .14);--wine-berry: #a06bc0;--wine-berry-light: #d9b8e8;--wine-berry-dark: #6f4088;--wine-leaf: #5cb567;--wine-leaf-dark: #3f8b4a;--wine-stem: #8aab55;--wine-liquid: #c73566;--wine-glass: #47617a;--wine-glass-line: #9fb8ce;--wine-bottle: #3f8a68;--wine-bottle-dark: #2b6349;--wine-paper: #e7d6b4;--wine-wood: #c98a4e;--wine-wood-light: #e0a86f;--wine-wood-dark: #96602f;--wine-metal: #b3c0cd;--wine-box: #d8a86e;--wine-box-light: #ecc48d;--wine-box-dark: #9c7040;--wine-earth: #90b25f;--wine-earth-dark: #648347}:root{color:var(--text);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;letter-spacing:0}body{overflow-x:hidden;min-width:320px;min-height:100vh;margin:0;color:var(--text);background:radial-gradient(circle at top left,var(--body-glow-1),transparent 34rem),radial-gradient(circle at 82% 12%,var(--body-glow-2),transparent 28rem),linear-gradient(180deg,var(--body-veil),transparent 24rem),var(--bg);transition:background-color .26s cubic-bezier(.2,0,0,1),color .26s cubic-bezier(.2,0,0,1)}body.minesweeperPageBody{overflow-x:auto}button{border:0;font:inherit}button:focus-visible,.themeCard:focus-visible{outline:3px solid var(--accent-ring);outline-offset:4px}h1,h2,p{margin-top:0}.appShell{width:min(1180px,100%);min-height:100vh;margin:0 auto;padding:36px 22px 52px}.homeShell{display:flex;flex-direction:column;gap:30px}.pageTopBar{display:flex;gap:12px;align-items:center;justify-content:space-between}.pageTopBar--end{justify-content:flex-end}.homeHero{max-width:780px;padding-top:10px}.homeHero h1,.gameHeader h1{margin-bottom:12px;color:var(--navy);font-size:clamp(2rem,4vw,3.45rem);line-height:1.02}.homeHero p:last-child,.gameHeader p:last-child{max-width:690px;margin-bottom:0;color:var(--text-muted);font-size:1.08rem}.eyebrow{margin-bottom:8px;color:var(--accent);font-size:.76rem;font-weight:850;text-transform:uppercase}.themeToggle{display:inline-flex;flex:0 0 auto;padding:0;border:0;border-radius:999px;background:transparent;cursor:pointer}.themeToggle__track{position:relative;display:inline-flex;width:74px;height:38px;padding:0 8px;border:1px solid var(--border-strong);border-radius:999px;align-items:center;justify-content:space-between;background:var(--panel-quiet);box-shadow:var(--shadow-soft);transition:background .22s cubic-bezier(.2,0,0,1),border-color .22s cubic-bezier(.2,0,0,1)}.themeToggle:hover .themeToggle__track{border-color:var(--accent-line)}.themeToggle__icon{position:relative;z-index:2;display:inline-flex;width:18px;height:18px;transition:color .22s cubic-bezier(.2,0,0,1)}.themeToggle__icon svg{width:100%;height:100%}.themeToggle__icon--sun{color:var(--accent)}.themeToggle__icon--moon,.themeToggle[aria-pressed=true] .themeToggle__icon--sun{color:var(--text-soft)}.themeToggle[aria-pressed=true] .themeToggle__icon--moon{color:var(--accent)}.themeToggle__thumb{position:absolute;top:4px;left:4px;z-index:1;width:28px;height:28px;border-radius:999px;background:var(--surface);box-shadow:0 4px 12px #0000002e;transition:transform .26s cubic-bezier(.34,1.4,.5,1)}.themeToggle[aria-pressed=true] .themeToggle__thumb{transform:translate(36px)}.themeGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:18px}.gameCardGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}.gameCard{display:flex;min-height:250px;padding:24px;border:1px solid var(--border);border-radius:22px;background:var(--card-gradient),var(--surface);box-shadow:var(--shadow-soft);flex-direction:column;justify-content:space-between}.gameCard--locked{border-style:dashed}.gameCard h2{margin-bottom:12px;color:var(--navy);font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.05}.gameCard p{margin-bottom:0;color:var(--text-muted)}.gameCard__button{width:fit-content}.statusPill{display:inline-flex;margin-bottom:18px;padding:6px 10px;border:1px solid var(--border-strong);border-radius:999px;align-items:center;color:var(--blue-dark);font-size:.74rem;font-weight:900;text-transform:uppercase}.statusPill--available{border-color:var(--accent-line-soft);background:var(--accent-soft);color:var(--accent)}.statusPill--coming-soon{background:var(--surface-muted);color:var(--text-muted)}.themeCard{display:flex;min-height:360px;padding:0;border:1px solid var(--border);border-radius:22px;background:var(--card-gradient),var(--card-surface);box-shadow:var(--shadow-soft);cursor:pointer;flex-direction:column;align-items:center;justify-content:flex-start;opacity:0;overflow:hidden;transform:translateY(10px);animation:cardEnter .42s cubic-bezier(.2,0,0,1) forwards;animation-delay:calc(var(--card-index, 0) * 45ms);transition:border-color .18s cubic-bezier(.2,0,0,1),box-shadow .18s cubic-bezier(.2,0,0,1),transform .18s cubic-bezier(.2,0,0,1)}.themeCard:hover{border-color:var(--accent-line);box-shadow:var(--shadow);transform:translateY(-4px)}.themeCard__art{display:flex;width:100%;aspect-ratio:1 / .72;padding:20px 18px 6px;align-items:center;justify-content:center}.themeArt{display:block;width:100%;height:100%;transition:transform .26s cubic-bezier(.2,0,0,1)}.themeCard:hover .themeArt{transform:translateY(-4px) scale(1.03)}.themeCard__content{display:flex;flex:1;width:100%;flex-direction:column;align-items:center;justify-content:space-between;padding:0 22px 22px}.themeCard h2{width:100%;margin-bottom:22px;color:var(--navy);font-size:clamp(1.02rem,1.6vw,1.24rem);line-height:1.22;overflow-wrap:anywhere;text-align:center}.gameShell{display:flex;flex-direction:column;gap:24px}.backLink{display:inline-flex;width:fit-content;min-height:38px;padding:0 12px;border-radius:999px;align-items:center;gap:8px;color:var(--accent);font-weight:850;line-height:1;text-decoration:none}.backLink svg{width:18px;height:18px;flex:0 0 auto}.backLink:hover{background:var(--accent-soft)}.gameHeader{display:flex;gap:18px;align-items:flex-start;justify-content:space-between}.gameHeader>div{min-width:0}.gameHeader__actions{display:flex;flex:0 0 auto;gap:10px;align-items:center}.gameHeader h1{max-width:760px;font-size:clamp(1.8rem,3vw,2.7rem)}.gameLayout{display:grid;grid-template-columns:minmax(320px,640px) minmax(278px,340px);gap:26px;align-items:start}.boardColumn{display:flex;min-width:0;flex-direction:column;gap:12px}.gameBoard{--board-padding: 12px;--board-gap: 10px;position:relative;display:block;width:min(100%,640px);aspect-ratio:1;padding:var(--board-padding);border:1px solid var(--border-strong);border-radius:24px;background:var(--board-bg);box-shadow:inset 0 1px 0 var(--board-inset),var(--board-shadow);overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.gameBoard--shake{animation:boardShake .13s ease-out}.boardCells,.tileLayer{position:absolute;inset:var(--board-padding)}.boardCells{display:grid;gap:var(--board-gap);grid-template-columns:repeat(4,minmax(0,1fr))}.boardCell{display:flex;min-width:0;aspect-ratio:1;border-radius:18px;background:var(--board-cell-bg);box-shadow:inset 0 1px 3px var(--board-cell-inset);overflow:hidden}.tileLayer{z-index:2;pointer-events:none}.tilePositionWrapper{position:absolute;top:0;left:0;transition:transform .11s cubic-bezier(.2,0,0,1);will-change:transform}.gameTile{--tile-bg: var(--tile-0);--tile-text: var(--text);--tile-power-bg: var(--tile-power-bg-light);position:relative;display:grid;width:100%;min-width:0;height:100%;padding:12px;border:1px solid var(--tile-border);border-radius:18px;place-items:center;background:linear-gradient(145deg,var(--tile-gloss),transparent),var(--tile-bg);box-shadow:inset 0 -3px 0 var(--tile-inner-shadow),var(--tile-shadow);color:var(--tile-text);overflow:hidden}.gameTile--level-0{--tile-bg: var(--tile-0)}.gameTile--level-1{--tile-bg: var(--tile-1)}.gameTile--level-2{--tile-bg: var(--tile-2)}.gameTile--level-3{--tile-bg: var(--tile-3)}.gameTile--level-4{--tile-bg: var(--tile-4)}.gameTile--level-5{--tile-bg: var(--tile-5)}.gameTile--level-6{--tile-bg: var(--tile-6)}.gameTile--level-7{--tile-bg: var(--tile-7)}.gameTile--level-8{--tile-bg: var(--tile-8)}.gameTile--level-9{--tile-bg: var(--tile-9)}.gameTile--level-10{--tile-bg: var(--tile-10)}.gameTile--dark{--tile-text: var(--tile-light-text);--tile-power-bg: var(--tile-power-bg-dark)}:root[data-theme=dark] .gameTile{--tile-text: var(--tile-light-text);--tile-power-bg: var(--tile-power-bg-dark)}.gameTile--spawn{animation:tileSpawn .17s cubic-bezier(.2,0,0,1)}.gameTile--merge{animation:tileMerge .18s cubic-bezier(.2,0,0,1)}.gameTile--final{box-shadow:0 0 0 1px var(--accent-line-soft),0 0 28px var(--accent-ring),inset 0 -3px 0 var(--tile-inner-shadow)}.tilePower{position:absolute;top:9px;left:9px;display:inline-flex;min-width:1.82rem;height:1.42rem;padding:0 .28rem;border-radius:999px;align-items:center;justify-content:center;background:var(--tile-power-bg);color:inherit;font-size:.74rem;font-weight:900;line-height:1}.gameTile--illustrated{align-content:center;gap:4px;grid-template-rows:minmax(0,1fr) auto;padding:8px 6px 7px;place-items:center}.tileArtSlot{display:grid;height:100%;max-width:100%;aspect-ratio:1;padding:10%;border-radius:50%;place-items:center;justify-self:center;background:var(--tile-art-plate);box-shadow:inset 0 -2px 6px var(--tile-art-plate-shade)}.tileArtSlot,.progressList__index--art{--wine-berry: #7c3f98;--wine-berry-light: #c79ada;--wine-berry-dark: #582b6f;--wine-leaf: #4c9a55;--wine-leaf-dark: #35743d;--wine-stem: #6b8a3f;--wine-liquid: #9c1f4a;--wine-glass: #cfe0ee;--wine-glass-line: #8fa8bd;--wine-bottle: #2f6b4f;--wine-bottle-dark: #1f4b37;--wine-paper: #f3e7cf;--wine-wood: #b5793f;--wine-wood-light: #cf9a63;--wine-wood-dark: #7d4c24;--wine-metal: #98a6b3;--wine-box: #c99a63;--wine-box-light: #ddb489;--wine-box-dark: #8d6437;--wine-earth: #7d9c52;--wine-earth-dark: #55703a}.tileArt{display:block;width:100%;height:100%;max-height:100%}.gameTile--illustrated .tileLabel{max-height:1.2em}.tileLabel{display:grid;width:100%;max-width:100%;max-height:2.34em;place-items:center;overflow:hidden;color:inherit;font-weight:900;line-height:1.08;text-align:center;word-break:keep-all;overflow-wrap:normal;-webkit-hyphens:none;hyphens:none}.tileLabelSingleWord{white-space:nowrap}.tileLabelPhrase{white-space:normal;text-wrap:balance}.tileLabelShort{font-size:clamp(1rem,2.2vw,1.34rem)}.tileLabelMedium{font-size:clamp(.82rem,1.7vw,1.04rem)}.tileLabelLong{font-size:clamp(.66rem,1.35vw,.86rem)}.gameTile--illustrated .tileLabelShort,.gameTile--illustrated .tileLabelMedium{font-size:clamp(.62rem,1.35vw,.84rem)}.gameTile--illustrated .tileLabelLong{font-size:clamp(.54rem,1.1vw,.72rem)}.sidePanel{display:flex;min-width:0;flex-direction:column;gap:14px}.scoreGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.scoreCard,.progressPanel{border:1px solid var(--border);border-radius:20px;background:var(--panel);box-shadow:var(--shadow-soft)}.scoreCard{min-height:96px;padding:17px}.scoreCard span,.progressPanel span{display:block;margin-bottom:8px;color:var(--text-muted);font-size:.82rem;font-weight:800}.scoreValue{position:relative;display:inline-flex;align-items:flex-start}.scoreCard strong{color:var(--navy);font-size:2rem;line-height:1}.scoreBump{position:absolute;top:-.45rem;left:calc(100% + .4rem);color:var(--success);font-size:.92rem;font-style:normal;font-weight:900;animation:scoreBump .42s cubic-bezier(.2,0,0,1) forwards;pointer-events:none;white-space:nowrap}.progressPanel{padding:20px}.progressPanel strong{display:block;margin-bottom:8px;color:var(--blue-dark);font-size:1.16rem;line-height:1.22}.progressPanel p{margin-bottom:0;color:var(--text-muted)}.emptyState{display:flex;width:min(720px,100%);margin:20px auto 0;padding:32px;border:1px solid var(--border);border-radius:24px;background:var(--panel);box-shadow:var(--shadow-soft);flex-direction:column;align-items:flex-start}.emptyState h1{margin-bottom:12px;color:var(--navy);font-size:clamp(2rem,4vw,3rem);line-height:1.02}.emptyState p{max-width:590px;color:var(--text-muted)}.emptyState__button{margin-top:8px}.emptyState__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.actionStack,.modalActions{display:flex;gap:10px}.actionStack{flex-direction:column}.primaryButton,.secondaryButton,.ghostButton,.textButton,.menuItem,.iconButton{display:inline-flex;min-height:44px;border-radius:14px;align-items:center;justify-content:center;cursor:pointer;font-weight:850;text-decoration:none;transition:background .17s cubic-bezier(.2,0,0,1),border-color .17s cubic-bezier(.2,0,0,1),color .17s cubic-bezier(.2,0,0,1),transform .17s cubic-bezier(.2,0,0,1),box-shadow .17s cubic-bezier(.2,0,0,1)}.primaryButton{padding:0 18px;background:var(--accent);color:var(--accent-contrast);box-shadow:var(--shadow-accent)}.primaryButton:hover{background:var(--accent-hover);transform:translateY(-1px)}.secondaryButton,.ghostButton{padding:0 18px;border:1px solid var(--border-strong);background:var(--panel-quiet);color:var(--blue-dark)}.secondaryButton:hover,.ghostButton:hover,.menuItem:hover{border-color:var(--accent-line);background:var(--accent-soft)}button:disabled{cursor:not-allowed}.primaryButton:disabled,.secondaryButton:disabled,.ghostButton:disabled,.textButton:disabled,.menuItem:disabled,.iconButton:disabled{opacity:.5;transform:none;box-shadow:none}.primaryButton:disabled:hover{background:var(--accent)}.secondaryButton:disabled:hover,.ghostButton:disabled:hover,.menuItem:disabled:hover{border-color:var(--border-strong);background:var(--panel-quiet)}.undoButton,.sudokuControlButton{display:inline-flex;gap:8px;align-items:center;justify-content:center}.sudokuControlButton svg,.undoButton svg{width:17px;height:17px;flex:0 0 auto}.boardUndoButton{width:min(100%,640px)}.textButton{padding:0 14px;background:transparent;color:var(--accent)}.textButton:hover{background:var(--accent-soft)}.menuButton{flex:0 0 auto;white-space:nowrap}.modalBackdrop,.drawerLayer{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0}.modalBackdrop{display:grid;padding:20px;place-items:center;background:var(--overlay);animation:overlayFade .19s cubic-bezier(.2,0,0,1)}.modal{width:min(640px,100%);max-height:min(760px,calc(100vh - 40px));padding:24px;border:1px solid var(--border);border-radius:24px;background:var(--surface);box-shadow:var(--modal-shadow);overflow:auto;animation:modalEnter .21s cubic-bezier(.2,0,0,1)}.modal--compact{width:min(440px,100%)}.modal--celebration{box-shadow:0 0 0 1px var(--accent-line-soft),var(--modal-shadow),0 0 54px var(--accent-ring)}.modalHeader,.drawerHeader{display:flex;gap:16px;align-items:flex-start;justify-content:space-between}.modalHeader h2,.drawerHeader h2{margin-bottom:16px;color:var(--navy);font-size:1.45rem;line-height:1.15}.drawerHeader .eyebrow{margin-bottom:6px}.iconButton{display:inline-flex;width:42px;min-height:42px;padding:0;align-items:center;justify-content:center;background:var(--surface-muted);color:var(--blue-dark);font-size:1.35rem}.iconButton:hover{background:var(--accent-soft)}.modalLead{margin-bottom:20px;color:var(--text-muted)}.comingSoonBody{display:grid;margin-bottom:12px;gap:10px;justify-items:center;text-align:center}.comingSoonBody svg{width:92px;height:92px}.comingSoonBody .modalLead{margin-bottom:0}.comingSoonBadge{display:inline-flex;padding:6px 12px;border:1px solid var(--accent-line-soft);border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.72rem;font-weight:900;text-transform:uppercase}.comingSoonNote{margin:0;color:var(--text-soft);font-size:.9rem;font-weight:700}.progressSummary{display:grid;margin-bottom:16px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.progressSummary div{min-height:82px;padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--surface-soft)}.progressSummary span{display:block;margin-bottom:6px;color:var(--text-muted);font-size:.82rem;font-weight:800}.progressSummary strong{color:var(--navy);font-size:1.36rem}.progressList{display:grid;max-height:430px;margin:0;padding:0;gap:9px;list-style:none;overflow:auto}.progressList__item{display:grid;min-height:48px;padding:11px 13px;border:1px solid var(--border);border-radius:16px;align-items:center;background:var(--surface-soft);color:var(--text);font-weight:850;gap:12px;grid-template-columns:36px minmax(0,1fr)}.progressList__item.current{border-color:var(--accent-line);background:var(--accent-soft)}.progressList__item.locked{background:var(--surface-muted);color:var(--text-soft);font-weight:750}.progressList__title{min-width:0}.progressList__transition{display:grid;margin:-5px 0 -1px;padding:0 14px 0 54px;color:var(--text-muted);font-size:.9rem;font-weight:600;gap:8px;grid-template-columns:auto minmax(0,1fr);line-height:1.36}.progressList__transitionMarker{color:var(--accent);font-weight:900}.progressList__index{display:inline-flex;width:30px;height:30px;padding:2px;border-radius:10px;align-items:center;justify-content:center;background:var(--surface);color:var(--text-muted);font-size:.86rem;font-weight:900}.progressList__index--art{padding:3px;background:var(--tile-art-plate)}.drawerLayer{z-index:45;pointer-events:none}.drawerLayer--open{pointer-events:auto}.drawerOverlay{position:absolute;padding:0;background:transparent;cursor:pointer;top:0;right:0;bottom:0;left:0;opacity:0;transition:background .28s cubic-bezier(.2,0,0,1),opacity .28s cubic-bezier(.2,0,0,1)}.drawerLayer--open .drawerOverlay{background:var(--overlay-strong);opacity:1}.menuDrawer{position:absolute;top:0;right:0;width:min(420px,92vw);height:100%;padding:26px;border-left:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);transform:translate(100%);transition:transform .29s cubic-bezier(.2,0,0,1)}.drawerLayer--open .menuDrawer{transform:translate(0)}.menuList{display:grid;gap:10px}.menuItem{width:100%;min-height:52px;padding:0 16px;border:1px solid var(--border);background:var(--surface-soft);color:var(--text);text-align:left}.modalActions{justify-content:flex-end}.modalActions--stacked{flex-direction:column}.tetrisShell{display:flex;flex-direction:column;gap:22px}.tetrisHeader{display:grid;gap:18px;align-items:end;grid-template-columns:minmax(0,1fr) auto}.tetrisHeader h1{margin-bottom:12px;color:var(--navy);font-size:clamp(2.1rem,4vw,3.25rem);line-height:1.02}.tetrisHeader p:last-child{max-width:620px;margin-bottom:0;color:var(--text-muted);font-size:1.06rem}.tetrisHeaderControls{display:flex;gap:10px;align-items:end}.tetrisLevelSelect{display:grid;gap:6px}.tetrisLevelSelect span{color:var(--text-muted);font-size:.78rem;font-weight:850}.tetrisLevelSelect select{min-width:168px;min-height:44px;padding:0 14px;border:1px solid var(--border-strong);border-radius:14px;background:var(--panel);color:var(--blue-dark);font:inherit;font-weight:850}.tetrisLayout{display:grid;gap:20px;align-items:start;grid-template-columns:minmax(170px,210px) auto minmax(190px,240px);justify-content:center}.tetrisSideColumn{display:grid;gap:14px;align-content:start}.tetrisBoardColumn{display:grid;gap:12px;justify-items:center}.tetrisBoardFrame{position:relative;padding:10px;border:1px solid var(--border-strong);border-radius:22px;background:var(--tetris-board-bg);box-shadow:inset 0 1px 0 var(--board-inset),var(--board-shadow)}.tetrisBoard{display:grid;height:min(64vh,600px);aspect-ratio:1 / 2;max-width:100%;gap:2px;border-radius:12px;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.tetrisCell{display:block;min-width:0;min-height:0;border-radius:4px;background:var(--tetris-empty);box-shadow:inset 0 0 0 1px var(--tetris-grid-line)}.tetrisCell--I{--piece-color: var(--tetris-I)}.tetrisCell--J{--piece-color: var(--tetris-J)}.tetrisCell--L{--piece-color: var(--tetris-L)}.tetrisCell--O{--piece-color: var(--tetris-O)}.tetrisCell--S{--piece-color: var(--tetris-S)}.tetrisCell--T{--piece-color: var(--tetris-T)}.tetrisCell--Z{--piece-color: var(--tetris-Z)}.tetrisCell--I,.tetrisCell--J,.tetrisCell--L,.tetrisCell--O,.tetrisCell--S,.tetrisCell--T,.tetrisCell--Z{background:linear-gradient(150deg,var(--tetris-cell-gloss),transparent 62%),var(--piece-color);box-shadow:inset 0 -2px 0 var(--tetris-cell-shade)}.tetrisCell--ghost{background:transparent;box-shadow:inset 0 0 0 2px var(--piece-color);opacity:.42}.tetrisCell--clearing{animation:tetrisClear .24s cubic-bezier(.2,0,0,1) forwards}.tetrisEventBadge{position:absolute;top:18px;left:50%;padding:7px 14px;border-radius:999px;background:var(--accent);color:var(--accent-contrast);font-size:.86rem;font-weight:900;box-shadow:var(--shadow-accent);animation:tetrisEvent 1.1s cubic-bezier(.2,0,0,1) forwards;pointer-events:none;white-space:nowrap}.tetrisOverlay{position:absolute;display:grid;padding:16px;border-radius:22px;place-items:center;background:var(--tetris-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);top:0;right:0;bottom:0;left:0}.tetrisOverlay__card{display:grid;gap:10px;justify-items:center;text-align:center}.tetrisOverlay__card strong{color:var(--navy);font-size:1.35rem}.tetrisOverlay__card p{margin:0;color:var(--text-muted);font-weight:750}.tetrisBoardActions{display:grid;width:100%;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.tetrisPanel{display:grid;gap:10px;padding:16px;border:1px solid var(--border);border-radius:20px;background:var(--panel);box-shadow:var(--shadow-soft);justify-items:center}.tetrisPanel__title{width:100%;color:var(--text-muted);font-size:.74rem;font-weight:850;text-align:left;text-transform:uppercase}.tetrisPanel__hint{width:100%;margin:0;color:var(--text-soft);font-size:.78rem;font-weight:700;text-align:left}.tetrisPanel--hints{justify-items:stretch}.tetrisHoldSlot{display:grid;width:100%;min-height:76px;border:1px dashed var(--border-strong);border-radius:14px;place-items:center;background:var(--surface-soft)}.tetrisNextList{display:grid;width:100%;gap:8px;justify-items:center}.tetrisNextList .tetrisPreview{padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.tetrisPreview{display:inline-grid;width:74px;gap:2px;aspect-ratio:1;place-content:center}.tetrisPreview--empty{display:block;width:74px;height:74px}.tetrisPreview--muted{opacity:.4}.tetrisPreviewCell{display:block;width:100%;min-width:12px;aspect-ratio:1;border-radius:3px}.tetrisPreviewCell--I{background:var(--tetris-I)}.tetrisPreviewCell--J{background:var(--tetris-J)}.tetrisPreviewCell--L{background:var(--tetris-L)}.tetrisPreviewCell--O{background:var(--tetris-O)}.tetrisPreviewCell--S{background:var(--tetris-S)}.tetrisPreviewCell--T{background:var(--tetris-T)}.tetrisPreviewCell--Z{background:var(--tetris-Z)}.tetrisStats{display:grid;margin:0;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.tetrisStats div{display:grid;min-height:66px;padding:10px 12px;border:1px solid var(--border);border-radius:16px;background:var(--panel);align-content:center;gap:4px}.tetrisStats dt{color:var(--text-muted);font-size:.74rem;font-weight:850}.tetrisStats dd{margin:0;color:var(--navy);font-size:1.34rem;font-weight:950;line-height:1}.tetrisKeyList{display:grid;margin:0;gap:7px}.tetrisKeyList div{display:grid;gap:8px;align-items:center;grid-template-columns:auto minmax(0,1fr)}.tetrisKeyList dt{padding:4px 8px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-soft);color:var(--blue-dark);font-size:.74rem;font-weight:900;text-align:center;white-space:nowrap}.tetrisKeyList dd{margin:0;color:var(--text-muted);font-size:.82rem;font-weight:700}.tetrisTouchPad{display:none;width:100%;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.tetrisTouchButton{display:inline-flex;min-height:54px;border:1px solid var(--border-strong);border-radius:16px;align-items:center;justify-content:center;background:var(--panel-quiet);color:var(--blue-dark);cursor:pointer;touch-action:manipulation;transition:background .14s cubic-bezier(.2,0,0,1),transform .14s cubic-bezier(.2,0,0,1)}.tetrisTouchButton svg{width:24px;height:24px}.tetrisTouchButton--accent{border-color:var(--accent-line-soft);background:var(--accent-soft);color:var(--accent)}.tetrisTouchButton:active:not(:disabled){background:var(--accent-soft);transform:translateY(1px)}.tetrisTouchButton:disabled{opacity:.45}.sudokuShell{display:flex;flex-direction:column;gap:22px}.sudokuHeader{display:grid;gap:18px;align-items:end;grid-template-columns:minmax(0,1fr) auto}.sudokuHeader h1{margin-bottom:12px;color:var(--navy);font-size:clamp(2.1rem,4vw,3.25rem);line-height:1.02}.sudokuHeader p:last-child{max-width:760px;margin-bottom:0;color:var(--text-muted);font-size:1.06rem}.sudokuSettings{display:flex;gap:10px;align-items:end}.sudokuDifficulty{display:grid;gap:6px}.sudokuDifficulty span{color:var(--text-muted);font-size:.78rem;font-weight:850}.sudokuDifficulty select{min-width:158px;min-height:44px;padding:0 38px 0 14px;border:1px solid var(--border-strong);border-radius:14px;background:var(--panel);color:var(--blue-dark);font:inherit;font-weight:850}.sudokuLayout{display:grid;width:100%;gap:24px;align-items:start;grid-template-columns:minmax(320px,520px) minmax(380px,480px)}.sudokuBoardColumn{display:flex;flex-direction:column;gap:12px;min-width:0;max-width:100%}.sudokuBoard{display:grid;width:min(100%,520px);aspect-ratio:1;border:3px solid var(--sudoku-frame);border-radius:18px;background:var(--sudoku-frame);box-shadow:inset 0 1px 0 var(--board-inset),var(--board-shadow);grid-template-columns:repeat(9,minmax(0,1fr));overflow:hidden;touch-action:manipulation;-webkit-user-select:none;user-select:none}.sudokuBoard--loading{place-items:center;background:var(--panel);color:var(--text-muted);font-weight:850}.sudokuCell{position:relative;display:grid;aspect-ratio:1;min-width:0;padding:0;border:0 solid var(--border-strong);border-right-width:1px;border-bottom-width:1px;place-items:center;background:var(--sudoku-cell-bg);color:var(--accent);cursor:pointer;overflow:hidden;touch-action:manipulation;transition:background .12s cubic-bezier(.2,0,0,1),color .12s cubic-bezier(.2,0,0,1),box-shadow .12s cubic-bezier(.2,0,0,1)}.sudokuCell:hover{background:var(--sudoku-cell-hover-bg)}.sudokuCell:focus,.sudokuCell:focus-visible{outline:none}.sudokuCell:disabled{cursor:default}.sudokuCell--boxLeft{border-left-width:3px}.sudokuCell--boxTop{border-top-width:3px}.sudokuCell--boxRight{border-right-width:3px}.sudokuCell--boxBottom{border-bottom-width:3px}.sudokuCell--fixed{background:var(--sudoku-cell-bg);color:var(--navy)}.sudokuCell--peer{background:var(--sudoku-peer-bg)}.sudokuCell--boxPeer{background:var(--sudoku-block-bg)}.sudokuCell--same{background:var(--sudoku-same-value-bg)}.sudokuCell--selected{z-index:2;background:var(--sudoku-selected-bg);box-shadow:inset 0 0 0 3px var(--sudoku-selected-border)}.sudokuCell--error{background:var(--danger-surface);color:var(--danger)}.sudokuCell__value{font-size:clamp(1.05rem,4.8vw,2rem);font-weight:900;line-height:1}.sudokuCell--fixed .sudokuCell__value{color:var(--navy);font-weight:950}.sudokuNotes{display:grid;width:76%;height:76%;color:var(--text-soft);font-size:clamp(.38rem,1.38vw,.68rem);font-weight:850;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));justify-items:center;line-height:1;opacity:.74;overflow:hidden}.sudokuNoteSlot{display:flex;min-width:0;min-height:0;align-items:center;justify-content:center}.sudokuCell--selected .sudokuNotes{color:var(--accent);opacity:.9}.sudokuPanel{display:grid;gap:12px;min-width:0;max-width:100%;padding:16px;border:1px solid var(--border);border-radius:22px;background:var(--panel);box-shadow:var(--shadow-soft)}.sudokuControls{display:grid;gap:10px;grid-template-columns:1fr}.sudokuNotesToggle--active{box-shadow:var(--shadow-accent)}.sudokuNumberPad{display:grid;gap:6px;grid-template-columns:repeat(9,minmax(0,1fr))}.sudokuNumberButton{min-width:0;min-height:48px;padding:0;border:1px solid var(--border-strong);border-radius:14px;background:var(--surface);color:var(--accent);cursor:pointer;font-size:1.22rem;font-weight:950;transition:background .15s cubic-bezier(.2,0,0,1),border-color .15s cubic-bezier(.2,0,0,1),transform .15s cubic-bezier(.2,0,0,1)}.sudokuNumberButton:hover{border-color:var(--accent-line);background:var(--accent-soft);transform:translateY(-1px)}.sudokuNumberButton:disabled,.sudokuNumberButton--completed{border-color:var(--border);background:var(--surface-muted);color:var(--text-soft);transform:none}.sudokuNumberButton:disabled:hover,.sudokuNumberButton--completed:hover{border-color:var(--border);background:var(--surface-muted);transform:none}.sudokuMessage{margin:0;color:var(--text-muted);font-weight:800}.sudokuMessage--error{color:var(--danger)}.sudokuMessage--success{color:var(--success)}.minesweeperShell{display:flex;flex-direction:column;gap:22px}.minesweeperHeader{display:grid;gap:18px;align-items:end;grid-template-columns:minmax(0,1fr) auto}.minesweeperHeader h1{margin-bottom:12px;color:var(--navy);font-size:clamp(2.1rem,4vw,3.25rem);line-height:1.02}.minesweeperHeader p:last-child{max-width:760px;margin-bottom:0;color:var(--text-muted);font-size:1.06rem}.minesweeperSmileButton{display:inline-grid;width:56px;min-width:56px;height:56px;padding:0;border:1px solid var(--accent-line-soft);border-radius:18px;place-items:center;background:var(--panel);color:var(--accent);cursor:pointer;box-shadow:var(--shadow-soft);transition:background .17s cubic-bezier(.2,0,0,1),border-color .17s cubic-bezier(.2,0,0,1),color .17s cubic-bezier(.2,0,0,1),transform .17s cubic-bezier(.2,0,0,1),box-shadow .17s cubic-bezier(.2,0,0,1)}.minesweeperSmileButton:hover{border-color:var(--accent-line);background:var(--accent-soft);box-shadow:var(--shadow);transform:translateY(-1px)}.minesweeperSmileIcon{display:block;width:34px;height:34px}.minesweeperPresetGrid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.minesweeperPreset{display:grid;min-height:78px;padding:14px 16px;border:1px solid var(--border);border-radius:18px;background:var(--panel-quiet);color:var(--blue-dark);cursor:pointer;gap:5px;text-align:left;transition:background .16s cubic-bezier(.2,0,0,1),border-color .16s cubic-bezier(.2,0,0,1),box-shadow .16s cubic-bezier(.2,0,0,1),transform .16s cubic-bezier(.2,0,0,1)}.minesweeperPreset:hover{border-color:var(--accent-line);background:var(--surface);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.minesweeperPreset--active{border-color:var(--accent-line);background:var(--accent-soft);box-shadow:var(--shadow-accent)}.minesweeperPreset span{font-weight:950}.minesweeperPreset small{color:var(--text-muted);font-size:.82rem;font-weight:800}.minesweeperLayout{display:grid;gap:24px;align-items:start;grid-template-columns:max-content minmax(260px,320px);justify-content:start}.minesweeperBoardColumn{display:grid;width:max-content;min-width:max-content;gap:14px}.minesweeperBoardViewport{width:fit-content;max-width:none;padding:10px;border:1px solid var(--border);border-radius:22px;background:var(--card-gradient),var(--surface-soft);box-shadow:var(--shadow-soft);overflow:visible}.minesweeperBoard{display:grid;width:max-content;min-width:max-content;border:2px solid var(--mine-cell-border-strong);border-radius:14px;background:var(--mine-cell-border);gap:1px;grid-template-columns:repeat(var(--mine-cols),var(--mine-cell-size));overflow:hidden;-webkit-user-select:none;user-select:none}.minesweeperCell{display:grid;width:var(--mine-cell-size);height:var(--mine-cell-size);min-width:0;padding:0;place-items:center;border:0;background:var(--mine-cell-hidden-bg);color:var(--blue-dark);cursor:pointer;font-size:clamp(.72rem,2.1vw,1rem);font-weight:950;line-height:1;box-shadow:inset 0 1px 0 var(--board-inset),inset 0 -2px 0 var(--accent-line-soft);touch-action:pan-x pan-y;transition:background .11s cubic-bezier(.2,0,0,1),box-shadow .11s cubic-bezier(.2,0,0,1),transform .11s cubic-bezier(.2,0,0,1)}.minesweeperCell:hover:not(:disabled){background:var(--mine-cell-hidden-hover-bg)}.minesweeperCell:focus,.minesweeperCell:focus-visible{outline:none}.minesweeperCell:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.minesweeperCell--revealed{background:var(--mine-cell-revealed-empty-bg);box-shadow:inset 0 0 0 1px var(--tetris-grid-line);cursor:default;transform:none}.minesweeperCell--revealed[class*=minesweeperCell--number]{background:var(--mine-cell-revealed-bg)}.minesweeperCell--flagged{background:var(--mine-cell-flag-bg);color:var(--accent);box-shadow:inset 0 1px 0 var(--board-inset),inset 0 -2px 0 var(--accent-line-soft)}.minesweeperCell--mine{background:var(--mine-cell-mine-bg);color:var(--navy)}.minesweeperCell--exploded{background:var(--mine-cell-exploded-bg);color:var(--danger);box-shadow:inset 0 0 0 2px var(--danger-line)}.minesweeperCell--wrongFlag{background:var(--danger-surface);color:var(--danger)}.minesweeperCell:active:not(:disabled){background:var(--mine-cell-pressed-bg);box-shadow:inset 0 0 0 2px var(--mine-cell-pressed-border),inset 0 1px 0 var(--board-inset);transform:translateY(1px)}.minesweeperCell--number-1{color:var(--mine-number-1)}.minesweeperCell--number-2{color:var(--mine-number-2)}.minesweeperCell--number-3{color:var(--mine-number-3)}.minesweeperCell--number-4{color:var(--mine-number-4)}.minesweeperCell--number-5{color:var(--mine-number-5)}.minesweeperCell--number-6{color:var(--mine-number-6)}.minesweeperCell--number-7{color:var(--mine-number-7)}.minesweeperCell--number-8{color:var(--mine-number-8)}.minesweeperPanel{position:static;display:grid;gap:14px;min-width:0;padding:16px;border:1px solid var(--border);border-radius:22px;background:var(--panel);box-shadow:var(--shadow-soft);align-self:start}.minesweeperControlGroup{display:grid;gap:10px}.minesweeperScaleControl{display:grid;width:min(calc(100vw - 28px),340px);gap:8px}.minesweeperScaleControl>span{color:var(--text-muted);font-size:.78rem;font-weight:850}.minesweeperScaleControl>div{display:grid;gap:8px;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center}.minesweeperScaleControl strong{display:grid;min-height:44px;border:1px solid var(--border);border-radius:14px;place-items:center;background:var(--surface-soft);color:var(--navy);font-weight:950}.minesweeperCustomForm{display:grid;gap:14px}.minesweeperCustomForm label{display:grid;gap:7px;color:var(--text-muted);font-size:.82rem;font-weight:850}.minesweeperCustomForm input[type=number]{min-height:44px;padding:0 12px;border:1px solid var(--border-strong);border-radius:14px;background:var(--surface);color:var(--navy);font:inherit;font-weight:850}.minesweeperCustomForm input:disabled{background:var(--surface-muted);color:var(--text-soft)}.minesweeperAutoToggle{display:flex!important;gap:10px;align-items:center;color:var(--blue-dark)!important}.minesweeperAutoToggle input{width:18px;height:18px;accent-color:var(--accent)}.minesweeperCustomHint,.minesweeperCustomError{margin:0;font-weight:850}.minesweeperCustomHint{color:var(--text-muted)}.minesweeperCustomError{color:var(--danger)}.minesweeperStats{display:grid;margin:0;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.minesweeperStats div{display:grid;min-height:64px;padding:10px 12px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft);align-content:center;gap:4px}.minesweeperStats dt{color:var(--text-muted);font-size:.76rem;font-weight:850}.minesweeperStats dd{margin:0;color:var(--navy);font-size:1.42rem;font-weight:950;line-height:1}.minesweeperStatCard--time{grid-column:1 / -1}.minesweeperFlagModeButton{width:100%;gap:8px}.minesweeperFlagIcon{width:19px;height:19px;flex:0 0 auto}.minesweeperResult{display:flex;gap:16px;padding:18px;border:1px solid var(--border);border-radius:22px;background:var(--panel);box-shadow:var(--shadow-soft);align-items:center;justify-content:space-between}.minesweeperResult--won{border-color:var(--success-line);background:var(--success-surface)}.minesweeperResult--lost{border-color:var(--danger-line);background:var(--danger-surface)}.minesweeperResult h2{margin-bottom:4px;color:var(--navy);font-size:1.18rem}.minesweeperResult p{margin-bottom:0;color:var(--text-muted)}.minesweeperResultActions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}@keyframes cardEnter{to{opacity:1;transform:translateY(0)}}@keyframes tileSpawn{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}@keyframes tileMerge{0%{transform:scale(1)}52%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes boardShake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes scoreBump{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-12px)}}@keyframes overlayFade{0%{opacity:0}to{opacity:1}}@keyframes modalEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes tetrisClear{0%{filter:brightness(1);transform:scaleY(1)}45%{filter:brightness(2.2);transform:scaleY(1)}to{filter:brightness(2.2);opacity:.15;transform:scaleY(.2)}}@keyframes tetrisEvent{0%{opacity:0;transform:translate(-50%,8px) scale(.9)}18%{opacity:1;transform:translate(-50%) scale(1)}70%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-14px) scale(.96)}}@media(pointer:coarse),(max-width:860px){.tetrisTouchPad{display:grid}}@media(max-width:1080px){.tetrisLayout{gap:16px;grid-template-columns:minmax(150px,190px) auto minmax(160px,210px)}.tetrisPreview,.tetrisPreview--empty{width:62px}.tetrisPreview--empty{height:62px}}@media(max-width:900px){.appShell{padding:28px 16px 40px}.gameLayout,.sudokuHeader,.sudokuLayout,.minesweeperHeader,.minesweeperLayout,.tetrisHeader{grid-template-columns:1fr}.tetrisHeaderControls{width:min(100%,520px)}.tetrisLevelSelect{flex:1}.tetrisLevelSelect select{width:100%;min-width:0}.tetrisLayout{grid-template-columns:minmax(0,1fr);justify-items:center}.tetrisSideColumn{width:min(100%,420px);grid-template-columns:repeat(2,minmax(0,1fr))}.tetrisSideColumn--left{order:1}.tetrisBoardColumn{order:2;width:min(100%,420px)}.tetrisSideColumn--right{order:3}.tetrisNextList{grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}.tetrisPanel--hints{grid-column:1 / -1}.tetrisStats{grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr))}.sudokuLayout,.minesweeperLayout{gap:18px}.minesweeperHeader{align-items:start}.minesweeperSmileButton{width:fit-content;justify-self:start}.minesweeperPanel{width:min(calc(100vw - 32px),560px);order:1}.minesweeperBoardColumn{order:2}.sudokuSettings{width:min(100%,520px);align-items:stretch}.sudokuDifficulty{flex:1}.sudokuDifficulty select{width:100%}.gameBoard,.sidePanel{width:min(100%,640px)}.sudokuBoard,.sudokuPanel{width:min(100%,520px)}}@media(max-width:620px){.appShell{padding:22px 14px 34px}.homeHero h1,.gameHeader h1{font-size:1.78rem}.homeHero p:last-child,.gameHeader p:last-child{font-size:1rem}.gameHeader{gap:12px;align-items:flex-start;flex-direction:row}.gameHeader__actions{flex-direction:column;align-items:flex-end}.menuButton{min-height:40px;padding:0 14px;border-radius:999px}.sudokuShell,.minesweeperShell,.tetrisShell{gap:18px}.tetrisHeader h1{font-size:2rem}.tetrisHeader p:last-child{font-size:1rem}.tetrisBoardFrame{padding:8px;border-radius:18px}.tetrisBoard{height:min(56vh,480px);gap:1.5px}.tetrisSideColumn{gap:10px}.tetrisPanel{padding:12px;border-radius:16px}.tetrisPreview,.tetrisPreview--empty{width:46px}.tetrisPreview--empty{height:46px}.tetrisStats{grid-template-columns:repeat(2,minmax(0,1fr))}.tetrisStats div{min-height:58px}.tetrisStats dd{font-size:1.16rem}.sudokuHeader,.minesweeperHeader{gap:14px}.sudokuHeader h1,.minesweeperHeader h1{font-size:2rem}.sudokuHeader p:last-child{font-size:1rem}.minesweeperHeader p:last-child{font-size:1rem}.minesweeperPresetGrid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.minesweeperPreset{min-height:60px;padding:10px 8px;border-radius:16px;align-content:center;gap:3px;text-align:center}.minesweeperPreset span{font-size:clamp(.78rem,3.2vw,.92rem);line-height:1.08}.minesweeperPreset small{font-size:clamp(.62rem,2.5vw,.72rem);line-height:1.1}.minesweeperBoardViewport{padding:8px;border-radius:18px}.minesweeperBoardColumn{order:2}.minesweeperBoard{border-radius:12px}.minesweeperPanel{order:1;padding:14px;border-radius:18px;gap:10px}.minesweeperStats{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.minesweeperStatCard--remaining{order:1}.minesweeperStatCard--flags{order:2}.minesweeperStatCard--time{order:3;grid-column:1 / -1}.minesweeperStats div{min-height:70px}.minesweeperResult{align-items:stretch;flex-direction:column}.minesweeperResultActions{justify-content:stretch}.minesweeperResultActions .primaryButton,.minesweeperResultActions .ghostButton{flex:1}.sudokuSettings{flex-direction:column}.sudokuBoard{width:min(100%,94vw,520px);border-radius:14px}.sudokuPanel{width:min(100%,94vw,520px);padding:14px;border-radius:18px}.sudokuControls{gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.sudokuControls .primaryButton,.sudokuControls .ghostButton{min-height:46px;padding:0 8px;border-radius:13px;font-size:.86rem}.sudokuControls .undoButton{gap:6px}.sudokuControls .sudokuControlButton svg,.sudokuControls .undoButton svg{width:15px;height:15px}.sudokuNumberPad{gap:4px}.sudokuNumberButton{min-height:44px;border-radius:12px;font-size:1.08rem}.sudokuCell__value{font-size:clamp(1rem,7vw,1.58rem)}.sudokuNotes{width:72%;height:72%;font-size:clamp(.36rem,2vw,.58rem)}.themeGrid{grid-template-columns:1fr}.gameCard{min-height:220px;padding:20px;border-radius:20px}.gameCard__button{width:100%}.themeCard{min-height:0;padding:0;border-radius:20px}.themeCard__art{aspect-ratio:1 / .62;padding:16px 14px 4px}.themeCard__content{padding:0 20px 20px}.gameBoard{--board-padding: 8px;--board-gap: 8px;border-radius:20px}.boardCell,.gameTile{border-radius:14px}.gameTile{padding:8px}.gameTile--illustrated{padding:6px 4px 5px}.tilePower{top:6px;left:6px;min-width:1.4rem;height:1.14rem;font-size:.58rem}.tileLabelShort{font-size:clamp(.76rem,4vw,1rem)}.tileLabelMedium{font-size:clamp(.62rem,3vw,.82rem)}.tileLabelLong{font-size:clamp(.5rem,2.45vw,.68rem)}.gameTile--illustrated .tileLabelShort,.gameTile--illustrated .tileLabelMedium{font-size:clamp(.5rem,2.5vw,.7rem)}.gameTile--illustrated .tileLabelLong{font-size:clamp(.44rem,2.1vw,.6rem)}.scoreGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.scoreCard,.progressPanel{border-radius:18px}.scoreCard{min-height:86px;padding:15px}.scoreCard strong{font-size:1.62rem}.modalBackdrop{padding:12px}.modal{max-height:calc(100vh - 24px);padding:18px;border-radius:20px}.emptyState{padding:22px;border-radius:20px}.emptyState__actions,.emptyState__button{width:100%}.progressSummary{grid-template-columns:1fr}.menuDrawer{padding:22px}}@media(max-width:390px){.minesweeperStats{grid-template-columns:repeat(2,minmax(0,1fr))}.minesweeperResultActions .primaryButton,.minesweeperResultActions .ghostButton{width:100%}.minesweeperSmileButton{width:52px;min-width:52px;height:52px;border-radius:16px}.minesweeperSmileIcon{width:31px;height:31px}.sudokuNumberPad{gap:3px}.sudokuNumberButton{min-height:42px;border-radius:10px;font-size:1rem}.sudokuControls .primaryButton,.sudokuControls .ghostButton{padding:0 6px;font-size:.78rem}.sudokuControls .sudokuControlButton svg,.sudokuControls .undoButton svg{width:14px;height:14px}.tileLabelLong{font-size:.48rem}.tileLabelMedium{font-size:.58rem}.tetrisPreview,.tetrisPreview--empty{width:40px}.tetrisPreview--empty{height:40px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}
