.mines-board,.mines-tutorial-board{--mines-1:#2f5fbf;--mines-2:#2c7a4b;--mines-3:#c2603f;--mines-4:#6a4fa3;--mines-5:#8a5a2b;--mines-6:#1f7a72;--mines-7:#4a4a4a;--mines-8:#6b6b6b}:root[data-theme=dark] .mines-board,:root[data-theme=dark] .mines-tutorial-board{--mines-1:#8bb0ea;--mines-2:#74c68f;--mines-3:#e59275;--mines-4:#b3a0e4;--mines-5:#d9ac6d;--mines-6:#6fc9be;--mines-7:#d4d0c8;--mines-8:#a3a3a3}.mines-board-scroll{flex-direction:column;flex:1;align-items:center;gap:10px;min-height:0;padding:8px 12px 12px;display:flex;overflow:auto}.mines-board{--mines-gap:2px;--mines-cell:clamp(22px, calc((100vw - 24px - (var(--mines-cols) - 1) * var(--mines-gap)) / var(--mines-cols)), 40px);grid-template-columns:repeat(var(--mines-cols), var(--mines-cell));gap:var(--mines-gap);touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;justify-content:center;margin:0 auto;display:grid}.mines-cell{width:var(--mines-cell);height:var(--mines-cell);font-family:var(--font-display);font-size:calc(var(--mines-cell) * .6);font-variant-numeric:tabular-nums;border-radius:4px;justify-content:center;align-items:center;font-weight:800;line-height:1;transition:background-color .14s,border-color .14s;display:flex}.mines-board-still .mines-cell{transition:none}.mines-cell-shut{background:var(--surface);border:1px solid var(--line);box-shadow:inset 0 -2px #0000000f}.mines-cell-shut:active{background:var(--accent-soft)}.mines-cell-open{background:var(--surface-recessed);box-shadow:none;color:var(--ink);border:1px solid #0000}.mines-cell[data-count="1"]{color:var(--mines-1)}.mines-cell[data-count="2"]{color:var(--mines-2)}.mines-cell[data-count="3"]{color:var(--mines-3)}.mines-cell[data-count="4"]{color:var(--mines-4)}.mines-cell[data-count="5"]{color:var(--mines-5)}.mines-cell[data-count="6"]{color:var(--mines-6)}.mines-cell[data-count="7"]{color:var(--mines-7)}.mines-cell[data-count="8"]{color:var(--mines-8)}.mines-cell-mine{background:var(--surface-recessed);border:1px solid var(--line);color:var(--ink-soft)}.mines-cell-blast{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}.mines-glyph{font-size:calc(var(--mines-cell) * .55);line-height:1}.mines-cell-shut .mines-glyph{color:var(--accent)}.mines-cell-hint{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring)}.mines-cell-reason{background:var(--accent-soft)}.mines-start-hint{text-align:center;max-width:320px;color:var(--ink-soft);margin:0;font-size:14px}.mines-counter{font-variant-numeric:tabular-nums;color:var(--ink-soft);align-items:baseline;gap:4px;font-size:15px;font-weight:700;display:inline-flex}.mines-counter-glyph{color:var(--accent)}.mines-choose-label{color:var(--ink-soft);text-align:center;margin:0 0 -4px;font-size:13px;font-weight:600}.mines-chips{grid-template-columns:repeat(2,1fr)}.mines-tutorial-board{--mines-cell:40px;grid-template-columns:repeat(3, var(--mines-cell));justify-content:center;gap:3px;display:grid}.mines-tutorial-board .mines-cell{cursor:default}.nono-board-scroll{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;padding:8px 12px 12px;display:flex;overflow:auto}.nono-board{--nono-gap:2px;--nono-cell:clamp(18px, calc((100vw - 24px - (var(--nono-size) + 1) * var(--nono-gap)) / (var(--nono-size) + 2.6)), 40px);--nono-band:calc(var(--nono-cell) * 2.6);grid-template-columns:var(--nono-band) auto;grid-template-rows:var(--nono-band) auto;gap:var(--nono-gap);touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:grid}.nono-colclues{grid-template-columns:repeat(var(--nono-size), var(--nono-cell));gap:var(--nono-gap);display:grid}.nono-rowclues{grid-template-rows:repeat(var(--nono-size), var(--nono-cell));gap:var(--nono-gap);display:grid}.nono-clue{justify-content:flex-end;align-items:center;gap:clamp(5px, calc(var(--nono-cell) * .22), 8px);font-family:var(--font-display);font-size:clamp(10px, calc(var(--nono-cell) * .44), 15px);font-variant-numeric:tabular-nums;color:var(--ink);border-radius:4px;padding:2px 4px;font-weight:700;line-height:1;display:flex}.nono-colclues .nono-clue{flex-direction:column;justify-content:flex-end;align-items:center;padding:4px 0}.nono-clue-done{color:var(--ink-soft);opacity:.55;text-decoration:line-through}.nono-clue-hint{background:var(--accent-soft);color:var(--accent)}.nono-clue-broken{background:var(--warn-soft);color:var(--warn)}.nono-cells{grid-template-columns:repeat(var(--nono-size), var(--nono-cell));grid-auto-rows:var(--nono-cell);gap:var(--nono-gap);display:grid}.nono-cell{width:var(--nono-cell);height:var(--nono-cell);background:var(--surface);border:1px solid var(--line);border-radius:4px;justify-content:center;align-items:center;transition:background-color .12s,border-color .12s;display:flex}.nono-cell:active{background:var(--accent-soft)}.nono-cell-filled{background:var(--ink);border-color:var(--ink)}.nono-cell-crossed{background:var(--surface-recessed)}.nono-glyph{font-size:calc(var(--nono-cell) * .55);color:var(--ink-soft);line-height:1}.nono-cell-guide-left{box-shadow:-2px 0 0 0 var(--stone)}.nono-cell-guide-top{box-shadow:0 -2px 0 0 var(--stone)}.nono-cell-guide-left.nono-cell-guide-top{box-shadow:-2px 0 0 0 var(--stone), 0 -2px 0 0 var(--stone)}.nono-cell-hint{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring)}.nono-cell-reason:not(.nono-cell-filled){background:var(--accent-soft)}.nono-cell-broken:not(.nono-cell-filled){background:var(--warn-soft)}@media (prefers-reduced-motion:reduce){.nono-cell{transition:none}}:root[data-reduced-motion=true] .nono-cell{transition:none}.nono-size-tag{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:13px}.nono-level-done{color:var(--ink-soft);font-size:11px}.level-cell-current .nono-level-done{color:var(--accent-ink);opacity:.85}.nono-daily-badge{color:var(--accent);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.nono-daily-badge-done{color:var(--ink-soft)}.nono-figure{align-items:center;gap:5px;display:flex}.nono-figure-clue{text-align:right;min-width:40px;font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--ink);padding-right:6px;font-size:17px;font-weight:700}.nono-figure-clue-done{color:var(--ink-soft);opacity:.55;text-decoration:line-through}.nono-figure-cell{background:var(--surface);border:1px solid var(--line);width:34px;height:34px;color:var(--ink-soft);border-radius:7px;justify-content:center;align-items:center;font-size:18px;display:flex}.nono-figure-cell-filled{background:var(--ink);border-color:var(--ink)}.nono-figure-cell-crossed{background:var(--surface-recessed)}.board-scroll{flex:1;padding:8px 12px 16px;overflow-y:auto}.board{max-width:440px;margin:0 auto}.board-row{grid-template-rows:1fr;margin-bottom:5px;transition:grid-template-rows .3s,margin-bottom .3s,opacity .22s;display:grid}.board-row:last-child{margin-bottom:0}.board-row-inner{grid-template-columns:repeat(9,1fr);gap:5px;min-height:0;display:grid}.row-collapsing{opacity:0;grid-template-rows:0fr;margin-bottom:0}.row-collapsing .board-row-inner{overflow:hidden}.cell{aspect-ratio:1;font-family:var(--font-display);font-variant-numeric:tabular-nums;border-radius:10px;justify-content:center;align-items:center;font-size:max(16px,min(4.6vw,24px));font-weight:700;display:flex}.cell-live{background:var(--surface);border:1px solid var(--line);color:var(--ink);transition:background-color .12s,border-color .12s}.cell-cleared{background:var(--surface-recessed);border:1px dashed var(--line);opacity:.55}.cell-hole{background:0 0;border:none}.cell-stone{background:var(--stone);border:1px solid var(--stone-line);box-shadow:inset 0 -2px #00000029}.cell-wild{background:var(--wild);border-color:var(--wild-line);color:var(--wild-ink)}.cell-wild.cell-selected{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.cell-dot{background:var(--line);border-radius:50%;width:5px;height:5px}.cell-selected{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.cell-clearing{z-index:1;animation:.26s forwards match-pop;position:relative}.cell-hint{border:2px solid var(--accent);animation:1s ease-in-out 3 hint-pulse}.cell-invalid{border-color:var(--warn);background:var(--warn-soft);animation:.25s invalid-shake}.cell-blocking{border:2px dashed var(--warn);color:var(--warn)}.cell-path .cell-dot{background:var(--warn);width:9px;height:9px}.cell-cleared.cell-path{opacity:1}@keyframes match-pop{0%{background:var(--accent);border:1px solid var(--accent);color:var(--accent-ink);opacity:1;transform:scale(1)}45%{background:var(--accent);border:1px solid var(--accent);color:var(--accent-ink);opacity:1;transform:scale(1.16)}to{background:var(--surface-recessed);border:1px solid var(--line);color:#0000;opacity:.55;transform:scale(1)}}@keyframes hint-pulse{0%,to{box-shadow:0 0 0 0 var(--accent-ring)}50%{box-shadow:0 0 0 5px var(--accent-ring-soft)}}@keyframes invalid-shake{0%,to{transform:translate(0)}30%{transform:translate(-3px)}60%{transform:translate(3px)}}.tutorial-tiles{gap:8px;display:flex}.tutorial-tile{background:var(--surface);border:1px solid var(--line);width:52px;height:52px;font-family:var(--font-display);border-radius:12px;justify-content:center;align-items:center;font-size:24px;font-weight:700;display:flex}.tutorial-tile-empty{background:var(--surface-recessed);opacity:.6;border-style:dashed}.tutorial-tile-blocked{border:2px dashed var(--warn);color:var(--warn)}.tutorial-mark{justify-content:center;align-items:center;width:28px;font-size:20px;font-weight:700;display:flex}.tutorial-mark-ok{color:var(--accent)}.tutorial-mark-no{color:var(--warn)}.tutorial-note{color:var(--ink-soft);font-size:14px}.score-summary{margin:4px 0 12px}.score-total-row{align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.score-total{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--accent);font-size:34px;font-weight:800}.score-newbest{color:var(--accent);font-size:14px;font-weight:700}.score-best-note{color:var(--ink-soft);font-size:13px}.score-breakdown{flex-direction:column;gap:2px;margin:0;display:flex}.score-breakdown div{justify-content:space-between;font-size:14px;display:flex}.score-breakdown dt{color:var(--ink-soft)}.score-breakdown dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.top-scores{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:8px 0 0;padding:0;list-style:none;overflow:hidden}.top-score-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 14px;font-size:14px;display:flex}.top-score-row:last-child{border-bottom:none}.top-score-rank{width:20px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.top-score-ref{flex:1;font-weight:600}.top-score-date{color:var(--ink-soft);font-size:12px}.top-score-value{font-variant-numeric:tabular-nums;font-weight:700}.game-best{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:13px}.slide-body{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;min-height:0;padding:4px 12px 10px;display:flex}.slide-board{aspect-ratio:1;background:var(--surface-recessed);border:2px solid var(--ink-soft);border-radius:var(--radius);touch-action:none;width:min(94vw,420px,52vh);position:relative;overflow:hidden}.slide-tile{width:calc(100% / var(--slide-n));height:calc(100% / var(--slide-n));transform:translate(calc(var(--slide-col) * 100%), calc(var(--slide-row) * 100%));padding:3px;transition:transform .13s ease-out;position:absolute;top:0;left:0}.slide-board-still .slide-tile{transition:none}.slide-tile-face{background:var(--surface);border:1px solid var(--line);width:100%;height:100%;color:var(--ink);font-family:var(--font-display);font-variant-numeric:tabular-nums;border-radius:10px;justify-content:center;align-items:center;font-size:max(15px,min(7vw,34px));font-weight:700;display:flex}.slide-board[data-size="4"] .slide-tile-face{font-size:max(14px,min(5.5vw,28px))}.slide-board[data-size="5"] .slide-tile-face{font-size:max(13px,min(4.4vw,23px))}.slide-tile:active .slide-tile-face{background:var(--accent-soft)}.slide-tile-home .slide-tile-face{color:var(--accent);border-color:var(--accent-ring)}.slide-tile-blank{transition:none}.slide-tile-blank .slide-tile-face{border:1px dashed var(--line);opacity:.6;background:0 0}.slide-status{color:var(--ink-soft);align-items:baseline;gap:10px;font-size:13px;display:flex}.slide-mode{color:var(--ink);font-size:15px;font-weight:700}.slide-move-count{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--accent);font-size:15px;font-weight:700}.action-bar.slide-actions{justify-content:center}.slide-level-best{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:11px}.level-cell-current .slide-level-best{color:var(--accent-ink);opacity:.85}.slide-figure{grid-template-columns:repeat(3,1fr);gap:5px;width:174px;display:grid}.slide-figure-cell{aspect-ratio:1;background:var(--surface);border:1px solid var(--line);font-family:var(--font-display);color:var(--ink);border-radius:10px;justify-content:center;align-items:center;font-size:22px;font-weight:700;display:flex}.slide-figure-cell-blank{opacity:.6;background:0 0;border-style:dashed}.slide-figure-cell-move{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent);color:var(--accent)}.slide-daily-badge{color:var(--accent);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.slide-daily-badge-done{color:var(--ink-soft)}.sudoku-body{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;min-height:0;padding:4px 12px 10px;display:flex}.sudoku-grid{aspect-ratio:1;background:var(--surface);border:2px solid var(--ink-soft);border-radius:8px;grid-template-columns:repeat(9,1fr);width:min(94vw,400px);display:grid;overflow:hidden}.sudoku-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--accent);background:0 0;justify-content:center;align-items:center;font-size:max(15px,min(5vw,24px));font-weight:700;transition:background-color .1s;display:flex;position:relative}.sudoku-cell[data-seam-right=true]{border-right:2px solid var(--ink-soft)}.sudoku-cell[data-seam-bottom=true]{border-bottom:2px solid var(--ink-soft)}.sudoku-cell:nth-child(9n){border-right:none}.sudoku-cell:nth-child(n+73){border-bottom:none}.sudoku-cell-given{color:var(--ink)}.sudoku-cell-peer{background:var(--accent-ring-soft)}.sudoku-cell-same{background:var(--accent-soft)}.sudoku-cell-selected{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.sudoku-cell-conflict{color:var(--warn);background:var(--warn-soft)}.sudoku-cell-hint{box-shadow:inset 0 0 0 2px var(--accent-ring)}.sudoku-cell-hint-target{box-shadow:inset 0 0 0 3px var(--accent)}.sudoku-notes{width:100%;height:100%;color:var(--ink-soft);grid-template-columns:repeat(3,1fr);padding:1px;font-size:max(7px,min(1.9vw,10px));font-weight:600;line-height:1;display:grid}.sudoku-note{justify-content:center;align-items:center;display:flex}.digit-pad{grid-template-columns:repeat(9,1fr);gap:4px;width:min(94vw,400px);display:grid}.digit-key{background:var(--surface);border:1px solid var(--line);min-height:52px;color:var(--ink);font-family:var(--font-display);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-size:max(17px,min(5vw,23px));font-weight:700;display:flex}.digit-key:active{background:var(--accent-soft)}.digit-key-notes{color:var(--accent)}.digit-key-left{color:var(--ink-soft);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:9px;font-weight:600}.sudoku-status{color:var(--ink-soft);align-items:baseline;gap:10px;font-size:13px;display:flex}.sudoku-tutorial-box{grid-template-columns:repeat(3,1fr);gap:4px;width:168px;display:grid}.sudoku-tutorial-box-single{grid-template-columns:1fr;width:56px}.sudoku-tutorial-cell{aspect-ratio:1;background:var(--surface);border:1px solid var(--line);font-family:var(--font-display);color:var(--ink);border-radius:10px;justify-content:center;align-items:center;font-size:22px;font-weight:700;display:flex}.sudoku-tutorial-cell-focus{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent);color:var(--accent)}.sudoku-tutorial-cell .sudoku-notes{font-size:11px}.sudoku-mode{color:var(--ink);font-size:15px;font-weight:700}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(./nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(./nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}:root{--ink:#232a33;--ink-soft:#5c6772;--paper:#f3f0e9;--surface:#fffdf8;--surface-recessed:#e8e4d9;--line:#ddd7ca;--accent:#3f5b8f;--accent-ink:#fff;--accent-soft:#e2e8f3;--accent-ring:#3f5b8f61;--accent-ring-soft:#3f5b8f1f;--warn:#c2603f;--warn-soft:#f6e4db;--stone:#9aa1ab;--stone-line:#7f8792;--wild:#f0e2c4;--wild-ink:#8a6a2f;--wild-line:#cbab6d;--shadow:0 4px 18px #232a3321;--radius:14px;--tap-size:48px;--font-display:"Nunito", ui-rounded, system-ui, sans-serif}:root[data-game=sudoku]{--accent:#2f6f62;--accent-ink:#fff;--accent-soft:#dcebe6;--accent-ring:#2f6f6261;--accent-ring-soft:#2f6f621f}:root[data-game=minesweeper]{--accent:#4a5a72;--accent-ink:#fff;--accent-soft:#e3e7ee;--accent-ring:#4a5a7261;--accent-ring-soft:#4a5a721f}:root[data-game=nonogram]{--accent:#6d5192;--accent-ink:#fff;--accent-soft:#eae4f2;--accent-ring:#6d519261;--accent-ring-soft:#6d51921f}:root[data-game=sliding-puzzle]{--accent:#9c5b3c;--accent-ink:#fff;--accent-soft:#f2e2d8;--accent-ring:#9c5b3c61;--accent-ring-soft:#9c5b3c1f}:root[data-theme=dark]{--ink:#e9e6df;--ink-soft:#8b95a3;--paper:#14171c;--surface:#212730;--surface-recessed:#1a1f26;--line:#333b47;--accent:#7d9ccf;--accent-ink:#12161c;--accent-soft:#243043;--accent-ring:#7d9ccf6b;--accent-ring-soft:#7d9ccf24;--warn:#d9805f;--warn-soft:#3a2a22;--stone:#4b535f;--stone-line:#616b79;--wild:#3a3122;--wild-ink:#e8cf9a;--wild-line:#7d6634;--shadow:0 4px 18px #00000080}:root[data-theme=dark][data-game=sudoku]{--accent:#6fb3a3;--accent-ink:#101815;--accent-soft:#1e3b34;--accent-ring:#6fb3a36b;--accent-ring-soft:#6fb3a324}:root[data-theme=dark][data-game=minesweeper]{--accent:#93a4bd;--accent-ink:#12151b;--accent-soft:#262d3a;--accent-ring:#93a4bd6b;--accent-ring-soft:#93a4bd24}:root[data-theme=dark][data-game=nonogram]{--accent:#a893cf;--accent-ink:#161020;--accent-soft:#2e2740;--accent-ring:#a893cf6b;--accent-ring-soft:#a893cf24}:root[data-theme=dark][data-game=sliding-puzzle]{--accent:#d1926f;--accent-ink:#1a120e;--accent-soft:#3a2820;--accent-ring:#d1926f6b;--accent-ring-soft:#d1926f24}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;margin:0;padding:0}body{background:var(--paper);color:var(--ink);overscroll-behavior:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Noto Sans JP,Noto Sans Devanagari,Noto Sans Thai,sans-serif;font-size:16px;line-height:1.5}#root{height:100%}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}button:disabled{cursor:default;opacity:.4}.screen{height:100%;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);flex-direction:column;display:flex}.screen-header{justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.screen-header h1{margin:0;font-size:20px;font-weight:700}.icon-btn{min-width:var(--tap-size);min-height:var(--tap-size);color:var(--ink-soft);border-radius:12px;justify-content:center;align-items:center;font-size:22px;display:inline-flex}.badge-icon{vertical-align:-.15em}.settings-row-chevron{color:var(--ink-soft);align-items:center;font-size:18px;display:inline-flex}.icon-btn:active{background:var(--accent-soft)}.icon-btn-placeholder{min-width:var(--tap-size)}.btn{border-radius:var(--radius);flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:52px;padding:10px 20px;font-size:17px;font-weight:600;transition:transform 60ms;display:flex}.btn:active{transform:scale(.985)}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.btn-ghost{color:var(--ink-soft);background:0 0}.btn-danger{background:var(--warn);color:#fff}.btn-big{width:100%;min-height:64px}.btn-note{opacity:.85;font-size:13px;font-weight:400}.home-screen{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.home-hero{text-align:center;padding:4vh 24px 20px}.home-logo{background:var(--accent-soft);width:52px;height:52px;color:var(--accent);font-family:var(--font-display);border-radius:15px;justify-content:center;align-items:center;margin:0 auto 14px;font-size:22px;font-weight:800;display:flex}.home-mark{width:52px;height:52px;margin:0 auto 14px;display:block}.home-title{font-family:var(--font-display);letter-spacing:-.3px;margin:0 0 8px;font-size:34px;font-weight:800}.home-tagline{color:var(--ink-soft);margin:0;font-size:15px}.home-actions{flex-direction:column;flex:1;gap:12px;width:100%;max-width:420px;margin:0 auto;padding:0 24px;display:flex}.home-chips{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px;display:grid}.home-chip{background:var(--surface);border:1px solid var(--line);min-height:66px;color:var(--ink-soft);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:10px 4px;font-size:12px;font-weight:600;line-height:1.2;transition:transform 60ms;display:flex}.home-chip:active{transform:scale(.97)}.home-chip-icon{color:var(--accent);font-size:20px}.home-links{flex-wrap:wrap;justify-content:center;gap:4px;margin-top:4px;display:flex}.brand-footer{color:var(--ink-soft);flex-direction:row;justify-content:center;align-items:baseline;gap:5px;padding:16px;display:flex}.brand-name{letter-spacing:1px;font-size:14px;font-weight:700}.brand-by{font-size:12px}.game-list{flex-direction:column;flex:1;gap:12px;width:100%;max-width:420px;margin:0 auto;padding:0 24px;display:flex}.game-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);text-align:start;align-items:center;gap:14px;padding:14px 16px;transition:transform 60ms;display:flex}.game-card:active{transform:scale(.985)}.game-card-tile{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);font-family:var(--font-display);border-radius:13px;flex:none;justify-content:center;align-items:center;font-size:18px;font-weight:800;display:flex}.game-card-text{flex-direction:column;gap:2px;min-width:0;display:flex}.game-card-title{font-size:17px;font-weight:700}.game-card-blurb{color:var(--ink-soft);font-size:13px}.game-card-chevron{color:var(--ink-soft);font-size:18px}.game-card-chevron:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:auto}.game-card-chevron:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:auto}.game-card-chevron:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:auto}.game-card-chevron:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:auto}.game-card-chevron:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:auto}.game-card-chevron:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:auto}.settings-group{flex-direction:column;gap:8px;margin-top:20px;display:flex}.settings-group-title{letter-spacing:.4px;text-transform:uppercase;color:var(--ink-soft);margin:0 0 2px;font-size:13px;font-weight:700}.settings-note{color:var(--ink-soft);margin:0 0 4px;font-size:14px;line-height:1.5}.game-screen{overflow:hidden}.game-content{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.game-content[inert]{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.game-topbar{justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.game-status{align-items:baseline;gap:10px;display:flex}.game-mode{font-size:15px;font-weight:700}.game-score{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--accent);font-size:15px;font-weight:700}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.action-bar{padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper);justify-content:space-around;gap:8px;display:flex}.game-screen .action-bar{padding-bottom:10px}.action-btn{border-radius:var(--radius);max-width:130px;min-height:56px;color:var(--ink);background:var(--surface);border:1px solid var(--line);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:14px;font-weight:600;display:flex}.action-icon{color:var(--accent);font-size:18px;line-height:1}.action-btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.action-btn[aria-pressed=true] .action-icon{color:var(--accent-ink)}.banner-slot{background:var(--paper);margin-bottom:env(safe-area-inset-bottom);flex-shrink:0}.overlay{z-index:20;background:#14171c80;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.dialog{background:var(--surface);color:var(--ink);box-shadow:var(--shadow);border-radius:18px;width:100%;max-width:360px;max-height:80vh;padding:24px;overflow-y:auto}.dialog-title{margin:0 0 8px;font-size:20px}.dialog-body{color:var(--ink-soft);margin:0 0 12px;font-size:15px}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.dialog-actions-column{flex-direction:column;align-items:stretch;margin-top:12px}.result-facts{gap:24px;margin:12px 0 16px;display:flex}.result-facts div{flex-direction:column;display:flex}.result-facts dt{color:var(--ink-soft);font-size:13px}.result-facts dd{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin:0;font-size:22px;font-weight:700}.result-actions{flex-direction:column;gap:8px;display:flex}.privacy-dialog .dialog-body{font-size:14px}.privacy-attribution{font-weight:600}.toast{background:var(--ink);color:var(--paper);box-shadow:var(--shadow);z-index:15;text-align:center;border-radius:18px;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:calc(100vw - 32px);padding:10px 18px;font-size:14px;position:absolute;bottom:140px;left:50%;transform:translate(-50%)}.game-screen{position:relative}.tutorial-screen{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.tutorial-card{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:0 32px;display:flex}.tutorial-step-count{gap:6px;display:flex}.dot{background:var(--line);border-radius:50%;width:8px;height:8px}.dot-active{background:var(--accent)}.tutorial-title{margin:0;font-size:24px}.tutorial-body{color:var(--ink-soft);max-width:340px;margin:0;font-size:16px}.tutorial-example{flex-direction:column;align-items:center;gap:8px;display:flex}.tutorial-example+.tutorial-example{margin-top:4px}.tutorial-actions{justify-content:space-between;align-items:center;padding:0 24px;display:flex}.tutorial-actions .btn-primary{min-width:180px}.settings-screen,.stats-screen{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.settings-list{flex-direction:column;flex:1;gap:4px;padding:0 16px;display:flex;overflow-y:auto}.settings-row{background:var(--surface);border:1px solid var(--line);text-align:left;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:56px;padding:8px 12px;font-size:16px;display:flex}.settings-row-label{font-weight:600}.settings-row-value{color:var(--ink-soft)}.settings-row-danger .settings-row-label{color:var(--warn)}.settings-row-static{background:0 0;border-color:#0000}.settings-select{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);min-height:var(--tap-size);border-radius:10px;padding:8px 10px}.segmented{background:var(--paper);border:1px solid var(--line);border-radius:10px;display:flex;overflow:hidden}.segment{color:var(--ink-soft);min-height:var(--tap-size);padding:10px 12px;font-size:14px}.segment-active{background:var(--accent);color:var(--accent-ink)}.toggle-track{background:var(--line);border-radius:999px;flex-shrink:0;align-items:center;width:48px;height:28px;padding:3px;transition:background-color .15s;display:inline-flex}.toggle-track.on{background:var(--accent)}.toggle-thumb{background:var(--surface);border-radius:50%;width:22px;height:22px;transition:transform .15s}.toggle-track.on .toggle-thumb{transform:translate(20px)}.levels-screen{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.level-pager{justify-content:center;align-items:center;gap:12px;padding:0 16px 8px;display:flex}.level-pager-range{text-align:center;min-width:110px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.level-grid-scroll{flex:1;padding:4px 16px 16px;overflow-y:auto}.level-grid{grid-template-columns:repeat(5,1fr);gap:8px;max-width:440px;margin:0 auto;display:grid}.level-cell{aspect-ratio:1;background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex}.level-cell-number{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.level-cell-best{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:11px}.level-cell-current{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.level-cell-current .level-cell-best{color:var(--accent-ink);opacity:.85}.level-cell-locked{background:var(--surface-recessed)}.level-cell-locked:disabled{opacity:.35}.stats-body{flex-direction:column;flex:1;gap:20px;width:100%;max-width:480px;margin:0 auto;padding:0 16px;display:flex;overflow-y:auto}.stats-title{color:var(--ink-soft);text-transform:uppercase;letter-spacing:1px;margin:0 0 8px;font-size:16px}.stats-grid{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;margin:0;display:flex;overflow:hidden}.stats-row{border-bottom:1px solid var(--line);justify-content:space-between;padding:12px 16px;display:flex}.stats-row:last-child{border-bottom:none}.stats-row dt{color:var(--ink-soft)}.stats-row dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root[data-reduced-motion=true] *{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.daily-screen{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.daily-hint{color:var(--ink-soft);text-align:center;margin:0 16px 12px;font-size:14px}.daily-list{flex-direction:column;flex:1;gap:4px;width:100%;max-width:480px;margin:0 auto;padding:0 16px;display:flex;overflow-y:auto}.daily-row-today .settings-row-label{font-weight:700}.daily-row-meta{color:var(--ink-soft);align-items:center;gap:8px;display:flex}.daily-badge{color:var(--accent);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.daily-badge-done{color:var(--ink-soft)}
