:root{--text:#6b6375;--text-h:#140f1f;--text-dim:#a39cae;--bg:#fff;--border:#e6e3eb;--code-bg:#f6f4fb;--accent:#7c3aed;--accent-light:#9d6bf7;--accent-bg:#7c3aed14;--accent-border:#7c3aed61;--good:#16a34a;--good-soft:#16a34a1f;--bad:#dc2626;--bad-soft:#dc26261a;--shadow-sm:0 1px 2px #140f1f0f;--shadow-md:0 8px 24px #140f1f14;--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--region-sat:68%;--region-light:82%;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:17px/145% var(--sans);letter-spacing:.1px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--text:#a9a5b4;--text-h:#f6f4fb;--text-dim:#6f6a7d;--bg:#15131c;--border:#2c2936;--code-bg:#1f1c29;--accent:#a78bfa;--accent-light:#c3aefc;--accent-bg:#a78bfa29;--accent-border:#a78bfa7a;--good:#4ade80;--good-soft:#4ade8026;--bad:#f87171;--bad-soft:#f8717126;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 8px 24px #00000059;--region-sat:75%;--region-light:26%}}:root[data-theme=dark]{--text:#a9a5b4;--text-h:#f6f4fb;--text-dim:#6f6a7d;--bg:#15131c;--border:#2c2936;--code-bg:#1f1c29;--accent:#a78bfa;--accent-light:#c3aefc;--accent-bg:#a78bfa29;--accent-border:#a78bfa7a;--good:#4ade80;--good-soft:#4ade8026;--bad:#f87171;--bad-soft:#f8717126;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 8px 24px #00000059;--region-sat:75%;--region-light:26%}#root{box-sizing:border-box;min-height:100svh}body{background:var(--bg);margin:0}h1{font-family:var(--sans);color:var(--text-h);letter-spacing:-1.2px;margin:8px 0 0;font-size:38px;font-weight:800}p{margin:0}*{box-sizing:border-box}:root{--text:#667085;--text-h:#182230;--text-dim:#98a2b3;--bg:#f7f8fb;--border:#e4e7ec;--code-bg:#eef1f5;--accent:#2563eb;--accent-light:#4f8cff;--accent-bg:#2563eb1a;--accent-border:#2563eb4d;--good:#16a34a;--good-soft:#16a34a1c;--bad:#dc3b3b;--bad-soft:#dc3b3b1a;--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 10px 28px #1018281a;--shadow-lg:0 18px 50px #1018281f;--region-sat:88%;--region-light:70%}:root[data-theme=dark]{--text:#aeb7c7;--text-h:#f5f7fa;--text-dim:#707b8f;--bg:#10141b;--border:#252c38;--code-bg:#191f29;--accent:#5b93ff;--accent-light:#78a7ff;--accent-bg:#5b93ff26;--accent-border:#5b93ff66;--good:#4ade80;--good-soft:#4ade8024;--bad:#ff6b6b;--bad-soft:#ff6b6b24;--shadow-sm:0 1px 2px #00000047;--shadow-md:0 10px 28px #00000057;--shadow-lg:0 18px 50px #0006;--region-sat:58%;--region-light:37%}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--text:#aeb7c7;--text-h:#f5f7fa;--text-dim:#707b8f;--bg:#10141b;--border:#252c38;--code-bg:#191f29;--accent:#5b93ff;--accent-light:#78a7ff;--accent-bg:#5b93ff26;--accent-border:#5b93ff66;--good:#4ade80;--good-soft:#4ade8024;--bad:#ff6b6b;--bad-soft:#ff6b6b24;--shadow-sm:0 1px 2px #00000047;--shadow-md:0 10px 28px #00000057;--shadow-lg:0 18px 50px #0006;--region-sat:58%;--region-light:37%}}.app-content{max-width:560px;padding:24px 16px calc(92px + env(safe-area-inset-bottom,0px));gap:20px;margin:0 auto}.bottom-nav{z-index:20;width:min(100%,560px);max-width:560px;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 96%, transparent);border-bottom:0;border-radius:18px 18px 0 0;left:50%;right:auto;transform:translate(-50%);box-shadow:0 -8px 30px #10182814}.nav-item{border-radius:12px;padding:7px 4px}.nav-item.active{background:var(--accent-bg)}.home-screen{gap:18px;max-width:460px;padding-top:18px}.home-screen h1{letter-spacing:-1.8px;font-size:clamp(34px,9vw,44px)}.home-cta{border-radius:13px;min-height:54px}.home-cta.primary{background:linear-gradient(135deg,#4f8cff,#2563eb);box-shadow:0 8px 22px #2563eb38}.home-cta.secondary{background:var(--bg)}.game-screen{gap:14px;max-width:520px;margin:0 auto}.game-topbar{max-width:520px}.game-title{letter-spacing:-.2px;font-size:16px}.icon-button{border:1px solid var(--border);background:var(--bg);width:42px;height:42px;box-shadow:var(--shadow-sm)}.game-card{gap:14px;max-width:520px;padding:2px 0 20px}.lives{background:var(--bad-soft);border-radius:999px;padding:4px 7px}.life{width:18px;height:18px}.puzzle-grid{border:1px solid var(--border);background:var(--bg);width:min(100%,500px);box-shadow:var(--shadow-lg);border-radius:16px;gap:1px;padding:5px}.corner{margin:1px}.clue,.corner{border-radius:9px}.clue{background:var(--code-bg);margin:1px;font-size:clamp(12px,3.1vw,16px)}.cell{border:1px solid color-mix(in srgb, var(--border) 72%, transparent);border-radius:7px;font-size:clamp(15px,4.2vw,23px);transition:transform .12s,background .16s,box-shadow .16s,border-radius .18s}.cell.selected{background:var(--accent);color:#fff;border-color:var(--accent);border-radius:9px;transform:scale(.94);box-shadow:0 4px 12px #2563eb38}.cell.excluded{border-radius:7px;transform:scale(.92)}.region-badge{opacity:.72;top:3px;left:4px}.settings-screen{max-width:460px}.settings-section{gap:8px}.settings-section h2{color:var(--text-dim)}.theme-picker,.stats-list{border:1px solid var(--border);box-shadow:var(--shadow-sm)}@media (width<=380px){.app-content{padding-left:10px;padding-right:10px}.puzzle-grid{border-radius:13px;padding:3px}.cell{border-radius:5px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.app-content,.home-screen,.game-screen,.settings-screen{width:100%;min-width:0;max-width:560px}.home-screen,.settings-screen{overflow:hidden}@media (width<=560px){.app-content{padding-left:12px;padding-right:12px}.home-screen{max-width:460px}.game-screen,.game-card{max-width:520px}}html,body,#root,.app{width:100%;min-width:0;max-width:100%;overflow-x:clip}.home-screen,.settings-screen,.game-screen,.game-card{width:min(100%,100vw - 24px);max-width:520px}.bottom-nav{width:100%;max-width:560px;margin:0 auto;left:0;right:0;transform:none}.app-content{align-self:center;width:100vw;max-width:100vw;margin:0}.home-screen,.settings-screen,.game-screen,.game-card{margin-left:auto;margin-right:auto}@media (width<=560px){.home-screen,.settings-screen,.game-screen,.game-card{width:calc(100vw - 48px);max-width:520px;width:calc(100vw - 48px)!important;max-width:calc(100vw - 48px)!important}.puzzle-grid{width:calc(100vw - 48px)!important;max-width:calc(100vw - 48px)!important}.bottom-nav{overflow:hidden}.bottom-nav .nav-item{min-width:0;overflow:hidden}.bottom-nav .nav-label{white-space:nowrap}}.puzzle-grid .clue,.puzzle-grid .corner{border-radius:8px;margin:0}@media (width<=560px){.puzzle-grid{width:min(100%,380px)!important;max-width:380px!important}}.cell.selected{animation:cell-select-pop .2s var(--ease-bounce)}@keyframes cell-select-pop{0%{transform:scale(.82)}70%{transform:scale(1.07)}to{transform:scale(1.02)}}.cell.excluded{animation:.16s ease-out cell-clear-pop}@keyframes cell-clear-pop{0%{transform:scale(1)}60%{transform:scale(.84)}to{transform:scale(.9)}}.lives-hit{animation:lives-hit .36s var(--ease-bounce)}@keyframes lives-hit{0%{transform:scale(1)}35%{transform:scale(1.18)rotate(-3deg)}70%{transform:scale(.94)rotate(2deg)}to{transform:scale(1)}}@keyframes session-shake{15%,85%{transform:translate(-2px)}30%,70%{transform:translate(3px)}45%,55%{transform:translate(-3px)}}.game-complete .puzzle-grid{box-shadow:0 18px 50px var(--good-soft)}@keyframes win-pop{0%{opacity:0;transform:translateY(6px)scale(.88)}70%{transform:translateY(-2px)scale(1.04)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.cell.selected,.cell.excluded,.mistake-flash,.lives-hit,.win-banner{animation:none}}.daily-status-dot{background:var(--accent-bg);width:28px;height:28px;color:var(--accent);border-radius:50%;flex:0 0 28px;justify-content:center;align-items:center;font-weight:900;display:inline-flex}.puzzle-grid{gap:0;padding:4px}.puzzle-grid .cell{border-top:var(--region-top) solid var(--region-top-color);border-right:var(--region-right) solid var(--region-right-color);border-bottom:var(--region-bottom) solid var(--region-bottom-color);border-left:var(--region-left) solid var(--region-left-color);box-shadow:none;border-radius:0}.puzzle-grid .cell.selected{border:2px solid var(--accent);border-radius:50%;box-shadow:0 3px 10px #2563eb33}.puzzle-grid .cell.excluded{border:1px dashed var(--border);border-radius:0}.puzzle-grid .cell.wrong{border:2px solid var(--bad);border-radius:50%}.game-heading{text-align:center;gap:1px;min-width:0;display:grid}.game-heading small{color:var(--text-dim);font-size:11px;font-weight:600}.puzzle-grid.classic .cell:hover:not(:disabled){background:color-mix(in srgb, var(--accent-bg) 55%, var(--bg))}.puzzle-grid:not(.classic) .cell{background:hsl(var(--region-hue) var(--region-sat) var(--region-light))}.puzzle-grid:not(.classic) .cell:hover:not(:disabled){background:color-mix(in srgb, hsl(var(--region-hue) var(--region-sat) var(--region-light)) 82%, var(--accent-bg))}.puzzle-grid .cell.selected{z-index:2;color:#fff;border:2px solid var(--accent);border-radius:50%;transform:scale(.9);box-shadow:0 4px 12px #2563eb3d;background:var(--accent)!important}.puzzle-grid .cell.excluded{z-index:1;background:color-mix(in srgb, var(--bg) 72%, transparent);color:var(--text-dim);text-decoration:line-through;text-decoration-thickness:1.5px}.puzzle-grid .cell.wrong{z-index:2;background:var(--bad-soft);color:var(--bad);border:2px solid var(--bad);border-radius:50%}.puzzle-grid .region-badge{z-index:3;background:color-mix(in srgb, var(--bg) 82%, transparent);min-width:20px;min-height:18px;color:var(--text-h);border-radius:6px;justify-content:center;align-items:center;padding:1px 4px;font-size:10px;font-weight:900;line-height:1;display:inline-flex;box-shadow:0 1px 2px #10182814}.puzzle-grid .clue{color:var(--text-h);background:var(--code-bg);border:1px solid var(--border);box-shadow:none;font-weight:850;position:relative}.puzzle-grid .clue.status-invalid{color:var(--bad);background:var(--bad-soft);border-color:color-mix(in srgb, var(--bad) 28%, var(--border))}.puzzle-grid .clue.status-partial{color:var(--accent)}.puzzle-grid .corner{background:0 0;border:0}.home-screen{gap:16px;padding-top:22px}.home-cta.primary{letter-spacing:-.1px;min-height:58px;font-size:17px}.home-cta.secondary{min-height:48px}.game-screen{gap:10px}.game-card{gap:12px}.game-topbar{padding:0 2px}.game-heading .game-title{font-size:16px;font-weight:850}@media (width<=380px){.puzzle-grid .region-badge{min-width:17px;min-height:16px;padding:0 3px;font-size:9px}}.app .home-screen{text-align:center;justify-content:center;align-items:center;gap:36px;min-height:calc(100svh - 120px)}.app .home-cta{justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.app .game-screen{gap:0;padding-top:4px}.app .game-topbar{grid-template-columns:44px 1fr auto;align-items:center;gap:8px;width:100%;max-width:520px;margin:0 auto 10px;padding:0;display:grid}.app .game-heading{text-align:center;gap:0;display:grid}.app .game-heading small{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.app .game-topbar .icon-button{width:40px;height:40px;box-shadow:none;background:0 0;border:0}.app .game-topbar .lives{background:0 0;justify-content:flex-end;gap:3px;min-width:44px;padding:0;display:flex}.app .game-card{gap:18px;padding:0 0 24px}.app .puzzle-grid{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.app .puzzle-grid .clue{background:0 0;border:0;font-size:clamp(14px,4vw,18px)}.app .puzzle-grid .clue.status-done,.app .puzzle-grid .clue.status-invalid{background:0 0}.app .tool-dock{justify-content:center;gap:12px;width:100%;display:flex}.app .result-sheet{z-index:30;max-width:560px;padding:24px 24px calc(24px + env(safe-area-inset-bottom,0px));text-align:center;background:var(--bg);animation:sheet-up .3s var(--ease-bounce);border-radius:24px 24px 0 0;gap:10px;margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 40px #10182840}.app .result-sheet h2{color:var(--text-h);letter-spacing:-.5px;margin:0;font-size:24px}.app .result-sheet p{color:var(--text);margin-bottom:6px}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.app .game-screen{flex-direction:column;min-height:calc(100svh - 48px);display:flex}.app .game-card{flex:1;justify-content:center;align-items:center}.app .game-screen,.app .game-card,.app .puzzle-grid{width:100%!important;max-width:480px!important}.app .puzzle-grid .cell{font-weight:800}.app .puzzle-grid .region-badge{background:color-mix(in srgb, var(--bg) 62%, transparent);color:var(--text-h);box-shadow:none}.app .settings-screen{gap:22px;padding-top:6px}.app .settings-screen h1{letter-spacing:-1px;margin:4px 2px 0;font-size:30px}.app .settings-section h2{letter-spacing:.08em;text-transform:uppercase;margin:0 4px;font-size:12px}.app .theme-picker{background:var(--code-bg);box-shadow:none;border:0;border-radius:16px;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;display:grid}.app .theme-option{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;font-size:13px;font-weight:700;display:flex}.app .theme-option.active{background:var(--bg);color:var(--accent);box-shadow:var(--shadow-sm)}.app .stats-list{box-shadow:none;background:var(--code-bg);border:0;border-radius:16px;margin:0;padding:0;list-style:none;overflow:hidden}.app .stats-list li{color:var(--text);justify-content:space-between;padding:14px 16px;font-size:15px;display:flex}.app .stats-list li+li{border-top:1px solid var(--border)}.app .stats-list li span:last-child{color:var(--text-h);font-variant-numeric:tabular-nums;font-weight:800}.app .settings-section .danger-button{background:var(--bad-soft);width:100%;color:var(--bad);font:inherit;cursor:pointer;border:0;border-radius:14px;padding:14px;font-weight:800}.app .settings-section .cancel-button{background:var(--code-bg);width:100%;color:var(--text);font:inherit;cursor:pointer;border:0;border-radius:14px;padding:14px;font-weight:700}.app .confirm-row p{margin-bottom:10px;font-size:14px}.app .confirm-buttons{gap:8px;display:grid}.app .puzzle-grid .clue.status-done{animation:clue-pop .35s var(--ease-bounce)}@keyframes clue-pop{0%{transform:scale(1)}45%{transform:scale(1.35)}to{transform:scale(1)}}.app .puzzle-grid .cell.excluded{color:#0000;border-style:solid;text-decoration:none;animation:none;transform:none}.app .puzzle-grid:not(.classic) .cell.excluded{background:color-mix(in srgb, hsl(var(--region-hue) var(--region-sat) var(--region-light)) 22%, var(--bg))}.app .puzzle-grid.classic .cell.excluded{background:var(--bg)}.app .puzzle-grid .cell.excluded .region-badge{color:var(--text-dim)}.app .switch-row{background:var(--code-bg);width:100%;color:var(--text-h);font:inherit;cursor:pointer;border:0;border-radius:16px;justify-content:space-between;align-items:center;padding:14px 16px;font-size:15px;display:flex}.app .switch{background:var(--border);border-radius:999px;flex:none;width:46px;height:28px;transition:background .2s;position:relative}.app .switch:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.app .switch.on{background:var(--accent)}.app .puzzle-grid .cell{position:relative}.app .puzzle-grid .cell.selected{border-top:var(--region-top) solid var(--region-top-color);border-right:var(--region-right) solid var(--region-right-color);border-bottom:var(--region-bottom) solid var(--region-bottom-color);border-left:var(--region-left) solid var(--region-left-color);box-shadow:none;color:var(--text-h);border-radius:0;animation:none;transform:none}.app .puzzle-grid:not(.classic) .cell.selected{background:hsl(var(--region-hue) var(--region-sat) var(--region-light))!important}.app .puzzle-grid.classic .cell.selected{background:var(--bg)!important}@keyframes ring-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.app .puzzle-grid .cell.selected:before{animation:none}}.app .game-card{justify-content:flex-start;padding-top:3vh}.app .puzzle-grid:not(.classic) .cell{--region-top-color:color-mix(in srgb, var(--text-h) 62%, transparent)}.app .puzzle-grid.dense .region-badge{border-radius:4px;min-width:0;height:11px;min-height:0;padding:0 2px;font-size:8px;top:1px;left:1px}.app .world{gap:10px;display:grid}.app .world-dot{background:hsl(var(--world-hue) 75% 55%);width:14px;height:14px;box-shadow:0 0 0 4px hsl(var(--world-hue) 75% 55% / .18);border-radius:50%}.app .world-count{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:13px;font-weight:800}.app .calendar-screen{gap:14px;width:100%;max-width:480px;margin:0 auto;padding-top:6px;display:grid}.app .calendar-weekday{text-align:center;color:var(--text-dim);padding-bottom:2px;font-size:12px;font-weight:800}.app .calendar-day{aspect-ratio:1;background:var(--code-bg);color:var(--text-h);font:inherit;cursor:pointer;border:0;border-radius:12px;font-size:15px;font-weight:700}.app .calendar-day:active:not(:disabled){transform:scale(.94)}.app .calendar-day.done{background:var(--good-soft);color:var(--good)}.app .puzzle-grid .clue{font-size:clamp(14px,4vw,19px)}.app .calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.app .switch-label{text-align:left;gap:2px;display:grid}.app .switch-label small{color:var(--text-dim);max-width:230px;font-size:12px;font-weight:500;line-height:1.3}.app .row-arrow{color:var(--text-dim);font-size:22px}.app .help-backdrop{z-index:50;background:#080b1299;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.app .help-sheet{width:100%;max-width:560px;padding:24px 22px calc(24px + env(safe-area-inset-bottom,0px));background:var(--bg);animation:sheet-up .3s var(--ease-bounce);border-radius:24px 24px 0 0;gap:16px;display:grid}.app .group-rivals{gap:6px;display:grid}.app .group-ranking{gap:8px;margin:0;padding:0;list-style:none;display:grid}.app .group-ranking li{background:var(--clue-bg);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.app .group-ranking li.you{background:color-mix(in srgb, var(--accent) 16%, var(--clue-bg))}.app .group-place{text-align:center;flex:none;width:26px;font-weight:800}.app .group-name{text-overflow:ellipsis;flex:1;min-width:0;font-weight:700;overflow:hidden}.app .group-time{flex:none;font-weight:800}.app .race-free{opacity:.55}.app .zen-tag{letter-spacing:.08em;text-transform:uppercase;opacity:.75;font-size:13px;font-weight:800}.app .replay-controls{justify-content:center;align-items:center;gap:10px;display:flex}.app .help-sheet.race-result{overscroll-behavior:contain;gap:10px;max-height:94dvh;overflow-y:auto}.app .help-sheet h2{color:var(--text-h);letter-spacing:-.5px;text-align:center;margin:0;font-size:24px}.app .help-example{justify-content:center;align-items:center;gap:0;display:flex}.app .help-cell{width:56px;height:56px;color:var(--text-h);background:var(--code-bg);border:1px solid var(--border);place-items:center;font-size:22px;font-weight:800;display:grid;position:relative}.app .help-cell.ringed:before{content:"";border:3px solid var(--text-h);border-radius:50%;position:absolute;inset:9%}.app .help-clue{width:56px;height:56px;color:var(--accent);place-items:center;font-size:22px;font-weight:800;display:grid}.app .help-steps{color:var(--text);gap:10px;margin:0;padding-left:20px;font-size:15px;line-height:1.45;display:grid}.app .help-steps strong{color:var(--text-h)}.app .hint-note{text-align:center;width:100%;min-height:40px;color:var(--text);opacity:0;justify-content:center;align-items:center;margin:0;padding:0 6px;font-size:14px;line-height:1.35;transition:opacity .2s;display:flex}.app .hint-note.show{opacity:1}:root{--bg:#fff;--region-sat:88%;--region-light:86%;--ink:#2f3a52;--clue-bg:#edf1f8}:root[data-theme=dark]{--ink:#e8ecf5;--clue-bg:#1e2531;--region-sat:38%;--region-light:30%}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){--ink:#e8ecf5;--clue-bg:#1e2531;--region-sat:38%;--region-light:30%}}body{background:var(--bg)}.app .game-topbar{grid-template-columns:44px 1fr 44px}.app .topbar-spacer{width:44px}.app .game-card>.lives{background:0 0;justify-content:center;gap:6px;min-height:26px;padding:0;display:flex}.app .life.empty{color:var(--clue-bg);fill:var(--clue-bg);stroke:none}.app .puzzle-grid{box-shadow:none;background:0 0;border:0;gap:0;padding:0}.app .puzzle-grid .cell{box-shadow:none;background:hsl(var(--region-hue) var(--region-sat) var(--region-light));color:var(--ink);border:1px solid #fff9;border-radius:0;font-size:clamp(20px,6vw,28px);font-weight:500;animation:none;position:relative;transform:none}.app .puzzle-grid.classic .cell{background:var(--bg);border:1px solid color-mix(in srgb, var(--ink) 14%, transparent)}.app .puzzle-grid.dense .cell{font-size:clamp(14px,4.4vw,20px)}.app .puzzle-grid:not(.classic) .cell:hover:not(:disabled){background:hsl(var(--region-hue) var(--region-sat) var(--region-light))}.app .puzzle-grid .cell.selected,.app .puzzle-grid:not(.classic) .cell.selected,.app .puzzle-grid.classic .cell.selected{color:var(--ink);box-shadow:none;border:1px solid #fff9;border-radius:0;transform:none;background:hsl(var(--region-hue) var(--region-sat) var(--region-light))!important}.app .puzzle-grid.classic .cell.selected{border:1px solid color-mix(in srgb, var(--ink) 14%, transparent);background:var(--bg)!important}.app .puzzle-grid .cell.selected:before{content:"";border:1.5px solid var(--ink);pointer-events:none;animation:ring-pop .2s var(--ease-bounce);background:0 0;border-radius:50%;position:absolute;inset:9%}.app .puzzle-grid.dense .cell.selected:before{border-width:1.2px;inset:6%}.app .puzzle-grid .cell.excluded,.app .puzzle-grid:not(.classic) .cell.excluded,.app .puzzle-grid.classic .cell.excluded{background:var(--bg);color:#0000;border:1px solid color-mix(in srgb, var(--ink) 8%, transparent);text-decoration:none}.app .puzzle-grid .cell.wrong{color:var(--bad);border:1px solid var(--bad);border-radius:0;animation:.35s cell-shake;background:var(--bad-soft)!important}.app .puzzle-grid .region-badge,.app .puzzle-grid.dense .region-badge{min-width:0;height:auto;min-height:0;box-shadow:none;color:color-mix(in srgb, var(--ink) 65%, transparent);background:0 0;border-radius:0;padding:0;font-size:10px;font-weight:600;line-height:1;position:absolute;top:2px;left:4px}.app .puzzle-grid.dense .region-badge{font-size:8px;top:1px;left:2px}.app .puzzle-grid .clue{background:var(--clue-bg);color:var(--ink);background-clip:content-box;border:0;border-radius:12px;justify-content:center;align-items:center;padding:3px;font-size:clamp(15px,4.4vw,19px);font-weight:600;transition:opacity .3s;animation:none;display:flex;position:relative}.app .puzzle-grid.dense .clue{border-radius:9px;padding:2px;font-size:clamp(12px,3.6vw,16px)}.app .puzzle-grid .clue.settled{opacity:0}.app .puzzle-grid .clue.status-invalid{color:var(--bad)}.app .tool-dock{grid-template-columns:1fr auto 1fr;align-items:center;column-gap:16px;width:100%;display:grid}.app .tool-dock .mode-toggle{grid-area:1/2}.app .tool-dock .power-btn{grid-area:1/1;justify-self:end}.app .tool-dock .hint-btn:not(.power-btn){grid-area:1/3;justify-self:start}.app .mode-toggle{background:var(--clue-bg);touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:pointer;border-radius:999px;gap:0;padding:4px;display:flex;position:relative}.app .mode-toggle:before{content:"";position:absolute;inset:-12px -8px}.app .mode-toggle .mode-btn{pointer-events:none}.app .mode-btn{width:72px;height:52px;color:var(--ink);opacity:.7;cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;transition:background .15s,box-shadow .15s,opacity .15s;display:grid}.app .mode-btn .icon{width:24px;height:24px}.app .mode-btn.active{background:var(--bg);opacity:1;color:var(--ink);box-shadow:0 2px 8px #1e28462e}.app .mode-btn:disabled{opacity:.35}.app .hint-btn{background:var(--clue-bg);width:56px;height:56px;color:var(--accent);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid}.app .hint-btn .icon{width:24px;height:24px}.app .hint-btn:active:not(:disabled){transform:scale(.94)}.app .hint-btn:disabled{opacity:.4}.app .puzzle-grid .clue.status-done,.app .puzzle-grid .clue.status-invalid,.app .puzzle-grid .clue.status-partial{background:var(--clue-bg);background-clip:content-box;animation:none}.app .calendar-screen{gap:14px;width:100%;max-width:480px;margin:0 auto;padding:0;display:grid}.app .calendar-banner{color:#fff;background:radial-gradient(circle at 50% 55%,#4fc3ff 0%,#1f8bff 55%,#1170f0 100%);border-radius:0 0 28px 28px;grid-template-columns:36px 1fr 36px;align-items:center;margin:-24px -16px 0;padding:44px 12px 22px;display:grid}.app .banner-arrow{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:36px;height:36px;padding:0 0 4px;font-size:34px;line-height:1;display:grid}.app .banner-arrow:disabled{opacity:.3}.app .banner-center{text-align:center;justify-items:center;gap:2px;display:grid}.app .banner-center .trophy{filter:drop-shadow(0 6px 14px #00287859);width:84px;height:84px}.app .banner-center h1{color:#fff;letter-spacing:-.3px;margin:4px 0 0;font-size:24px}.app .banner-center p{color:#ffffffd9;margin:0;font-size:13px;font-weight:700}.app .calendar-bar{justify-content:space-between;align-items:center;padding:6px 4px 0;display:flex}.app .calendar-bar strong{color:var(--ink);font-size:18px}.app .calendar-count{color:var(--ink);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:15px;font-weight:700;display:inline-flex}.app .coin{color:#f08a00;background:#ffc928;border-radius:50%;place-items:center;display:grid}.app .coin.small{width:22px;height:22px}.app .coin.small .coin-star{width:14px;height:14px}.app .calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px 4px;display:grid}.app .calendar-weekday{text-align:center;color:var(--text-dim);font-size:12px;font-weight:600}.app .calendar-day{aspect-ratio:1;background:var(--clue-bg);width:100%;max-width:46px;color:var(--ink);font:inherit;cursor:pointer;border:0;border-radius:50%;place-items:center;margin:0 auto;font-size:15px;font-weight:600;display:grid}.app .calendar-day:disabled{color:var(--text-dim);opacity:.5;cursor:default;background:0 0}.app .calendar-day.done{color:#f08a00;background:#ffc928}.app .calendar-day .coin-star{width:60%;height:60%}.app .calendar-day.today{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--accent)}.app .calendar-day.selected:not(.today){box-shadow:0 0 0 2px var(--bg), 0 0 0 4px color-mix(in srgb, var(--accent) 55%, transparent)}.app .calendar-play{color:#fff;width:100%;min-height:54px;font:inherit;cursor:pointer;background:#1f8bff;border:0;border-radius:999px;margin-top:4px;font-size:17px;font-weight:800;box-shadow:0 8px 20px #1f8bff4d}.app .calendar-play:active{transform:scale(.985)}.app .home-screen{text-align:left;justify-content:flex-start;align-items:stretch;gap:20px;max-width:480px;min-height:0;padding-top:6px;overflow:visible}.app .home-top{justify-content:space-between;align-items:center;gap:10px;padding:0 2px;display:flex}.app .home-top h1{letter-spacing:-1px;color:var(--ink);margin:0;font-size:28px}.app .streak-chip{background:var(--clue-bg);color:var(--ink);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700}.app .section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin:0 2px 10px;font-size:13px;font-weight:800}.app .events-row{scroll-snap-type:x mandatory;scrollbar-width:none;gap:12px;margin:0 -16px;padding:2px 16px 6px;display:flex;overflow-x:auto}.app .events-row::-webkit-scrollbar{display:none}.app .event-card{scroll-snap-align:start;text-align:left;cursor:pointer;font:inherit;color:#fff;background:linear-gradient(140deg, hsl(var(--event-hue) 85% 62%), hsl(var(--event-hue) 78% 46%));box-shadow:0 10px 24px hsl(var(--event-hue) 80% 50% / .28);border:0;border-radius:20px;flex:0 0 min(72%,260px);gap:4px;padding:14px 16px;display:grid}.app .event-card:active{transform:scale(.985)}.app .event-timer{font-variant-numeric:tabular-nums;background:#00000038;border-radius:999px;justify-self:start;padding:3px 10px;font-size:12px;font-weight:800}.app .event-card strong{letter-spacing:-.3px;margin-top:6px;font-size:20px}.app .event-card small{opacity:.9;font-size:13px}.app .event-progress{align-items:center;gap:10px;margin-top:8px;display:flex}.app .event-bar{background:#00000038;border-radius:999px;flex:1;height:8px;overflow:hidden}.app .event-bar>span{border-radius:inherit;background:#fff;height:100%;transition:width .3s;display:block}.app .event-count{font-variant-numeric:tabular-nums;font-size:13px;font-weight:800}.app .event-card.complete{filter:saturate(.7)}.app .level-map{gap:24px;padding-bottom:8px;display:grid}.app .map-world{gap:14px;display:grid}.app .map-world-head{align-items:center;gap:10px;padding:0 2px;display:flex}.app .map-world-head h2{color:var(--ink);letter-spacing:-.3px;margin:0;font-size:18px}.app .map-path{flex-direction:column;align-items:center;gap:14px;padding:8px 0;display:flex}.app .map-node{width:64px;height:64px;font:inherit;cursor:pointer;background:var(--clue-bg);color:var(--ink);border:0;border-radius:50%;flex:none;place-items:center;font-size:22px;font-weight:700;display:grid;position:relative}.app .map-node:active:not(:disabled){scale:.94}.app .map-node.done{background:hsl(var(--world-hue) 72% 52% / .2);color:hsl(var(--world-hue) 70% 30%)}:root[data-theme=dark] .app .map-node.done{color:hsl(var(--world-hue) 75% 70%)}.app .map-node.locked{opacity:.5;cursor:default}.app .node-lock{width:22px;height:22px;color:var(--text-dim)}.app .map-node.current{background:var(--accent);color:#fff;width:92px;height:92px;box-shadow:0 10px 24px var(--accent-border);font-size:30px}.app .map-node.current:after{content:"";border:6px solid var(--accent-border);pointer-events:none;border-radius:50%;animation:1.8s ease-out infinite node-pulse;position:absolute;inset:0}.app .map-node.current .node-play{letter-spacing:.12em;opacity:.9;font-size:10px;font-weight:800;position:absolute;bottom:14px}.app .map-node.current{padding-bottom:14px}@keyframes node-pulse{0%{opacity:.9;transform:scale(1)}70%,to{opacity:0;transform:scale(1.3)}}@media (prefers-reduced-motion:reduce){.app .map-node.current:after{opacity:0;animation:none}}.app .map-world-head .world-count{color:var(--text-dim);font-variant-numeric:tabular-nums;margin-left:auto;font-size:13px;font-weight:800}.app .result-stars{justify-content:center;gap:8px;font-size:40px;line-height:1;display:flex}.app .result-star{color:var(--clue-bg);opacity:0;animation:star-pop .45s var(--ease-bounce) forwards;transform:scale(.4)}.app .result-star.on{color:#ffc928;filter:drop-shadow(0 3px 6px #f08a0059)}@keyframes star-pop{to{opacity:1;transform:scale(1)}}.app .result-coins{font-size:16px;font-weight:800;color:#d98a00!important;margin:0!important}.app .home-chips{align-items:center;gap:8px;display:flex}.app .coin-chip{background:var(--clue-bg);color:var(--ink);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:6px;padding:5px 12px 5px 6px;font-size:14px;font-weight:800;display:inline-flex}.app .coin.small{font-size:12px;font-weight:900}.app .node-stars{color:var(--clue-bg);letter-spacing:0;gap:1px;font-size:13px;line-height:1;display:flex;position:absolute;bottom:-15px;left:50%;transform:translate(-50%)}.app .node-stars .on{color:#ffc928}.app .map-path{gap:26px}.app .palette-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.app .palette-card{text-align:left;background:var(--code-bg);font:inherit;color:var(--ink);cursor:pointer;border:2px solid #0000;border-radius:16px;justify-items:start;gap:4px;padding:12px;display:grid}.app .palette-card.selected{border-color:var(--accent);background:var(--accent-bg)}.app .palette-card.locked{opacity:.55;cursor:default}.app .palette-card strong{font-size:15px}.app .palette-card small{color:var(--text-dim);font-size:12px;font-weight:600}.app .palette-swatches{border-radius:8px;width:100%;height:26px;margin-bottom:4px;display:flex;overflow:hidden}.app .palette-swatches span{flex:1}.app .hint-btn{position:relative}.app .hint-badge{background:var(--accent);color:#fff;min-width:22px;height:22px;box-shadow:0 0 0 2px var(--bg);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;padding:0 6px;font-size:12px;font-weight:800;display:grid;position:absolute;top:-4px;right:-4px}.app .hint-badge.paid{color:#8a4b00;background:#ffc928}.app .backup-panel{gap:8px;margin:2px 0 6px;display:grid}.app .backup-panel textarea{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--ink);resize:none;word-break:break-all;border-radius:12px;padding:12px;font:13px/1.4 ui-monospace,Consolas,monospace}.app .backup-note{color:var(--text);margin:4px 4px 0;font-size:13px}.crash-screen{text-align:center;color:#2f3a52;background:#fff;align-content:center;justify-items:center;gap:14px;min-height:100svh;padding:24px;display:grid}.crash-screen h1{color:#182230;margin:0;font-size:26px}.crash-screen p{color:#667085;max-width:300px;margin:0}.crash-screen .home-cta{color:#fff;width:100%;max-width:280px;min-height:52px;font:inherit;cursor:pointer;background:#2563eb;border:0;border-radius:14px;font-weight:800}@media (height<=740px){.app .calendar-screen{gap:10px}.app .calendar-banner{margin-top:-24px;padding:26px 12px 14px}.app .banner-center .trophy{width:58px;height:58px}.app .banner-center h1{margin-top:2px;font-size:20px}.app .banner-center p{font-size:12px}.app .calendar-grid{gap:4px}.app .calendar-day{max-width:40px;font-size:14px}.app .calendar-play{min-height:48px;margin-top:0}}.app .puzzle-grid{touch-action:none}.app .puzzle-grid .cell{-webkit-user-select:none;user-select:none}.app .puzzle-grid:not(.classic) .cell.excluded,.app .puzzle-grid:not(.classic) .cell.excluded:disabled{background:hsl(var(--region-hue) var(--region-sat) var(--region-light));border-color:#fff9}.app .puzzle-grid .cell:disabled{opacity:1}.app .puzzle-grid:not(.classic) .cell{--edge-color:hsl(var(--region-hue) 55% 64%)}:root[data-theme=dark] .app .puzzle-grid:not(.classic) .cell{--edge-color:hsl(var(--region-hue) 50% 58%)}.app .puzzle-grid:not(.classic) .cell.edge-t{border-top:2px solid var(--edge-color)}.app .puzzle-grid:not(.classic) .cell.edge-r{border-right:2px solid var(--edge-color)}.app .puzzle-grid:not(.classic) .cell.edge-b{border-bottom:2px solid var(--edge-color)}.app .puzzle-grid:not(.classic) .cell.edge-l{border-left:2px solid var(--edge-color)}.app .life{width:30px;height:30px}.app .game-card>.lives{gap:8px;min-height:34px}.app .sheet-link{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;padding:10px;font-weight:700}.app .ad-backdrop{z-index:60;background:#080b12b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.app .ad-card{background:var(--bg);text-align:center;width:100%;max-width:340px;animation:sheet-up .3s var(--ease-bounce);border-radius:24px;gap:10px;padding:28px 22px 18px;display:grid;position:relative}.app .ad-card h2{color:var(--text-h);margin:0;font-size:22px}.app .ad-card p{color:var(--text);margin:0 0 6px}.app .ad-tag{background:var(--clue-bg);color:var(--text-dim);border-radius:6px;padding:2px 8px;font-size:11px;font-weight:800;position:absolute;top:12px;left:14px}.app .ad-card .home-cta:disabled{opacity:.6}.app .puzzle-grid .cell{transition:background .45s,border-color .45s}.app .puzzle-grid:not(.classic) .cell.region-done,.app .puzzle-grid:not(.classic) .cell.region-done.selected,.app .puzzle-grid:not(.classic) .cell.region-done.excluded{border:1px solid color-mix(in srgb, var(--ink) 9%, transparent);background:var(--bg)!important}.app .puzzle-grid .cell.region-done .region-badge{display:none}:root[data-theme=dark]{--bg:#1a2030;--code-bg:#242c3e;--clue-bg:#2a3347;--border:#323c52;--text:#c4cddd;--text-h:#fff;--text-dim:#97a3b9;--ink:#f6f8fc;--region-sat:44%;--region-light:33%}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){--bg:#1a2030;--code-bg:#242c3e;--clue-bg:#2a3347;--border:#323c52;--text:#c4cddd;--text-h:#fff;--text-dim:#97a3b9;--ink:#f6f8fc;--region-sat:44%;--region-light:33%}}.app .puzzle-grid .clue.status-done,.app .puzzle-grid .clue.status-partial,.app .puzzle-grid .clue.status-invalid{color:var(--ink)}.app .nav-item{position:relative}.app .nav-dot{width:11px;height:11px;box-shadow:0 0 0 2px var(--bg);background:#ff5a4f;border-radius:50%;position:absolute;top:5px;left:calc(50% + 8px)}.app .goals-screen{gap:22px;width:100%;max-width:480px;margin:0 auto;padding-top:6px;display:grid}.app .goal-section{gap:10px;display:grid}.app .goal-note{text-align:center;color:var(--text);margin:0;font-size:14px}.app .rank-card{color:#fff;background:linear-gradient(140deg,#4fa8ff,#5b5df0);border-radius:20px;gap:8px;padding:16px;display:grid;box-shadow:0 10px 24px #3c5af040}.app .rank-top{justify-content:space-between;align-items:baseline;display:flex}.app .rank-name{letter-spacing:-.5px;font-size:24px}.app .rank-xp{opacity:.9;font-variant-numeric:tabular-nums;font-size:14px;font-weight:800}.app .xp-bar{background:#00000040;border-radius:999px;height:10px;overflow:hidden}.app .xp-bar>span{border-radius:inherit;background:#fff;height:100%;transition:width .4s;display:block}.app .rank-card small{opacity:.9;font-size:13px}.app .gift-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.app .gift-day{background:var(--clue-bg);color:var(--ink);border-radius:12px;justify-items:center;gap:2px;padding:8px 2px;display:grid}.app .gift-day-label{color:var(--text-dim);font-size:10px;font-weight:700}.app .gift-day strong{font-variant-numeric:tabular-nums;font-size:15px}.app .gift-day.today{color:#6b3a00;background:#ffc928;box-shadow:0 6px 14px #f0a00059}.app .gift-day.today .gift-day-label{color:#8a4b00}.app .gift-day.past{opacity:.5}.app .gift-sheet .gift-sub{text-align:center;color:var(--text);margin:-6px 0 0}.app .gift-sheet .gift-day-label{font-size:9px}.app .quest-row{background:var(--code-bg);border-radius:16px;align-items:center;gap:12px;padding:12px 14px;display:flex}.app .quest-row.claimed{opacity:.55}.app .quest-main{flex:1;gap:5px;min-width:0;display:grid}.app .quest-main strong{color:var(--ink);font-size:15px}.app .quest-main small{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.app .quest-bar{background:var(--border);border-radius:999px;height:7px;overflow:hidden}.app .quest-bar>span{border-radius:inherit;background:var(--accent);height:100%;transition:width .3s;display:block}.app .quest-claim{background:var(--clue-bg);min-width:92px;color:var(--text-dim);font:inherit;cursor:default;border:0;border-radius:12px;flex:none;padding:10px 12px;font-size:13px;font-weight:800}.app .quest-claim:not(:disabled){color:#6b3a00;cursor:pointer;background:#ffc928;box-shadow:0 4px 12px #f0a0004d}.app .quest-done{background:var(--good);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:15px;font-weight:900;display:grid}.app .quest-row.chest{background:color-mix(in srgb, #ffc928 14%, var(--code-bg))}.app .achv-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.app .achv{background:var(--code-bg);opacity:.65;border-radius:14px;align-content:start;gap:3px;padding:12px;display:grid}.app .achv strong{color:var(--ink);font-size:14px}.app .achv small{color:var(--text);font-size:12px;line-height:1.3}.app .achv-reward{color:var(--text-dim);margin-top:3px;font-size:12px;font-weight:800}.app .achv.on{opacity:1;background:color-mix(in srgb, #ffc928 16%, var(--code-bg))}.app .achv.on .achv-reward{color:#b87500}.app .result-extra,.app .result-xp,.app .result-achievement{font-size:14px;font-weight:800;margin:0!important}.app .result-extra{color:#d97a00!important}.app .result-xp{color:var(--accent)!important}.app .result-achievement{color:#8a4bff!important}.app .goals-screen{text-align:left}.app .goals-screen .levels-title{text-align:center}.app .goals-screen .rank-card small{text-align:left}.app .result-sheet{max-height:88vh;overflow-y:auto}.app .shield-card{background:var(--code-bg);border-radius:16px;align-items:center;gap:12px;padding:14px;display:flex}.app .shield-icons{flex:none;gap:4px;display:flex}.app .shield-icon{width:30px;height:30px;color:var(--text-dim);opacity:.45}.app .shield-icon.on{color:#2f8bff;opacity:1;fill:#2f8bff2e}.app .shield-copy{flex:1;gap:2px;min-width:0;display:grid}.app .shield-copy strong{color:var(--ink);font-size:15px}.app .shield-copy small{color:var(--text);font-size:12px;line-height:1.3}.app .shield-buy{min-width:84px}.app .chip-shield{vertical-align:-3px;color:#2f8bff;width:15px;height:15px;margin-left:6px}.app .streak-chip{align-items:center;display:inline-flex}.app .result-shield{font-size:14px;font-weight:800;color:#2f8bff!important;margin:0!important}.app .streak-chip{white-space:nowrap;padding:6px 10px;font-size:12px}.app .home-chips{flex-shrink:0;gap:6px}.app .home-top h1{min-width:0;font-size:26px}.app .home-top{flex-wrap:nowrap}.app .rank-top{justify-content:flex-start;align-items:center;gap:14px;display:flex}.app .rank-avatar{filter:drop-shadow(0 4px 10px #00000040);flex:none;display:grid}.app .rank-title{flex:1;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.app .avatar{display:block}.app .avatar-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.app .avatar-choice{background:var(--code-bg);color:var(--ink);font:inherit;cursor:pointer;border:2px solid #0000;border-radius:16px;justify-items:center;gap:6px;padding:12px 6px 10px;display:grid}.app .avatar-choice small{color:var(--text-dim);font-size:12px;font-weight:700}.app .avatar-choice.equipped{border-color:var(--accent);background:var(--accent-bg)}.app .avatar-choice.equipped small{color:var(--accent)}.app .avatar-choice.locked{opacity:.6;cursor:default}.app .rankup-backdrop{z-index:70;background:#080b12c7;place-items:center;padding:24px;animation:.25s fade-in;display:grid;position:fixed;inset:0}.app .rankup-card{z-index:1;background:var(--bg);text-align:center;width:100%;max-width:320px;animation:sheet-up .4s var(--ease-bounce);border-radius:28px;justify-items:center;gap:10px;padding:28px 22px 20px;display:grid;position:relative}.app .rankup-kicker{letter-spacing:.14em;text-transform:uppercase;color:#e08a00;font-size:13px;font-weight:900}.app .rankup-avatar{animation:rank-pop .7s var(--ease-bounce) both;filter:drop-shadow(0 10px 22px #3c5af066)}.app .rankup-card h2{letter-spacing:-.7px;color:var(--text-h);margin:0;font-size:30px}.app .rankup-card p{color:var(--text);margin:0 0 8px}.app .rankup-card .home-cta{width:100%}@keyframes rank-pop{0%{opacity:0;transform:scale(.2)rotate(-25deg)}70%{opacity:1;transform:scale(1.12)rotate(6deg)}to{transform:scale(1)rotate(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.app .result-achievement{animation:achv-in .5s var(--ease-bounce) both}@keyframes achv-in{0%{opacity:0;transform:translateY(12px)scale(.9)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.app .rankup-avatar,.app .result-achievement,.app .rankup-card{animation:none}}.app .week-card{background:var(--code-bg);border-radius:16px;gap:10px;padding:14px;display:grid}.app .week-top{justify-content:space-between;align-items:baseline;display:flex}.app .week-top strong{color:var(--ink);font-size:16px}.app .week-count{color:var(--accent);font-variant-numeric:tabular-nums;font-size:15px;font-weight:800}.app .week-card small{color:var(--text-dim);font-size:12px;font-weight:600}.app .week-card .home-cta:disabled{opacity:.55}.app .title-list{flex-wrap:wrap;gap:8px;display:flex}.app .title-chip{background:var(--code-bg);color:var(--ink);font:inherit;cursor:pointer;border:2px solid #0000;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700}.app .title-chip.equipped{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.app .title-chip.locked{opacity:.5;cursor:default;font-weight:600}.app .tour{z-index:80;position:fixed;inset:0}.app .tour-spot{pointer-events:none;border-radius:18px;transition:top .25s,left .25s,width .25s,height .25s;position:fixed;box-shadow:0 0 0 9999px #080b12b8,0 0 0 3px #ffffffd9}.app .tour-card{background:var(--bg);max-width:420px;animation:sheet-up .3s var(--ease-bounce);border-radius:22px;gap:8px;margin:0 auto;padding:18px 18px 14px;display:grid;position:fixed;left:16px;right:16px;box-shadow:0 16px 40px #00000059}.app .tour-count{letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-size:12px;font-weight:800}.app .tour-card h2{color:var(--text-h);letter-spacing:-.3px;margin:0;font-size:20px}.app .tour-card p{color:var(--text);margin:0;font-size:15px;line-height:1.45}.app .tour-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:4px;display:flex}.app .tour-actions .home-cta{width:auto;min-width:140px;min-height:46px;padding:0 22px}.app .milestone-badge{color:#6b3a00;letter-spacing:-1px;width:120px;height:120px;animation:rank-pop .7s var(--ease-bounce) both;background:radial-gradient(circle at 30% 25%,#fff3b0,#ffc928 60%,#f08a00);border-radius:50%;place-items:center;font-size:46px;font-weight:900;display:grid;box-shadow:0 12px 28px #f08a0073,inset 0 -6px 12px #0000001f}.app .map-node.milestone{box-shadow:0 0 0 3px #ffc928}.app .map-node.milestone.current{box-shadow:0 10px 24px var(--accent-border), 0 0 0 4px #ffc928}.app .node-bonus{color:#6b3a00;background:#ffc928;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:900;position:absolute;bottom:-18px}.app .map-node.milestone.locked{opacity:.75}.app .rank-stats-link{color:#fff;font:inherit;cursor:pointer;opacity:.95;background:0 0;border:0;justify-self:start;margin-top:2px;padding:4px 0;font-size:13px;font-weight:800}.app .stats-screen{gap:16px;width:100%;max-width:480px;margin:0 auto;padding-top:6px;display:grid}.app .stats-head{grid-template-columns:44px 1fr 44px;align-items:center;display:grid}.app .stats-head h1{text-align:center;letter-spacing:-.6px;color:var(--ink);margin:0;font-size:24px}.app .stats-head .icon-button{width:40px;height:40px;box-shadow:none;background:0 0;border:0}.app .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.app .stat-tile{background:var(--code-bg);border-radius:16px;gap:2px;padding:14px;display:grid}.app .stat-tile small{color:var(--text-dim);font-size:12px;font-weight:700}.app .stat-tile strong{letter-spacing:-.5px;color:var(--ink);font-variant-numeric:tabular-nums;font-size:26px}.app .stat-tile span{color:var(--text);font-size:12px}.app .stats-foot{text-align:center;color:var(--text-dim);margin:0;font-size:12px}.app .lucky-card{background:var(--code-bg);border-radius:18px;justify-items:center;gap:12px;padding:16px;display:grid}.app .lucky-rings{gap:14px;display:flex}.app .lucky-ring{border:6px solid var(--accent,#3b6cf6);width:72px;height:72px;color:var(--accent,#3b6cf6);font:inherit;cursor:pointer;transition:transform .15s var(--ease-bounce,ease);background:0 0;border-radius:50%;font-size:24px;font-weight:900}.app .lucky-ring:not(:disabled):active{transform:scale(.92)}.app .lucky-ring:disabled{cursor:default;opacity:.55}.app .lucky-ring.open{opacity:1;color:var(--ink);border-color:#ffc928}.app .lucky-card small{color:var(--text);text-align:center;font-size:13px}.app .lucky-ring.missed{opacity:.8;border-color:var(--text-dim);color:var(--text-dim);border-style:dashed}.app .lucky-more{gap:8px;width:100%;display:grid}.app .lucky-more .home-cta{font-size:15px}.app .lucky-buy{width:100%}.app .lucky-deal{padding-top:12px;position:relative}.app .lucky-bubble{z-index:1;color:#6b3a00;white-space:nowrap;background:#ffc928;border-radius:999px;padding:3px 12px;font-size:12px;font-weight:900;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:0 3px 8px #f08a0059}.app .lucky-bubble:after{content:"";background:inherit;border-radius:2px;width:10px;height:10px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.app .lucky-deal{padding-top:24px}.app .lucky-bubble{line-height:1.2}.app .lucky-buy{border:2px solid var(--accent,#3b6cf6);min-height:48px;color:var(--accent,#3b6cf6);font-weight:800;font:inherit;cursor:pointer;background:0 0;border-radius:16px;font-size:15px;font-weight:800}.app .lucky-buy:active{transform:scale(.98)}.app .language-select{background:var(--code-bg);width:100%;min-height:48px;color:var(--ink);font:inherit;border:0;border-radius:14px;padding:0 14px;font-size:16px;font-weight:700}:root[dir=rtl] .app .puzzle-grid{direction:ltr}:root[dir=rtl] .app .row-arrow,:root[dir=rtl] .app .banner-arrow,:root[dir=rtl] .app .icon-button .icon{transform:scaleX(-1)}.app .puzzle-grid .cell.selected:before{background:color-mix(in srgb, var(--ink) 9%, transparent);border-width:2.5px;animation:.3s cubic-bezier(.2,1.6,.4,1) ring-snap}.app .puzzle-grid.dense .cell.selected:before{border-width:2px}.app .puzzle-grid .cell.selected:after{content:"";border:2px solid var(--ink);opacity:0;pointer-events:none;border-radius:50%;animation:.5s ease-out ring-ripple;position:absolute;inset:9%}@keyframes ring-snap{0%{opacity:0;transform:scale(.3)}60%{opacity:1;transform:scale(1.22)}to{opacity:1;transform:scale(1)}}@keyframes ring-ripple{0%{opacity:.4;transform:scale(1)}to{opacity:0;transform:scale(1.8)}}.app .puzzle-grid .cell.excluded{animation:.22s ease-out cell-out}@keyframes cell-out{0%{transform:scale(.82)}to{transform:scale(1)}}.app .puzzle-grid .cell.line-glow{z-index:2;animation:.7s ease-out both line-glow;animation-delay:var(--d,0s)}@keyframes line-glow{0%{filter:none;transform:scale(1)}35%{filter:brightness(1.14)saturate(1.35);transform:scale(1.08)}to{filter:none;transform:scale(1)}}.app .puzzle-grid.solved .cell{animation:.55s both wave-pop;animation-delay:var(--w,0s);z-index:1;position:relative}.app .puzzle-grid.solved .clue{animation:.55s both wave-pop}@keyframes wave-pop{0%{transform:scale(1)}40%{filter:brightness(1.1)saturate(1.3);transform:scale(1.14)}to{filter:none;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.app .puzzle-grid .cell.selected:before,.app .puzzle-grid .cell.selected:after,.app .puzzle-grid .cell.excluded,.app .puzzle-grid .cell.line-glow,.app .puzzle-grid.solved .cell,.app .puzzle-grid.solved .clue{animation:none}}.app .result-sheet{gap:12px}.app .result-line{color:var(--text);font-weight:700;margin:0!important}.app .result-chips{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.app .result-chip{background:var(--code-bg);color:var(--ink);border-radius:999px;padding:5px 11px;font-size:13px;font-weight:800}.app .result-chip.coin{background:color-mix(in srgb, #ffc928 22%, var(--code-bg));color:#a96800}.app .result-chip.xp{color:var(--accent)}.app .result-chip.combo{color:#d97a00}.app .result-chip.shield{color:#2f8bff}.app .result-chip.achv{color:#8a4bff;animation:achv-in .5s var(--ease-bounce) both}.app .result-actions{gap:8px;display:flex}.app .result-actions .home-cta{flex:1;min-width:0;padding-left:8px;padding-right:8px}.app .puzzle-grid.solved .cell.selected:before{animation:.65s both wave-ring;animation-delay:var(--w,0s);border-color:var(--ink);background:#ffc9283d}@keyframes wave-ring{0%{background:color-mix(in srgb, var(--ink) 9%, transparent);box-shadow:none;transform:scale(1)}45%{background:#ffc92899;transform:scale(1.28);box-shadow:0 0 16px #ffc928d9}to{background:#ffc9283d;transform:scale(1);box-shadow:0 0 #0000}}@media (prefers-reduced-motion:reduce){.app .puzzle-grid.solved .cell.selected:before{animation:none}}.app .tutor{z-index:70;padding:14px 16px calc(16px + env(safe-area-inset-bottom,0px));background:var(--bg);flex-direction:column;gap:10px;display:flex;position:fixed;inset:0;overflow-y:auto}.app .tutor-top{justify-content:space-between;align-items:center;display:flex}.app .tutor-top h2{color:var(--ink);margin:0;font-size:20px}.app .tutor-coach{background:var(--code-bg);border-radius:16px;min-height:84px;padding:12px 14px}.app .tutor-msg{color:var(--ink);margin:0;font-size:16px;font-weight:800;line-height:1.35}.app .tutor-coach small{color:var(--text);margin-top:6px;font-size:13px;line-height:1.35;display:block}.app .tutor-board{flex:1;justify-content:center}.app .puzzle-grid .cell.tutor-target:not(.selected):after{content:"";border:3px solid var(--accent);box-shadow:0 0 12px color-mix(in srgb, var(--accent) 60%, transparent);pointer-events:none;border-radius:50%;animation:1s ease-in-out infinite tutor-pulse;position:absolute;inset:8%}@keyframes tutor-pulse{0%,to{opacity:.75;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}.app .mode-btn.tutor-pulse{animation:1s ease-in-out infinite tutor-btn}@keyframes tutor-btn{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 50%, transparent)}50%{box-shadow:0 0 0 8px #0000}}@media (prefers-reduced-motion:reduce){.app .puzzle-grid .cell.tutor-target:not(.selected):after,.app .mode-btn.tutor-pulse{animation:none}}.app .tutor-board .puzzle-grid{aspect-ratio:1;width:min(100%,46svh);height:auto;margin:0 auto;width:min(100%,46svh)!important}.app .lucky-note{color:var(--bad);text-align:center;font-weight:700}:root[data-theme=dark] .app .result-chip.coin{color:#ffd45c}:root[data-theme=dark] .app .result-chip.combo{color:#ffb347}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .app .result-chip.coin{color:#ffd45c}:root:not([data-theme=light]) .app .result-chip.combo{color:#ffb347}}.app .hard-card{color:#fff;background:linear-gradient(135deg,#6d28d9,#4338ca);border-radius:18px;align-items:center;gap:12px;margin-top:14px;padding:14px 16px;display:flex}.app .hard-card.done{background:var(--code-bg);color:var(--text)}.app .hard-main{text-align:left;flex:1;gap:2px;min-width:0;display:grid}.app .hard-main strong{font-size:17px}.app .hard-main small{opacity:.92;font-size:12.5px;line-height:1.3}.app .hard-play{color:#4338ca;min-width:72px;font:inherit;cursor:pointer;background:#fff;border:0;border-radius:14px;padding:10px 14px;font-weight:900}.app .hard-play:disabled{color:var(--good,#2f9e44);cursor:default;background:0 0;font-size:22px}.app .calendar-screen{padding-bottom:100px}.app .friend-card{background:var(--code-bg);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:18px;align-items:center;gap:12px;margin-top:10px;padding:14px 16px;display:flex}.app .friend-card .hard-main small{color:var(--text);opacity:1}.app .friends-screen{gap:14px;width:100%;max-width:480px;margin:0 auto;padding:6px 0 110px;display:grid}.app .friends-section{gap:8px;display:grid}.app .friends-card{background:var(--code-bg);border-radius:18px;gap:10px;padding:14px;display:grid}.app .friends-card>small{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:800}.app .friends-code{border:2px solid var(--border);background:var(--bg);width:100%;min-height:50px;color:var(--ink);font:inherit;letter-spacing:.08em;text-transform:uppercase;text-align:center;border-radius:14px;padding:0 14px;font-size:20px;font-weight:800}.app .friends-code:focus{border-color:var(--accent);outline:none}.app .friends-error{color:var(--bad);text-transform:none;letter-spacing:0;text-align:center;font-weight:700}.app .friends-card>small.friends-error{text-transform:none;letter-spacing:0;color:var(--bad);font-size:13px}.app .friends-code::placeholder{text-transform:none;letter-spacing:0;font-size:15px;font-weight:600}.app .game-screen.world-themed{z-index:1;position:relative}.app .world-backdrop{z-index:0;pointer-events:none;background:linear-gradient(180deg, hsl(var(--world-hue) 85% 92%) 0%, transparent 60%);position:fixed;inset:0;overflow:hidden}:root[data-theme=dark] .app .world-backdrop{background:linear-gradient(180deg, hsl(var(--world-hue) 40% 18%) 0%, transparent 60%)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .app .world-backdrop{background:linear-gradient(180deg, hsl(var(--world-hue) 40% 18%) 0%, transparent 60%)}}.app .world-glyph{opacity:.22;will-change:transform;animation:linear infinite world-rise;position:absolute;bottom:-12%}.app .world-glyph.fall{animation-name:world-fall;top:-12%;bottom:auto}@keyframes world-rise{0%{transform:translate(0,0)rotate(0)}50%{transform:translate(18px,-62vh)rotate(10deg)}to{transform:translate(-8px,-128vh)rotate(-6deg)}}@keyframes world-fall{0%{transform:translate(0,0)rotate(0)}50%{transform:translate(-16px,62vh)rotate(-12deg)}to{transform:translate(10px,128vh)rotate(8deg)}}@media (prefers-reduced-motion:reduce){.app .world-glyph,.app .world-glyph.fall{bottom:auto;top:var(--y,50%);opacity:.12;animation:none}}.app .world-intro{z-index:40;background:hsl(var(--world-hue) 75% 46%);color:#fff;letter-spacing:-.3px;box-shadow:0 10px 28px hsl(var(--world-hue) 75% 30% / .4);pointer-events:none;border-radius:999px;padding:10px 22px;font-size:20px;font-weight:900;animation:2.6s both world-intro;position:fixed;top:22%;left:50%;transform:translate(-50%)}@keyframes world-intro{0%{opacity:0;transform:translate(-50%,12px)scale(.9)}15%,75%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,6px)scale(.98)}}@media (prefers-reduced-motion:reduce){.app .world-intro{opacity:0;animation:none}}.app .world-backdrop{z-index:-1}.app .world-intro{top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 96px);white-space:nowrap;padding:9px 18px;font-size:17px}.app .streak-rewards{gap:8px;margin:14px 0;display:grid}.app .streak-rewards-sub{color:var(--text-dim);margin:0;font-size:13px}.app .streak-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.app .streak-row{background:var(--code-bg);border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex}.app .streak-row.ready{background:color-mix(in srgb, var(--accent) 16%, var(--code-bg))}.app .streak-row.done{opacity:.7}.app .streak-days{flex:none;min-width:64px;font-size:14px;font-weight:800}.app .streak-name{flex:1;min-width:0;font-size:14px;font-weight:700;display:grid}.app .streak-name small{color:var(--text-dim);font-size:12px;font-weight:600}.app .streak-done,.app .streak-left{color:var(--text-dim);flex:none;font-size:12px;font-weight:700}.app .rush-intro{text-align:center}.app .rush-intro p{margin:0;line-height:1.4}.app .rush-best{font-size:18px;font-weight:800}.app .rush-twist{text-align:center;color:var(--accent);margin:0 0 6px;font-size:13px;font-weight:800}.app .rush-clock{justify-content:center;align-items:center;gap:10px;min-height:40px;display:flex}.app .rush-clock strong{font-variant-numeric:tabular-nums;font-size:30px}.app .rush-clock.low strong{color:var(--bad,#ef4444)}.app .rush-penalty{color:var(--bad,#ef4444);animation:sheet-up .3s var(--ease-bounce);font-size:18px;font-weight:800}.app .play-card{color:#fff;width:100%;font:inherit;cursor:pointer;background:linear-gradient(135deg,#4f8cff,#2563eb);border:0;border-radius:22px;justify-items:center;gap:4px;margin:6px 0 14px;padding:28px 16px;display:grid;box-shadow:0 10px 26px #2563eb47}.app .play-card strong{letter-spacing:-.5px;font-size:32px;font-weight:800}.app .play-card small{opacity:.92;font-size:14px;font-weight:600}.app .play-card:active{transform:scale(.985)}.app .home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:4px 0 14px;display:grid}.app .home-feature{background:var(--code-bg);min-height:96px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:18px;align-content:start;justify-items:start;gap:3px;padding:14px;display:grid;position:relative}.app .home-feature strong{font-size:16px}.app .home-feature small{color:var(--text-dim);font-size:12px;font-weight:600;line-height:1.3}.app .home-feature-icon{width:30px;height:30px;color:var(--accent);place-items:center;display:grid}.app .home-feature-icon .icon{width:24px;height:24px}.app .home-feature-emoji{font-size:22px;line-height:1}.app .home-feature-dot{background:#ef4444;border-radius:50%;width:10px;height:10px;position:absolute;top:12px;right:12px}.app .packs-card{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 16%, var(--code-bg)), var(--code-bg));width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:18px;align-items:center;gap:12px;margin:4px 0 6px;padding:14px 16px;display:flex}.app .packs-card .hard-main small{color:var(--text);opacity:1}.app .packs-screen{gap:12px;width:100%;max-width:480px;margin:0 auto;padding:6px 0 110px;display:grid}.app .pack-card{background:var(--code-bg);border-radius:18px;overflow:hidden}.app .pack-head{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:14px 16px;display:flex}.app .pack-head:disabled{opacity:.55;cursor:default}.app .pack-main{flex:1;gap:2px;min-width:0;display:grid}.app .pack-main strong{font-size:17px}.app .pack-main small{color:var(--text);font-size:12.5px}.app .pack-side{background:var(--bg);color:var(--accent-text,var(--accent));border-radius:999px;flex:none;padding:5px 11px;font-size:12.5px;font-weight:800}.app .pack-card.locked .pack-side{color:#6b3a00;background:#ffc928}.app .pack-plus-nudge{color:#4a2800;width:100%;font:inherit;text-align:left;cursor:pointer;background:#ffc928;border:0;border-radius:18px;gap:2px;margin:0 0 12px;padding:12px 16px;display:grid}.app .pack-plus-nudge strong{font-size:15px}.app .pack-plus-nudge small{font-size:12.5px;font-weight:700}.app .plus-chip{color:#4a2800;white-space:nowrap;background:#ffc928;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900}.app .pack-open{padding:0 16px 16px}.app .pack-hint{color:var(--text);margin:0 0 10px;font-size:13px;font-weight:700}.app .pack-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.app .pack-dot{aspect-ratio:1;background:var(--bg);color:var(--ink);font:inherit;cursor:pointer;border:0;border-radius:50%;font-size:17px;font-weight:800}.app .pack-dot.done{background:color-mix(in srgb, #ffc928 40%, var(--bg));color:#8a5a00}html[data-lefty="1"] .app .tool-dock .power-btn{grid-column:3;justify-self:start}html[data-lefty="1"] .app .tool-dock .hint-btn:not(.power-btn){grid-column:1;justify-self:end}html[data-big-numbers="1"] .app .puzzle-grid .cell{font-size:clamp(22px,7.6vw,36px)!important}html[data-big-numbers="1"] .app .puzzle-grid.dense .cell{font-size:clamp(17px,6.4vw,27px)!important}html[data-big-numbers="1"] .app .puzzle-grid .clue{font-size:clamp(19px,5.8vw,27px)!important}html[data-big-numbers="1"] .app .puzzle-grid.dense .clue{font-size:clamp(16px,5.2vw,22px)!important}.app .lb-screen{gap:12px;width:100%;max-width:480px;margin:0 auto;padding:6px 0 110px;display:grid}.app .lb-intro{text-align:center;color:var(--text);margin:0;font-weight:600}.app .lb-card{background:var(--code-bg);border-radius:18px;gap:10px;padding:14px;display:grid}.app .lb-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:800}.app .lb-input{text-transform:none;letter-spacing:0;font-size:18px}.app .lb-input::placeholder{text-transform:none;font-size:16px;font-weight:600}.app .lb-tabs{justify-content:center}.app .lb-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.app .lb-row{background:var(--code-bg);border-radius:14px;align-items:center;gap:12px;padding:10px 14px;display:flex}.app .lb-row.me{background:color-mix(in srgb, var(--accent) 14%, var(--code-bg));box-shadow:inset 0 0 0 2px var(--accent)}.app .lb-place{color:var(--text-dim);font-variant-numeric:tabular-nums;flex:0 0 34px;font-weight:900}.app .lb-row:nth-child(-n+3) .lb-place{color:#d98a00}.app .lb-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);flex:1;font-weight:800;overflow:hidden}.app .lb-score{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:900}.app .lb-rank{text-align:center;color:var(--ink);margin:0;font-weight:800}.app .lb-note{text-align:center;color:var(--text-dim);margin:0;font-size:12.5px}.app .lb-fail{text-align:center;margin:0}.app .shop-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.app .shop-head .levels-title{margin:0}.app .deal-card{text-align:center;background:color-mix(in srgb, #ffc928 16%, var(--code-bg));border-radius:20px;gap:8px;margin-top:14px;padding:22px 16px 16px;display:grid;position:relative;box-shadow:inset 0 0 0 2px #ffc928}.app .deal-card .section-title{margin:0}.app .deal-bubble{top:-12px}.app .deal-total{color:var(--ink);margin:0;font-size:28px;font-weight:900}.app-content.in-game{padding-top:8px;padding-bottom:calc(4px + env(safe-area-inset-bottom,0px))}.app .build-stamp{text-align:center;color:var(--text-dim);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;margin:0;padding:16px 0;font-size:12px}.app .app-content:not(.in-game){padding-bottom:calc(132px + env(safe-area-inset-bottom,0px))}.app .puzzle-grid .region-badge,.app .puzzle-grid.dense .region-badge{opacity:1;color:color-mix(in srgb, var(--ink) 94%, transparent);font-size:11px;font-weight:800}.app .puzzle-grid.dense .region-badge{font-size:9px}.app .game-card{position:relative}.app .combo-pop{z-index:6;pointer-events:none;letter-spacing:.02em;color:#fff;background:linear-gradient(135deg,#ff8a00,#ff3d71);border-radius:999px;padding:2px 16px;font-size:30px;font-weight:900;animation:1.1s ease-out forwards combo-pop;position:absolute;top:4px;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #ff3d7173}.app .combo-pop.combo-1{background:linear-gradient(135deg,#ffb300,#ff6d00)}.app .combo-pop.combo-2{font-size:34px}.app .combo-pop.combo-3,.app .combo-pop.combo-4{background:linear-gradient(135deg,#a855f7,#ff3d71);font-size:40px;box-shadow:0 8px 24px #a855f78c}@keyframes combo-pop{0%{opacity:0;transform:translate(-50%)scale(.4)}18%{opacity:1;transform:translate(-50%)scale(1.25)}35%{transform:translate(-50%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%)translateY(-18px)scale(1)}}.app .game-card.combo-glow .puzzle-grid{border-radius:14px;transition:box-shadow .2s;box-shadow:0 0 0 3px #ff8a00bf,0 0 28px #ff8a008c}.app .game-card.bump{animation:.42s board-bump}@keyframes board-bump{0%,to{transform:translate(0)}18%{transform:translate(-9px)}36%{transform:translate(8px)}54%{transform:translate(-6px)}72%{transform:translate(4px)}}.app .special-badge{letter-spacing:.06em;text-transform:uppercase;color:#fff;border-radius:999px;margin-bottom:2px;padding:1px 10px;font-size:11px;font-weight:900;display:inline-block}.app .special-badge-boss{background:linear-gradient(135deg,#e11d48,#7c3aed)}.app .special-badge-speed{background:linear-gradient(135deg,#0ea5e9,#2563eb)}.app .special-badge-bonus{background:linear-gradient(135deg,#f59e0b,#ea580c)}.app .special-badge-secret{background:linear-gradient(135deg,#0d9488,#6d28d9)}.app .speed-clock{background:#0ea5e92e;border-radius:999px;width:100%;height:22px;margin-bottom:6px;position:relative;overflow:hidden}.app .speed-clock>span{background:linear-gradient(90deg,#0ea5e9,#6366f1);transition:width 1s linear;position:absolute;inset:0 auto 0 0}.app .speed-clock.over>span{width:0!important}.app .speed-clock>small{z-index:1;text-align:center;color:#fff;text-shadow:0 1px 2px #00000073;font-weight:800;line-height:22px;display:block;position:relative}.app .speed-clock.over>small{color:var(--text-dim);text-shadow:none}.app .map-node.special{box-shadow:0 0 0 3px var(--special-ring,#f59e0b)}.app .map-node.special-boss{--special-ring:#e11d48}.app .map-node.special-speed{--special-ring:#0ea5e9}.app .map-node.special-bonus{--special-ring:#f59e0b}.app .map-node.special-secret{--special-ring:#0d9488}.app .map-node.special-headstart{--special-ring:#84cc16}.app .map-node.special:after{content:""}.app .power-btn{color:#fff;background:linear-gradient(135deg,#a855f7,#6366f1)}.app .power-btn .icon{color:#fff}.app .power-backdrop{z-index:65;background:#080b1299;align-items:end;animation:.2s fade-in;display:grid;position:fixed;inset:0}.app .power-sheet{width:100%;max-width:520px;padding:20px 16px calc(20px + env(safe-area-inset-bottom,0px));background:var(--bg);animation:sheet-up .3s var(--ease-bounce);border-radius:24px 24px 0 0;gap:12px;margin:0 auto;display:grid}.app .power-sheet h2{text-align:center;margin:0}.app .power-card{background:var(--code-bg);border-radius:16px;gap:10px;padding:12px;display:grid}.app .power-copy{gap:2px;display:grid}.app .power-copy small{color:var(--text-dim)}.app .power-buttons{grid-template-columns:1fr 1fr;gap:8px;display:grid}@media (prefers-reduced-motion:reduce){.app .combo-pop,.app .game-card.bump{animation:none}}.app .game-title-row{justify-content:center;align-items:center;gap:8px;display:flex}.app .special-badge{flex:none;margin-bottom:0;padding:1px 8px;font-size:10px}.app .speed-clock{background:#0ea5e938;height:5px;margin:0;position:absolute;top:-4px;left:0;right:0}.app .speed-clock>small{display:none}.app .clock-text{color:#0b7fc0;font-weight:800}.app .clock-text.over{color:var(--text-dim)}.app .boost-owned{color:var(--text-dim);margin:0 0 8px;font-size:13px;font-weight:700}.app .boost-list{gap:10px;display:grid}.app .boost-card{background:var(--code-bg);border-radius:16px;align-items:center;gap:12px;padding:14px;display:flex;position:relative}.app .boost-card.has-badge{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--accent) 45%, transparent);padding-top:22px}.app .boost-copy{flex:1;gap:2px;min-width:0;display:grid}.app .boost-copy small{color:var(--text-dim)}.app .boost-card .home-cta{flex:none;width:auto;min-width:84px;padding:10px 14px}.app .boost-badge{letter-spacing:.04em;text-transform:uppercase;color:#fff;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:900;position:absolute;top:-9px;left:14px}.app .boost-badge-once{background:linear-gradient(135deg,#f59e0b,#ea580c)}.app .boost-badge-best{background:linear-gradient(135deg,#22c55e,#0ea5e9)}.app .hint-badge:not(.paid){background:var(--accent)}.app .home-cta.double-ad{color:#fff;background:linear-gradient(135deg,#f59e0b,#ea580c);border:0;font-weight:800}.app .doubled-chip{justify-self:center}.app .mode-tabs{background:var(--code-bg);border-radius:16px;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;margin:14px 0 6px;padding:4px;display:grid}.app .mode-tab{min-height:44px;color:var(--text);font:inherit;text-align:center;cursor:pointer;background:0 0;border:0;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 3px;padding:6px 2px;font-size:clamp(11px,3.4vw,13.5px);font-weight:700;line-height:1.15;display:inline-flex}.app .mode-tab.on{background:var(--accent);color:#fff}.app .mode-tab.locked{opacity:.65}.app .update-banner{top:calc(8px + env(safe-area-inset-top,0px));z-index:60;background:var(--accent);color:#fff;border-radius:14px;align-items:center;gap:8px;padding:10px 10px 10px 14px;font-size:14px;font-weight:600;line-height:1.25;display:flex;position:fixed;left:12px;right:12px;box-shadow:0 6px 20px #00000038}.app .update-banner span{flex:1}.app .update-banner .update-go{color:var(--accent);font:inherit;cursor:pointer;background:#fff;border:0;border-radius:10px;flex:none;padding:8px 12px;font-weight:700}.app .update-banner .update-close{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;width:28px;height:28px;font-size:20px;line-height:1}.app .mode-tab .mode-lock{width:13px;height:13px}.app .mode-blurb{color:var(--text-dim,var(--text));text-align:center;margin:0 2px 6px;font-size:13px}.app .hard-card.easy-card{background:linear-gradient(135deg,#15803d,#0f766e)}.app .hard-card.easy-card.done{background:var(--code-bg);color:var(--text)}.app .hard-card.easy-card .hard-play{color:#0f766e}.app .sheet-nudge{color:var(--text);text-align:center;margin:4px 0 0;font-size:13px}.app .expert-sheet{text-align:center}.app .expert-goal{color:var(--text-h);margin:4px 0 8px;font-weight:700}.app .expert-bar{background:var(--code-bg);border-radius:999px;height:10px;overflow:hidden}.app .expert-bar span{background:var(--accent);border-radius:999px;height:100%;display:block}.app .expert-count{color:var(--text);margin:6px 0 10px;font-size:13px}.app .expert-or{color:var(--text);margin:6px 0;font-size:13px}.app .puzzle-grid:not(.classic) .cell.selected .region-badge{z-index:3;background:hsl(var(--region-hue) var(--region-sat) var(--region-light));opacity:1;border-radius:4px;padding:1px 2px}.app .unlock-banner{color:#fff;width:100%;font:inherit;text-align:left;cursor:pointer;background:linear-gradient(135deg,#6d28d9,#4338ca);border:0;border-radius:18px;align-items:center;gap:12px;margin:4px 0 8px;padding:14px 16px;display:flex}.app .unlock-banner .hard-main small{color:#fff;opacity:.92}.app .coin-tip{color:var(--accent);text-align:center;margin:2px 0 0;font-size:13px;font-weight:700}.app .map-node.special-mega{--special-ring:#7c3aed}.app .race-screen{gap:14px;max-width:520px;margin:0 auto;padding-bottom:24px;display:grid}.app .race-code-card{text-align:center}.app .race-code{letter-spacing:.22em;font-variant-numeric:tabular-nums;margin:4px 0 10px;padding-left:.22em;font-size:40px;font-weight:800;display:block}.app .race-players{gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.app .race-players li{background:var(--clue-bg);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-weight:700;display:flex}.app .race-tag{background:#7882a038;border-radius:999px;padding:4px 10px;font-size:12.5px;font-weight:700}.app .race-tag.on{background:var(--good,#18a058);color:#fff}.app .race-rules p{margin:4px 0}.app .race-countdown{text-align:center;place-content:center;min-height:60vh}.app .race-count{color:var(--accent);font-size:120px;font-weight:800;line-height:1;animation:.9s ease-out race-pop;display:block}@keyframes race-pop{0%{opacity:.2;transform:scale(1.6)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.app .race-count{animation:none}}.app .race-rival{background:var(--clue-bg);border-radius:14px;align-items:center;gap:10px;width:100%;max-width:520px;margin:0 auto;padding:8px 12px;font-size:14px;font-weight:700;display:flex}.app .race-rival-name{text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:40%;overflow:hidden}.app .race-rival-bar{background:#7882a040;border-radius:99px;flex:1;height:10px;overflow:hidden}.app .race-rival-bar>span{background:var(--accent);border-radius:99px;height:100%;transition:width .6s;display:block}.app .race-rival-bar.big{height:14px;margin:6px 0}.app .race-rival-pct{text-align:right;font-variant-numeric:tabular-nums;flex:none;min-width:3ch}.app .race-rival-away{opacity:.7;flex:none;font-size:12px}.app .race-grid-wrap{width:min(100%,500px);position:relative}.app .race-grid-wrap .puzzle-grid{width:100%}.app .race-freeze{z-index:5;-webkit-backdrop-filter:blur(1.5px);color:#0d2a4d;text-align:center;pointer-events:none;background:#96cdff80;border-radius:12px;place-content:center;justify-items:center;gap:2px;display:grid;position:absolute;inset:0;box-shadow:inset 0 0 0 2px #ffffffb3,inset 0 0 28px #fff9}.app .race-freeze strong{letter-spacing:.08em;text-transform:uppercase;font-size:18px}.app .race-freeze span{font-variant-numeric:tabular-nums;font-size:56px;font-weight:800;line-height:1}.app .race-freeze.hide{-webkit-backdrop-filter:none;background:linear-gradient(135deg,#cfe9ff,#a9d3f5 55%,#d9efff)}.app .race-lost{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:70;color:#fff;text-align:center;background:#1e2846eb;border-radius:12px;margin:0;padding:8px 12px;font-size:13px;position:fixed}.app .race-view{--n:6;grid-template-columns:repeat(var(--n), 1fr);background:var(--clue-bg);border-radius:12px;gap:2px;width:100%;max-width:520px;margin:0 auto;padding:4px;display:grid}.app .race-view-cell{aspect-ratio:1;color:#10172e;background:hsl(var(--region-hue) 80% 85%);border-radius:6px;place-items:center;font-size:clamp(12px,4.2vw,22px);font-weight:600;display:grid;position:relative}.app .race-view-cell.erased{opacity:.3}.app .race-view-cell.ringed{font-weight:800}.app .race-view-cell.ringed:after{content:"";border:3px solid #10172e;border-radius:50%;position:absolute;inset:12%}.app .whats-new{background:var(--clue-bg);border-left:4px solid var(--accent);border-radius:16px;margin:0 0 14px;padding:14px 16px}.app .whats-new h2{margin:0 0 8px;font-size:17px}.app .whats-new-list{gap:10px;max-height:38vh;display:grid;overflow-y:auto}.app .whats-new-entry strong{color:var(--accent);margin-bottom:2px;font-size:13px;display:block}.app .whats-new-entry ul{gap:4px;margin:0;padding-left:18px;font-size:14px;line-height:1.4;display:grid}.app .whats-new-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.app .whats-new-actions .home-cta{width:auto;min-width:110px;margin:0}.app .settings-section .whats-new-list{max-height:none;margin-top:10px}.app .friend-row{background:var(--clue-bg);border-radius:12px;align-items:center;gap:8px;padding:8px 10px;display:flex}.app .friend-row.invite{background:color-mix(in srgb, var(--accent) 16%, var(--clue-bg))}.app .friend-name{text-overflow:ellipsis;flex:1;min-width:0;font-weight:700;overflow:hidden}.app .friend-record{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:12px;font-weight:600;display:block;overflow:hidden}.app .friend-dot{background:#7882a073;border-radius:50%;flex:none;width:10px;height:10px}.app .friend-dot.on{background:var(--good,#18a058);box-shadow:0 0 0 3px #18a05838}.app .friend-remove{opacity:.7;flex:none;width:32px;height:32px;font-size:20px;line-height:1}.app .friend-add{align-items:center;gap:8px;display:flex}.app .friend-add .friends-code{flex:1;min-width:0}.app .home-cta.small{width:auto;min-width:0;margin:0;padding:8px 14px;font-size:14px}.app .sheet-link.inline{font-size:inherit;margin:0;padding:0;text-decoration:underline;display:inline}.app .friends-ok{color:var(--good,#18a058)}.app .friend-news{color:#fff;vertical-align:middle;background:#e5484d;border-radius:99px;place-items:center;min-width:20px;height:20px;margin-left:8px;padding:0 6px;font-size:12px;font-weight:800;display:inline-grid}.app .friend-row .home-cta,.app .friend-add .home-cta{width:auto;min-width:0;height:auto;min-height:0;margin:0;padding:8px 14px;font-size:14px;line-height:1.2}.app .friend-row .sheet-link{padding:0 4px}.app .friend-safety{background:var(--clue-bg);border-radius:12px;gap:8px;padding:10px 12px;display:grid}.app .friend-safety p{margin:0;font-size:14px;line-height:1.35}.app .friend-safety .home-cta{width:auto;min-width:0;height:auto;min-height:0;margin:0;padding:8px 14px;font-size:14px;line-height:1.2}html[data-color-blind="1"] .app .puzzle-grid:not(.classic) .cell{--edge-color:var(--ink)}html[data-color-blind="1"] .app .puzzle-grid:not(.classic) .cell.edge-t{border-top-width:3px}html[data-color-blind="1"] .app .puzzle-grid:not(.classic) .cell.edge-r{border-right-width:3px}html[data-color-blind="1"] .app .puzzle-grid:not(.classic) .cell.edge-b{border-bottom-width:3px}html[data-color-blind="1"] .app .puzzle-grid:not(.classic) .cell.edge-l{border-left-width:3px}html[data-color-blind="1"] .app .puzzle-grid .clue.status-done:after{content:"✓";margin-left:2px;font-size:.8em}html[data-color-blind="1"] .app .puzzle-grid .clue.status-invalid:after{content:"!";margin-left:2px;font-weight:900}@media (orientation:landscape) and (height<=820px){.app .game-screen:not(.race-board-screen){min-height:0;max-width:860px!important}.app .game-screen:not(.race-board-screen) .game-topbar{min-height:44px;padding-top:0}.app .game-screen:not(.race-board-screen) .game-card:not(.race-card){--board:min(calc(100dvh - 88px), 480px);grid-template-columns:var(--board) minmax(0, 1fr);grid-template-rows:auto auto 1fr;place-content:center;align-items:center;gap:8px 22px;padding:0 0 6px;display:grid;max-width:860px!important}.app .game-screen:not(.race-board-screen) .game-card:not(.race-card)>.puzzle-grid{grid-area:1/1/span 4;width:var(--board)!important;max-width:var(--board)!important}.app .game-screen:not(.race-board-screen) .game-card:not(.race-card)>:not(.puzzle-grid){grid-column:2}.app .game-screen:not(.race-board-screen) .game-card:not(.race-card)>.lives{grid-row:1;align-self:end}.app .game-screen:not(.race-board-screen) .game-card:not(.race-card)>.hint-note{grid-row:2;align-self:start}.app .game-screen:not(.race-board-screen) .game-card:not(.race-card)>.tool-dock{flex-wrap:wrap;grid-row:3;align-self:start}.app .game-screen:not(.race-board-screen) .game-card:not(.race-card)>.speed-clock{grid-row:1}.app .race-board-screen .race-grid-wrap{width:min(100%,500px,max(160px,100dvh - 190px));margin-left:auto;margin-right:auto}}html[data-ring=bold] .app .puzzle-grid .cell.selected:before,.app .ring-sample.ring-bold:before{border-width:5px}html[data-ring=dashed] .app .puzzle-grid .cell.selected:before,.app .ring-sample.ring-dashed:before{border-style:dashed}html[data-ring=double] .app .puzzle-grid .cell.selected:before,.app .ring-sample.ring-double:before{border:6px double var(--text-h)}html[data-ring=glow] .app .puzzle-grid .cell.selected:before,.app .ring-sample.ring-glow:before{border-color:#4f8cff;box-shadow:0 0 0 2px #4f8cff59,0 0 12px 2px #4f8cffbf}html[data-ring=gold] .app .puzzle-grid .cell.selected:before,.app .ring-sample.ring-gold:before{border:4px solid #d99a00;box-shadow:0 0 0 2px #ffd65a99,0 0 10px #d99a008c}html[data-ring=champion] .app .puzzle-grid .cell.selected:before,.app .ring-sample.ring-champion:before{border:4px solid #a855f7;box-shadow:0 0 0 2px #ffd65abf,0 0 14px 3px #a855f7b3}.app .ring-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.app .ring-choice{background:var(--code-bg);color:var(--ink);font:inherit;cursor:pointer;border:2px solid #0000;border-radius:16px;justify-items:center;gap:4px;padding:12px 6px 10px;display:grid}.app .ring-choice strong{font-size:14px}.app .ring-choice small{color:var(--text-dim);font-size:12px;font-weight:700}.app .ring-choice.equipped{border-color:var(--accent);background:var(--accent-bg)}.app .ring-choice.equipped small{color:var(--accent)}.app .ring-choice:disabled{opacity:.5;cursor:default}.app .ring-sample{background:var(--bg);border-radius:12px;place-items:center;width:52px;height:52px;font-style:normal;display:grid;position:relative}.app .ring-sample i{color:var(--text-h);font-size:20px;font-style:normal;font-weight:800}.app .ring-sample:before{content:"";border:3px solid var(--text-h);background:#ffffff24;border-radius:50%;position:absolute;inset:8%}.app .puzzle-grid .diag-corner{color:var(--text);align-content:center;justify-items:center;gap:1px;font-size:clamp(12px,3.8vw,15px);font-weight:800;line-height:1.1;display:grid}.app .puzzle-grid.dense .diag-corner{font-size:clamp(10px,3vw,13px)}.app .puzzle-grid .diag-clue.status-done{color:var(--accent)}.app .puzzle-grid .diag-clue.status-invalid{color:var(--bad)}html[data-color-blind="1"] .app .puzzle-grid .diag-clue.status-done:after{content:"✓"}html[data-color-blind="1"] .app .puzzle-grid .diag-clue.status-invalid:after{content:"!"}.app .puzzle-grid .cell.diag{background-image:radial-gradient(circle at 14% 14%,#6e78a08c 0 2.5px,#0000 3.5px)}.app .editor-screen{gap:12px;width:100%;max-width:480px;margin:0 auto;padding:0 0 24px;display:grid}.app .editor-sizes,.app .editor-tools{justify-content:center}.app .editor-tools{gap:8px;display:flex}.app .editor-help{text-align:center;color:var(--text);min-height:20px;margin:0;font-size:14px}.app .editor-board{align-items:center;gap:4px;display:grid}.app .editor-row{display:contents}.app .editor-sum{background:var(--code-bg);min-height:34px;color:var(--ink);border-radius:10px;place-items:center;font-size:14px;font-weight:800;display:grid}.app .editor-cell{aspect-ratio:1;border:1px solid var(--line,#0000001f);background:var(--bg);color:var(--ink);font:inherit;cursor:pointer;border-radius:8px;padding:0;font-size:clamp(16px,5vw,24px);font-weight:700;position:relative}.app .editor-cell.picked{outline:3px solid var(--accent);outline-offset:-2px}.app .editor-cell.on:before{content:"";border:3px solid var(--text-h);pointer-events:none;background:#ffffff24;border-radius:50%;position:absolute;inset:11%}.app .editor-pad{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.app .editor-key{background:var(--code-bg);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border:0;border-radius:12px;font-size:18px;font-weight:800}.app .editor-key:disabled{opacity:.4}.app .editor-status{text-align:center;color:var(--text);min-height:38px;margin:0;font-size:14px;font-weight:700}.app .editor-status.good{color:var(--accent)}.app .editor-actions{gap:8px;display:flex}.app .editor-actions .home-cta{flex:1;min-height:46px}.app .editor-code{background:var(--code-bg);word-break:break-all;text-align:center;-webkit-user-select:all;user-select:all;border-radius:10px;padding:10px;font-size:13px;display:block}.app .season-track{background:linear-gradient(135deg, hsl(var(--season-hue) 80% 94%), hsl(var(--season-hue) 70% 88%));color:#1b2230;border-radius:18px;gap:8px;padding:14px;display:grid}:root[data-theme=dark] .app .season-track{background:linear-gradient(135deg, hsl(var(--season-hue) 35% 22%), hsl(var(--season-hue) 30% 17%));color:var(--ink)}.app .season-track .section-title{color:inherit;margin:0}.app .season-track .streak-rewards-sub{color:inherit;opacity:.8;margin:0}.app .season-bar{background:#0000001f;border-radius:999px;height:10px;overflow:hidden}.app .season-bar span{border-radius:inherit;background:hsl(var(--season-hue) 70% 45%);height:100%;transition:width .3s;display:block}.app .season-next{margin:0;font-size:13px;font-weight:700}.app .season-tiers{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.app .season-tier{color:inherit;font:inherit;cursor:default;background:#ffffff8c;border:2px solid #0000;border-radius:12px;justify-items:center;gap:2px;padding:8px 2px;display:grid}:root[data-theme=dark] .app .season-tier{background:#ffffff1a}.app .season-tier strong{font-size:15px}.app .season-tier span{font-size:16px;line-height:1}.app .season-tier:disabled{opacity:.65}.app .season-tier.ready{opacity:1;border-color:hsl(var(--season-hue) 80% 42%);cursor:pointer;color:#1b2230;background:#fff;box-shadow:0 4px 12px #00000026}.app .season-tier.done{opacity:.85}.app .invite-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.app .invite-list li{background:var(--code-bg);color:var(--ink);border-radius:10px;justify-content:space-between;gap:10px;padding:8px 12px;font-size:14px;font-weight:700;display:flex}.app .invite-list .invite-done{color:var(--good,#18a058)}.app .cup-mine{color:var(--ink);text-align:center;margin:0;font-weight:800}.app .cup-board{gap:6px;margin:0;padding:0;list-style:none;display:grid}.app .cup-board li{background:var(--code-bg);color:var(--ink);font-variant-numeric:tabular-nums;border-radius:10px;justify-content:space-between;gap:10px;padding:8px 12px;font-size:14px;font-weight:700;display:flex}.app .cup-board li.me{outline:2px solid var(--accent);outline-offset:-2px}.app .mascot{margin:0 auto;display:block;overflow:visible}.app .mascot-cheer{animation:.9s ease-in-out infinite alternate mascot-hop}@keyframes mascot-hop{0%{transform:translateY(0)}to{transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.app .mascot-cheer{animation:none}}.app .story-sheet{text-align:center}.app .story-line{color:var(--text);margin:0;font-size:16px;line-height:1.4}.app .puzzle-grid .cell.checker-dark{background-image:linear-gradient(#46507821,#46507821)}.app .puzzle-grid .diag-clue.secret-clue{color:var(--accent);font-weight:800;animation:1.6s ease-in-out infinite secret-pulse}@keyframes secret-pulse{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.app .puzzle-grid .diag-clue.secret-clue{animation:none}}.app .plus-card .plus-list{text-align:left;gap:4px;margin:8px 0 12px;padding-left:20px;font-size:15px;display:grid}.app .plus-card .plus-member{color:var(--accent);margin:4px 0 10px;font-weight:800}.app .pass-steps{gap:6px;margin:8px 0;padding:0;list-style:none;display:flex}.app .pass-step{text-align:center;background:var(--code-bg);border:2px solid #0000;border-radius:12px;flex:1;min-width:0;padding:6px 2px;font-size:12px}.app .pass-step small{color:var(--text);font-size:10.5px;line-height:1.2;display:block}.app .pass-day{color:var(--text-h);font-weight:800;display:block}.app .pass-step.done{background:var(--good-soft);border-color:var(--good)}.app .pass-step.next{border-color:var(--accent)}.app .night-history{margin-top:10px}.app .night-history summary{cursor:pointer;font-weight:700}.app .night-shelf{flex-wrap:wrap;gap:4px 14px;margin:6px 0;font-size:14px;display:flex}.app .night-log{gap:2px;margin:6px 0 0;padding:0;font-size:14px;list-style:none;display:grid}.app .night-log li{justify-content:space-between;display:flex}html[data-ring=mint] .app .puzzle-grid .cell.selected:before,.app .ring-sample.ring-mint:before{border:4px solid #34d399}html[data-ring=ink] .app .puzzle-grid .cell.selected:before,.app .ring-sample.ring-ink:before{border:5px solid var(--text-h)}html[data-ring=neon] .app .puzzle-grid .cell.selected:before,.app .ring-sample.ring-neon:before{border:3px solid #22d3ee;box-shadow:0 0 0 2px #22d3ee59,0 0 14px 3px #22d3eecc}html[data-ring=sunset] .app .puzzle-grid .cell.selected:before,.app .ring-sample.ring-sunset:before{border:4px solid #f97316;box-shadow:0 0 0 2px #f472b699,0 0 10px #f973168c}html[data-ring=aurora] .app .puzzle-grid .cell.selected:before,.app .ring-sample.ring-aurora:before{border:4px solid #2dd4bf;box-shadow:0 0 0 2px #3b82f680,0 0 14px 3px #22c55ea6}html[data-ring=plasma] .app .puzzle-grid .cell.selected:before,.app .ring-sample.ring-plasma:before{border:4px double #e879f9;box-shadow:0 0 0 2px #818cf88c,0 0 16px 3px #e879f9b3}.app .season-plus{color:var(--accent);margin:2px 0 8px;font-size:13px;font-weight:700}.app .ring-week{color:var(--text);margin:0 0 8px;font-size:13px}.app .rest-days{background:var(--code-bg);border-radius:16px;gap:4px;padding:12px;display:grid}.app .rest-days small{color:var(--text)}.app .rest-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:4px;display:grid}.app .rest-day{aspect-ratio:1;background:var(--bg);color:var(--text-h);font:inherit;cursor:pointer;border:2px solid #0000;border-radius:12px;font-weight:800}.app .rest-day.on{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.app .rest-day:disabled{opacity:.4;cursor:default}.app .calendar-day.rest{border:2px dashed var(--border);color:var(--text-dim);opacity:1;background:0 0}.app .season-plus.on{color:inherit}.app .season-plus-pitch{color:#1b2230;background:#fff9;border-radius:12px;gap:6px;padding:10px 12px;display:grid}:root[data-theme=dark] .app .season-plus-pitch{color:var(--ink);background:#ffffff1f}.app .season-plus-pitch p{margin:0;font-size:14px;font-weight:700}.app .season-plus-pitch .home-cta{justify-self:start}.app .season-tier .tier-plus{opacity:.6;font-size:10px;font-style:normal;font-weight:800}.app .season-tier .tier-plus.on{opacity:1}.app .night-pair{border:2px dashed var(--accent);border-radius:12px;gap:4px;padding:10px 12px;display:grid}.app .night-pair strong{font-size:15px}.app .season-plus-pitch .season-missed{color:var(--accent)}html,body{overscroll-behavior-x:none}html[data-ring=ocean] .app .puzzle-grid .cell.selected:before,.app .ring-sample.ring-ocean:before{border:4px solid #0ea5e9;box-shadow:0 0 0 2px #0ea5e94d}html[data-ring=rose] .app .puzzle-grid .cell.selected:before,.app .ring-sample.ring-rose:before{border:4px solid #f43f5e;box-shadow:0 0 0 2px #f43f5e4d}html[data-ring=prism] .app .puzzle-grid .cell.selected:before,.app .ring-sample.ring-prism:before{border:4px solid #f472b6;box-shadow:0 0 0 2px #facc1599,0 0 0 5px #38bdf873,0 0 14px 3px #a78bfa99}html[data-ring=pumpkin] .app .puzzle-grid .cell.selected:before,.app .ring-sample.ring-pumpkin:before{border:4px solid #f97316;box-shadow:0 0 0 2px #7c3aed8c,0 0 12px 2px #f97316a6}html[data-ring=titan] .app .puzzle-grid .cell.selected:before,.app .ring-sample.ring-titan:before{border:5px solid #64748b;box-shadow:0 0 0 2px #e2e8f0cc,0 0 10px 2px #64748bb3}.app .ghost-overlay{z-index:60;background:var(--bg);padding:12px 16px 24px;position:fixed;inset:0;overflow-y:auto}.app .ghost-race{gap:3px;width:100%;margin-bottom:6px;display:grid;position:relative}.app .ghost-race .ghost-line{background:#78788c33;border-radius:999px;height:5px;display:block;position:relative;overflow:hidden}.app .ghost-race .ghost-line>span{border-radius:inherit;transition:width 1s linear;position:absolute;inset:0 auto 0 0}.app .ghost-race .theirs>span{background:#a78bfa}.app .ghost-race .mine>span{background:var(--accent)}.app .ghost-race>small{color:var(--text-dim);text-align:center;font-size:11px;line-height:1.2}html[data-ring=snowflake] .app .puzzle-grid .cell.selected:before,.app .ring-sample.ring-snowflake:before{border:4px solid #7dd3fc;box-shadow:0 0 0 2px #ffffffd9,0 0 12px 3px #7dd3fcb3}.app .collection-card{background:var(--card,#78788c14);border-radius:16px;gap:8px;margin-top:16px;padding:14px;display:grid}.app .collection-card .section-title{margin:0}.app .collection-line{grid-template-columns:minmax(0,1fr) 90px 44px;align-items:center;gap:10px;font-size:14px;display:grid}.app .collection-bar{background:#78788c38;border-radius:999px;height:8px;display:block;overflow:hidden}.app .collection-bar>span{border-radius:inherit;background:var(--accent);height:100%;display:block}.app .collection-line strong{text-align:right;font-size:13px}.app .collection-sub{margin:8px 0 0;font-size:14px}.app .badge-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.app .badge-list li{align-items:center;gap:10px;font-size:14px;display:flex}.app .badge-list li.locked{opacity:.6}.app .badge-list small{color:var(--text-dim);font-size:12px;display:block}.app .badge-mark{text-align:center;width:22px}.app .collection-card,.app .collection-card .section-title,.app .collection-sub{text-align:left}.app .map-node.special-mirror{--special-ring:#a855f7}.app .puzzle-grid .cell.mirror-split{box-shadow:inset 3px 0 0 -1px #a855f7bf}.app .puzzle-grid .cell.mirror-mid{background-image:linear-gradient(#a855f724,#a855f724)}html[data-ring=duo] .app .puzzle-grid .cell.selected:before,.app .ring-sample.ring-duo:before{border:4px solid #22c55e;box-shadow:0 0 0 2px #a855f7b3,0 0 12px 2px #22c55e8c}.app .puzzle-grid .clue.clue-hidden{opacity:.55;border:1px dashed var(--text-dim,#888);background:0 0}.app .puzzle-grid .cell.by-friend.selected:before{border-color:#a855f7}.app .puzzle-grid .cell.by-friend.excluded{box-shadow:inset 0 0 0 2px #a855f759}.app .duo-code{letter-spacing:6px;text-align:center;margin:4px 0;font-size:34px;font-weight:800}.app .duo-sizes{justify-content:center;gap:8px;display:flex}.app .duo-says{text-align:center;gap:2px;min-height:20px;font-size:13px;display:grid}.app .duo-say{color:var(--accent);font-weight:700}.app .duo-chips{scrollbar-width:none;flex-wrap:nowrap;gap:6px;margin:4px 0;padding-bottom:2px;display:flex;overflow-x:auto}.app .duo-chip{border:1px solid var(--text-dim,#888);color:inherit;font:inherit;background:0 0;border-radius:999px;flex:none;padding:6px 12px;font-size:13px}.app .duo-chip.said{background:var(--accent);color:#fff;border-color:#0000}.app .section-tabs{scrollbar-width:none;overscroll-behavior-x:contain;gap:6px;margin:0 0 12px;padding:2px 1px 4px;display:flex;overflow-x:auto}.app .section-tabs::-webkit-scrollbar{display:none}.app .section-tab,.app .chip{border:1px solid var(--border);color:var(--text);font:inherit;white-space:nowrap;background:0 0;border-radius:999px;flex:none;padding:7px 14px;font-size:14px;line-height:1.2}.app .section-tab.active,.app .chip.active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent);font-weight:700}.app .section-tab-badge{background:var(--accent);color:#fff;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:11px}.app [hidden]{display:none!important}.app .friends-hub{gap:8px;display:grid}.app .hub-card{border:1px solid var(--border);background:var(--code-bg);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:14px;display:flex}.app .hub-main{gap:2px;min-width:0;display:grid}.app .hub-main small{color:var(--text-dim);font-size:13px}.app .friends-group{gap:14px;display:grid}.app .settings-screen{gap:14px}.app .settings-screen h1{font-size:26px}.app .switch-row{border-radius:12px;padding:10px 14px;font-size:14px}.app .settings-section .switch-row+.switch-row{margin-top:6px}.app .switch{width:40px;height:24px}.app .switch:after{width:18px;height:18px}.app .switch.on:after{transform:translate(16px)}.app .switch-label small{max-width:none;font-size:11.5px}.app .stats-list li{padding:10px 14px;font-size:14px}.app .theme-option{padding:8px 6px;font-size:12.5px}.app .settings-section .danger-button,.app .settings-section .cancel-button{border-radius:12px;padding:11px;font-size:14px}.app .section-tab{--tab-color:var(--accent);border:1.5px solid color-mix(in srgb, var(--tab-color) 45%, transparent);background:color-mix(in srgb, var(--tab-color) 14%, transparent);color:color-mix(in srgb, var(--tab-color) 72%, var(--text-h));padding:8px 16px;font-size:14.5px;font-weight:700}.app .section-tab.active{background:var(--tab-color);border-color:var(--tab-color);color:#fff;box-shadow:0 2px 8px color-mix(in srgb, var(--tab-color) 45%, transparent)}.app .section-tab-badge{color:var(--tab-color);background:#fff}.app .section-tab:not(.active) .section-tab-badge{background:var(--tab-color);color:#fff}.app .chip{border:1.5px solid var(--accent-border);background:var(--accent-bg);color:var(--accent);font-weight:700}.app .chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.app .hub-card{--hub-color:var(--accent);border:0;border-left:6px solid var(--hub-color);background:color-mix(in srgb, var(--hub-color) 13%, var(--code-bg))}.app .hub-main strong{color:color-mix(in srgb, var(--hub-color) 75%, var(--text-h));font-size:17px}.app .hub-card .row-arrow{color:var(--hub-color)}.app .section-tabs{z-index:20;background:var(--bg);margin-bottom:8px;padding-top:8px;padding-bottom:8px;position:sticky;top:0;box-shadow:0 6px 8px -8px #10182840}body.zen-mode .app{--accent:#3f8f73;--accent-light:#6bb89c;--accent-bg:#3f8f731f;--accent-border:#3f8f7361}body.zen-mode .app .friend-card{display:none}.app .zen-home{text-align:center;justify-items:center;gap:14px;width:min(100%,440px);margin:0 auto;padding:18px 4px 0;display:grid}.app .zen-home h1{letter-spacing:1px;color:var(--text-h);margin:0;font-size:30px}.app .zen-home p{color:var(--text);margin:0 0 4px;font-size:15px}.app .zen-home .play-card,.app .zen-home .zen-card{width:100%}.app .zen-card{border:1.5px solid var(--accent-border);background:var(--accent-bg);color:var(--text-h);font:inherit;cursor:pointer;border-radius:18px;gap:4px;padding:18px;display:grid}.app .zen-card strong{font-size:18px}.app .zen-card small{color:var(--text);font-size:13px}.app .zen-leave{margin-top:10px}.app .zen-orb{background:radial-gradient(circle at 35% 30%, var(--accent-light), var(--accent));opacity:.9;border-radius:50%;width:110px;height:110px}@media (prefers-reduced-motion:no-preference){.app .zen-orb{animation:8s ease-in-out infinite zen-breathe}}@keyframes zen-breathe{0%,to{opacity:.7;transform:scale(.82)}50%{opacity:1;transform:scale(1)}}.app .zen-home .play-card{background:linear-gradient(135deg,#5aa58a,#3f8f73);box-shadow:0 10px 24px #3f8f7347}.app .goals-screen .section-title,.app .settings-section h2{color:color-mix(in srgb, var(--screen-color,var(--accent)) 78%, var(--text-h));font-weight:800}.app .goals-screen .goal-section,.app .settings-screen .settings-section{background:color-mix(in srgb, var(--screen-color,var(--accent)) 8%, transparent);border:1px solid color-mix(in srgb, var(--screen-color,var(--accent)) 22%, transparent);border-radius:16px;padding:12px}.app .goals-screen .rank-card,.app .goals-screen .week-card{border-left:5px solid var(--screen-color,var(--accent))}.app .goals-screen .quest-claim:not(:disabled){background:var(--screen-color,var(--accent));color:#fff}body.zen-mode,body.zen-mode .app{background:color-mix(in srgb, #3f8f73 9%, var(--bg))}.app .versus-screen{height:100%;padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:6px;display:flex}.app .versus-side{border:2px solid #0000;border-radius:16px;flex-direction:column;flex:1 1 0;justify-content:space-between;align-items:center;gap:4px;width:100%;min-height:0;padding:6px;display:flex;container-type:size}.app .versus-side.player-1{background:color-mix(in srgb, #2563eb 12%, var(--bg));border-color:#2563eb66}.app .versus-side.player-2{background:color-mix(in srgb, #c2410c 12%, var(--bg));border-color:#c2410c66}.app .versus-side.flipped{transform:rotate(180deg)}.app .versus-side.won{box-shadow:0 0 0 3px #16a34a}.app .versus-side.lost{opacity:.6}.app .versus-bar{justify-content:space-between;align-items:center;gap:8px;width:100%;font-size:14px;display:flex}.app .versus-badge.win{color:#fff;background:#16a34a;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:800}.app .versus-board{aspect-ratio:1;width:min(100cqw - 12px,100cqh - 96px);position:relative}.app .versus-board .puzzle-grid{width:100%!important;max-width:none!important}.app .versus-mid{text-align:center;min-height:34px;color:var(--text);flex:none;justify-content:center;align-items:center;font-size:13px;display:flex;position:relative}.app .versus-count{color:var(--accent);font-size:34px}.app .versus-result{justify-items:center;gap:6px;padding:6px 0;display:grid}.app .versus-result strong{color:var(--text-h);font-size:20px}.app .versus-buttons{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.app .versus-leave{position:absolute;top:50%;left:0;transform:translateY(-50%)}.app .versus-bar{min-height:40px}.app .versus-tools{transform:none}.app .versus-tools .mode-btn{width:40px;height:34px}.app .versus-board{width:min(100cqw - 12px,100cqh - 52px)}.app .versus-mid{padding:0 44px}.app .fit-card{text-align:center;justify-items:center;gap:8px}.app .fit-step{color:var(--text-h);font-size:20px}.app .fit-skill{color:var(--accent);font-variant-numeric:tabular-nums;margin:0;font-size:34px;font-weight:800}.app .fit-pill{color:#fff;border-radius:999px;padding:4px 14px;font-size:14px;font-weight:800}.app .fit-pill.fit-right{background:#15803d}.app .fit-pill.fit-easy{background:#2563eb}.app .fit-pill.fit-stretch{background:#c2410c}.app .drill-line{background-image:linear-gradient(#2563eb29,#2563eb29);box-shadow:inset 0 0 0 2px #2563eb8c}.app .drill-question{color:var(--text-h);text-align:center;margin:2px 0;font-size:16px;font-weight:800}.app .drill-ok{background:var(--good-soft);color:var(--good);text-align:center;border-radius:12px;margin:0;padding:8px 10px;font-size:14px}.app .trick-list{gap:8px;display:grid}.app .trick-card{border:0;border-left:6px solid var(--accent);background:var(--code-bg);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.app .trick-card:nth-of-type(2){border-left-color:#15803d}.app .trick-card:nth-of-type(3){border-left-color:#c2410c}.app .trick-card:nth-of-type(4){border-left-color:#7c3aed}.app .trick-card:nth-of-type(5){border-left-color:#be185d}.app .trick-main{gap:2px;min-width:0;display:grid}.app .trick-main strong{color:var(--text-h);font-size:16px}.app .trick-main small{color:var(--text-dim);font-size:12.5px}.app .trick-stars{color:#d97706;letter-spacing:1px;white-space:nowrap}.app .league-card{--league-color:#6b7280}.app .league-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.app .league-badge{background:var(--league-color);color:#fff;border-radius:999px;padding:4px 16px;font-size:14px;font-weight:800}.app .league-steps{gap:4px;display:flex}.app .league-steps span{background:var(--border);border-radius:3px;flex:1;height:6px}.app .league-steps span.on{background:var(--league-color)}.app .league-table{gap:4px;margin:0;padding:0;list-style:none;display:grid}.app .league-row{background:var(--code-bg);border-radius:10px;grid-template-columns:22px 1fr auto auto;align-items:center;gap:8px;padding:8px 10px;font-size:14px;display:grid}.app .league-row.zone-up{background:var(--good-soft)}.app .league-row.zone-down{background:var(--bad-soft)}.app .league-row.me{box-shadow:inset 0 0 0 2px var(--league-color)}.app .league-rank{color:var(--text-dim);text-align:center;font-weight:700}.app .league-name{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.app .league-note{color:var(--text-dim);font-size:11.5px}.app .gallery{gap:10px;display:grid}.app .gallery-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.app .gallery-row{background:var(--code-bg);border-left:6px solid #0f766e;border-radius:14px;gap:6px;padding:12px;display:grid}.app .gallery-row.featured{background:color-mix(in srgb, #0f766e 14%, var(--code-bg));box-shadow:inset 0 0 0 2px #0f766e}.app .gallery-tag{color:#fff;background:#0f766e;border-radius:999px;justify-self:start;padding:2px 10px;font-size:11.5px;font-weight:800}.app .gallery-main{gap:2px;display:grid}.app .gallery-main strong{color:var(--text-h);font-size:16px}.app .gallery-main small{color:var(--text-dim)}.app .gallery-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.app .gallery-actions .home-cta{width:auto;min-width:96px;margin:0}.app .gallery-heart{border:1.5px solid var(--border);color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:8px 14px;font-weight:800}.app .gallery-heart.on{color:#fff;background:#be185d;border-color:#be185d}.app .gallery-heart:disabled{opacity:.5;cursor:default}.app .gallery-small{align-items:center;gap:10px;display:flex}.app .gallery-note{color:var(--accent)}.app .solver-card{border-left-color:#0f766e}.app .solver-sum{box-sizing:border-box;text-align:center;border:1.5px solid var(--accent-border);background:var(--accent-bg);width:100%;color:var(--accent);font:inherit;border-radius:8px;padding:0;font-weight:800}.app .solver-board .editor-sum{min-width:0}.app .duo-sizes{flex-wrap:wrap}.app .puzzle-grid .cell.negative{color:var(--bad)}.app .puzzle-grid .cell.negative.selected{color:inherit}.app .scan-photo{gap:10px;display:grid}.app .scan-stage{touch-action:none;background:#000;border-radius:10px;width:100%;max-height:62vh;position:relative;overflow:hidden}.app .scan-image{object-fit:contain;width:100%;height:100%;display:block}.app .scan-frame{border:2px solid var(--accent);box-sizing:border-box;cursor:move;touch-action:none;background:#7c3aed14;position:absolute}.app .scan-line{background:var(--accent);opacity:.8;pointer-events:none;position:absolute}.app .scan-line.v{width:1px;top:0;bottom:0}.app .scan-line.h{height:1px;left:0;right:0}.app .scan-handle{background:var(--accent);box-sizing:border-box;touch-action:none;border:3px solid #fff;border-radius:50%;width:30px;height:30px;position:absolute}.app .scan-handle.nw{top:-15px;left:-15px}.app .scan-handle.ne{top:-15px;right:-15px}.app .scan-handle.sw{bottom:-15px;left:-15px}.app .scan-handle.se{bottom:-15px;right:-15px}.app .scan-actions{flex-wrap:wrap;gap:8px;display:flex}.app .scan-actions .home-cta{flex:120px}.app .editor-cell.unsure,.app .editor-sum.unsure{outline-offset:-2px;outline:2px solid #f59e0b}.app .story-head{align-items:center;gap:12px;margin:6px 0 10px;display:flex}.app .story-head .section-title{margin:0}.app .pack-card.story .pack-head strong:before{content:""}.app .story-line{font-style:italic}.app .story-head svg{flex:none}.app .story-head>div{text-align:left;flex:1}.app .story-head .section-title{text-align:left}.app .calendar-best{text-align:center;color:var(--text);margin:6px 0 0;font-size:.9rem;font-weight:700}.app .earlier-worlds{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent);cursor:pointer;border-radius:999px;margin:4px auto 10px;padding:8px 16px;font-size:.9rem;font-weight:700;display:block}.app .map-node .node-best{color:var(--text);white-space:nowrap;font-size:11px;font-weight:700;position:absolute;top:50%;left:calc(100% + 6px);transform:translateY(-50%)}.app .map-path{padding-bottom:14px}.app .home-feature.wide{grid-column:1/-1}.app .home-gear{background:var(--clue-bg);width:34px;height:34px;color:var(--ink);cursor:pointer;border:0;border-radius:999px;place-items:center;padding:0;display:inline-grid}.app .home-gear .icon{width:19px;height:19px}.app .play-hub .home-top h1{font-size:26px}.app .game-screen:has(.puzzle-grid.wide){margin-inline:-12px;width:calc(100% + 24px)!important;max-width:504px!important}.app .game-screen:has(.puzzle-grid.wide) .puzzle-grid{max-width:504px!important}.app .pack-coin-buy{border:1.5px dashed color-mix(in srgb, var(--ink) 25%, transparent);width:calc(100% - 24px);color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;margin:0 12px 12px;padding:9px 14px;font-size:13.5px;font-weight:800;display:flex}.app .pack-coin-buy:disabled{opacity:.6;cursor:default}.app .pack-coin-buy small{color:var(--text);font-weight:700}.app .home-goals{background:var(--code-bg);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:20px;gap:10px;padding:14px 16px 16px;display:grid}.app .home-goals .section-title{margin:0}.app .home-goal-row{grid-template-columns:1fr auto;align-items:center;gap:4px 10px;display:grid}.app .home-goal-row.claimed{opacity:.55}.app .home-goal-title{min-width:0;font-size:14px;font-weight:800}.app .home-goal-side{color:var(--text);white-space:nowrap;font-size:12.5px;font-weight:800}.app .home-goal-row .quest-bar{grid-column:1/-1;display:block}.app .home-top{flex-wrap:wrap;row-gap:8px}.app .home-top h1{flex:none;min-width:auto}.app .home-top .home-chips{flex-wrap:nowrap;margin-left:auto}@media (width<=359px){.app .home-top .home-chips{gap:4px}.app .home-top .streak-chip{padding:6px 8px;font-size:11px}.app .home-top .plus-chip{padding:4px 8px;font-size:11px}.app .home-top .coin-chip{padding:4px 8px 4px 4px;font-size:13px}.app .home-top .home-gear{width:30px;height:30px}}.app .pack-card.tinted{background:color-mix(in srgb, hsl(var(--pack-hue) 78% 55%) 17%, var(--code-bg));box-shadow:inset 6px 0 0 hsl(var(--pack-hue) 68% 52%)}.app .pack-card.tinted .pack-main strong{color:var(--ink)}.app .pack-card.tinted:not(.locked) .pack-side{background:color-mix(in srgb, hsl(var(--pack-hue) 75% 50%) 24%, var(--bg));color:var(--ink)}.app .pack-card.tinted .pack-dot{background:color-mix(in srgb, hsl(var(--pack-hue) 75% 50%) 14%, var(--bg))}.app .pack-card.tinted .pack-dot.done{background:hsl(var(--pack-hue) 62% 40%);color:#fff}.app .pack-card.tinted .pack-bar span{background:hsl(var(--pack-hue) 68% 48%)}.app .season-cols{grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);align-items:stretch;gap:6px;display:grid}.app .season-row{display:contents}.app .season-col-head{text-align:center;letter-spacing:.06em;text-transform:uppercase;opacity:.8;font-size:12px;font-weight:800}.app .season-col-head.plus{color:#8a5a00}:root[data-theme=dark] .app .season-col-head.plus{color:#ffc928}.app .season-points{text-align:center;opacity:.6;align-self:center;font-size:13px}.app .season-points.reached{opacity:1}.app .season-tier .tier-icon{font-size:18px;line-height:1}.app .season-tier small{text-align:center;overflow-wrap:anywhere;font-size:11.5px;font-weight:700;line-height:1.2}.app .season-tier{padding:8px 4px}.app .season-tier.plus{background:#ffc92847;border-color:#ffc9288c}:root[data-theme=dark] .app .season-tier.plus{background:#ffc92829}.app .season-tier.plus.locked{opacity:.6}.app .season-tier.plus.ready{background:#fff7d6;border-color:#daa60b}.app{flex-direction:column;min-height:100svh;display:flex}.app-content{padding:28px 16px calc(88px + env(safe-area-inset-bottom,0px));text-align:center;flex-direction:column;flex:auto;align-items:center;gap:18px;display:flex}.bottom-nav{padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));background:var(--bg);border-top:1px solid var(--border);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #140f1f0f}.nav-item{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:10px;flex-direction:column;flex:1 1 0;align-items:center;gap:2px;padding:6px 4px;transition:color .15s,transform .1s;display:flex}.nav-item:active{transform:scale(.94)}.nav-item.active{color:var(--accent)}.nav-icon{width:23px;height:23px}.nav-label{font-size:11px;font-weight:600}.icon{flex-shrink:0;width:1em;height:1em}.home-screen{flex-direction:column;align-items:center;gap:20px;width:100%;max-width:420px;padding-top:24px;display:flex}.daily-status-dot{background:var(--border);width:28px;height:28px;color:var(--text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:flex}.daily-status.complete .daily-status-dot{background:var(--good-soft);color:var(--good)}.home-cta{font:inherit;cursor:pointer;border:none;border-radius:14px;padding:16px;font-size:16px;font-weight:700;transition:transform .12s,opacity .12s}.home-cta:active{transform:scale(.97)}.home-cta.primary{background:linear-gradient(135deg, var(--accent-light), var(--accent));color:#fff;box-shadow:var(--shadow-md)}.home-cta.primary:hover{opacity:.92}.home-cta.secondary{background:var(--code-bg);color:var(--text-h);border:1.5px solid var(--border)}.settings-screen{text-align:left;flex-direction:column;gap:24px;width:100%;max-width:420px;display:flex}.settings-screen h1{text-align:center}.settings-section{flex-direction:column;gap:10px;display:flex}.settings-section h2{color:var(--text);text-transform:uppercase;letter-spacing:.4px;margin:0;font-size:15px;font-weight:700}.theme-picker{background:var(--code-bg);border-radius:14px;gap:8px;padding:4px;display:flex}.theme-option{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:10px;flex-direction:column;flex:1 1 0;align-items:center;gap:4px;padding:10px 6px;font-size:13px;font-weight:600;transition:background .15s,color .15s,transform .1s;display:flex}.theme-option .icon{width:20px;height:20px}.theme-option:active{transform:scale(.95)}.theme-option.active{background:var(--bg);color:var(--accent);box-shadow:var(--shadow-sm)}.stats-list{background:var(--code-bg);border-radius:14px;flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.stats-list li{color:var(--text-h);border-bottom:1px solid var(--border);justify-content:space-between;padding:12px 14px;font-weight:600;display:flex}.stats-list li:last-child{border-bottom:none}.stats-list li span:first-child{color:var(--text);font-weight:400}.danger-button{font:inherit;border:1.5px solid var(--bad);background:var(--bad-soft);color:var(--bad);cursor:pointer;border-radius:12px;padding:12px 16px;font-weight:600;transition:transform .12s}.danger-button:active{transform:scale(.97)}.confirm-row{background:var(--bad-soft);border-radius:14px;flex-direction:column;gap:10px;padding:14px;display:flex}.confirm-row p{color:var(--text-h);margin:0;font-size:14px}.confirm-buttons{gap:10px;display:flex}.cancel-button{font:inherit;border:1.5px solid var(--border);background:var(--bg);color:var(--text-h);cursor:pointer;border-radius:12px;padding:12px 16px;font-weight:600}.game-screen{flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}.game-topbar{justify-content:space-between;align-items:center;width:100%;max-width:500px;display:flex}.game-heading{flex-direction:column;align-items:center;gap:1px;display:flex}.game-title{color:var(--text-h);font-weight:700}.game-heading small{color:var(--text-dim);font-size:12px}@keyframes session-flash{0%,to{color:var(--text)}30%{color:var(--bad)}}.lives.lives-hit{animation:.4s cell-shake}.icon-button{width:40px;height:40px;color:var(--text-h);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:20px;transition:opacity .15s,transform .1s;display:flex}.icon-button:hover{opacity:.7}.icon-button:active{transform:scale(.88)}.game-card{background:0 0;flex-direction:column;align-items:center;gap:18px;width:100%;max-width:500px;padding:4px 0 24px;display:flex;position:relative;overflow:hidden}.confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti-piece{opacity:0;font-size:22px;animation-name:confetti-fall;animation-timing-function:ease-in;animation-fill-mode:forwards;position:absolute;top:-8%}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(420px)rotate(360deg)}}.lives{gap:3px;display:inline-flex}.life{width:19px;height:19px;color:var(--border);transition:color .2s ease, transform .25s var(--ease-bounce)}.life.full{color:var(--bad)}@keyframes banner-in{0%{opacity:0;transform:scale(.9)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}.puzzle-grid{border-radius:12px;gap:0;width:min(100%,460px);margin:0 auto;display:grid;overflow:hidden}.corner,.cell,.clue{aspect-ratio:1;width:100%;min-width:0;min-height:0}.clue,.corner{margin:2px}.cell{font-variant-numeric:tabular-nums;border-style:solid;border-width:var(--region-top,1px) var(--region-right,1px) var(--region-bottom,1px) var(--region-left,1px);border-color:var(--region-top-color,var(--border)) var(--region-right-color,var(--border)) var(--region-bottom-color,var(--border)) var(--region-left-color,var(--border));background:hsl(var(--region-hue,0) var(--region-sat) var(--region-light));color:var(--text-h);cursor:pointer;transition:border-radius .22s var(--ease-bounce), background .15s ease, color .15s ease, transform .18s var(--ease-bounce);border-radius:0;outline:none;margin:0;padding:0;font-size:clamp(14px,4.2vw,22px);font-weight:700;position:relative}.puzzle-grid.classic .cell{background:var(--bg)}.cell:focus-visible{box-shadow:inset 0 0 0 2px var(--accent);z-index:1}.region-badge{color:var(--text-h);pointer-events:none;font-size:clamp(9px,.42em,12px);font-weight:800;line-height:1;position:absolute;top:2px;left:3px}:root[data-theme=dark] .region-badge{color:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .region-badge{color:#fff}}.cell:hover:not(:disabled){border-color:var(--accent-border)}.cell:active:not(:disabled){transform:scale(.93)}.cell.selected{z-index:1;border-color:var(--accent);background:var(--accent-bg);color:var(--accent);border-radius:50%;transform:scale(1.04)}.cell.selected:active{transform:scale(.97)}.cell.excluded{border-style:dashed;border-color:var(--border);background:var(--code-bg);color:#0000;transform:scale(.9)}.cell.wrong{z-index:1;border-color:var(--bad);background:var(--bad-soft);color:var(--bad);animation:.4s cell-shake}@keyframes cell-shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(3px)}30%,50%,70%{transform:translate(-5px)}40%,60%{transform:translate(5px)}}.cell:disabled{cursor:default}.clue{font-variant-numeric:tabular-nums;color:var(--text);background:var(--code-bg);border-radius:10px;justify-content:center;align-items:center;font-size:clamp(12px,3.4vw,17px);font-weight:700;transition:background .2s,color .2s;display:flex}.clue.status-done{color:var(--good);background:var(--good-soft)}.clue.status-invalid{color:var(--bad);background:var(--bad-soft)}
