:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none;color-scheme:light;--bg:#f3f5f8;--surface:#fff;--surface-2:#f7f9fc;--surface-3:#eef2f7;--ink:#111827;--ink-soft:#344054;--muted:#667085;--faint:#98a2b3;--line:#dce2ea;--line-strong:#cbd3df;--accent:#2457c5;--accent-strong:#1746a1;--accent-soft:#e8f0ff;--danger:#b42338;--danger-soft:#fff0f2;--success:#147a55;--success-soft:#e9f7ef;--warm:#8a5c22;--shadow:0 20px 70px rgba(15,23,42,.09);--shadow-soft:0 8px 30px rgba(15,23,42,.06);--radius:24px}html[data-theme="dark"]{color-scheme:dark;--bg:#0d1118;--surface:#151b24;--surface-2:#1b2330;--surface-3:#222c3a;--ink:#f8fafc;--ink-soft:#d0d5dd;--muted:#98a2b3;--faint:#667085;--line:#2b3544;--line-strong:#3a4658;--accent:#7aa2ff;--accent-strong:#a7c0ff;--accent-soft:#1c2e54;--danger:#ff8998;--danger-soft:#351b22;--success:#75d6ad;--success-soft:#16382d;--shadow:0 24px 80px rgba(0,0,0,.28);--shadow-soft:0 10px 35px rgba(0,0,0,.2)}html[data-theme="warm"]{color-scheme:light;--bg:#f3eee5;--surface:#fffaf2;--surface-2:#f7f0e6;--surface-3:#eee4d6;--ink:#2c241d;--ink-soft:#51453a;--muted:#74685c;--faint:#9a8a7b;--line:#dfd3c4;--line-strong:#cdbba5;--accent:#79593b;--accent-strong:#5e432c;--accent-soft:#eee1d2;--danger:#9d3b3b;--danger-soft:#f9e8e5;--success:#467153;--success-soft:#e7efe6;--shadow:0 20px 70px rgba(83,60,35,.1);--shadow-soft:0 8px 30px rgba(83,60,35,.07)}@media(prefers-color-scheme:dark){html[data-theme="system"]{color-scheme:dark;--bg:#0d1118;--surface:#151b24;--surface-2:#1b2330;--surface-3:#222c3a;--ink:#f8fafc;--ink-soft:#d0d5dd;--muted:#98a2b3;--faint:#667085;--line:#2b3544;--line-strong:#3a4658;--accent:#7aa2ff;--accent-strong:#a7c0ff;--accent-soft:#1c2e54;--danger:#ff8998;--danger-soft:#351b22;--success:#75d6ad;--success-soft:#16382d;--shadow:0 24px 80px rgba(0,0,0,.28);--shadow-soft:0 10px 35px rgba(0,0,0,.2)}}*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;background:radial-gradient(circle at 15% 0,color-mix(in srgb,var(--surface) 80%,transparent) 0,var(--bg) 48%);color:var(--ink);transition:background .2s,color .2s}button,select,input{font:inherit}button{touch-action:manipulation}.app-shell{width:min(1180px,calc(100% - 30px));margin:0 auto;padding:18px 0 44px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 0 18px}.brand,.brand-button{display:flex;align-items:center;gap:10px;font-weight:850;color:inherit;font-size:1.08rem;letter-spacing:-.02em}.brand-button{border:0;background:transparent;cursor:pointer;padding:0}.brand-grid{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--ink);color:var(--surface);font-weight:900}.top-actions{display:flex;align-items:center;gap:9px}.platform-status,.mode-badge,.top-pill{font-size:.72rem;padding:7px 10px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 88%,transparent);border-radius:999px;color:var(--muted);white-space:nowrap}.platform-status[data-ok="true"]{color:var(--success);border-color:color-mix(in srgb,var(--success) 25%,var(--line))}.top-pill{display:flex;gap:6px;align-items:center;cursor:pointer;color:var(--ink-soft)}.icon-button,.subtle-button,.close-button,.text-button,.back-button{border:0;background:transparent;color:inherit;cursor:pointer}.icon-button{width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:var(--surface);font-size:1.05rem}.eyebrow{margin:0 0 6px;font-size:.67rem;letter-spacing:.16em;font-weight:850;color:var(--faint)}.primary-button,.secondary-button{border:0;border-radius:13px;font-weight:800;cursor:pointer;padding:13px 17px}.primary-button{background:var(--ink);color:var(--surface)}.secondary-button{background:var(--surface);border:1px solid var(--line-strong);color:var(--ink)}.primary-button.compact{width:auto;padding:11px 17px}.hero-card{display:grid;grid-template-columns:1.4fr .65fr;gap:28px;align-items:center;padding:clamp(25px,5vw,50px);border:1px solid var(--line);border-radius:32px;background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--accent-soft) 43%,var(--surface)));box-shadow:var(--shadow);overflow:hidden}.hero-copy h1{font-size:clamp(2.3rem,6vw,5rem);line-height:.96;letter-spacing:-.065em;margin:0;max-width:850px}.hero-copy h1 span{color:var(--accent)}.hero-sub{max-width:650px;font-size:clamp(.95rem,2vw,1.15rem);line-height:1.6;color:var(--muted);margin:18px 0 24px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.hero-play{min-width:160px}.hero-progress{justify-self:end;display:flex;flex-direction:column;align-items:center;gap:18px;min-width:190px}.level-orb{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;align-content:center;background:var(--ink);color:var(--surface);box-shadow:0 18px 45px color-mix(in srgb,var(--ink) 20%,transparent)}.level-orb span{font-size:.62rem;letter-spacing:.16em;opacity:.68}.level-orb strong{font-size:3.3rem;line-height:1}.progress-copy{width:100%;text-align:center;display:flex;flex-direction:column;gap:5px}.progress-copy strong{font-size:.86rem}.progress-copy span{font-size:.68rem;color:var(--muted)}.progress-track{height:7px;border-radius:999px;background:var(--surface-3);overflow:hidden}.progress-track i{display:block;height:100%;width:0;background:var(--accent);border-radius:inherit;transition:width .35s ease}.continue-card{margin-top:16px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft)}.continue-card[hidden]{display:none}.continue-card h2{margin:0;font-size:1.12rem}.continue-card p:last-child{margin:5px 0 0;font-size:.75rem;color:var(--muted)}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.mode-card{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:20px;text-align:left;display:grid;grid-template-columns:auto 1fr;gap:13px;cursor:pointer;color:inherit;box-shadow:var(--shadow-soft);position:relative;min-height:135px}.mode-card:hover{border-color:var(--line-strong);transform:translateY(-1px)}.mode-card>span:nth-child(2){display:flex;flex-direction:column;gap:5px}.mode-card strong{font-size:1rem}.mode-card small{font-size:.74rem;line-height:1.45;color:var(--muted)}.mode-card b{position:absolute;right:17px;bottom:15px;font-size:.68rem;color:var(--accent)}.mode-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:900}.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}.dashboard-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:17px;color:inherit;text-align:left;box-shadow:var(--shadow-soft);min-height:125px}.dashboard-action{cursor:pointer}.metric-line{display:flex;align-items:baseline;gap:7px}.metric-line strong{font-size:2rem;letter-spacing:-.04em}.metric-line span{font-size:.7rem;color:var(--muted)}.dashboard-card>p:last-child{font-size:.7rem;color:var(--muted);margin:9px 0 0;line-height:1.4}.game-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.back-button{font-size:.8rem;font-weight:750;padding:7px 0}.game-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(230px,1fr);gap:18px;align-items:start}.game-main,.game-controls{background:color-mix(in srgb,var(--surface) 96%,transparent);border:1px solid var(--line);border-radius:25px;box-shadow:var(--shadow)}.game-main{padding:clamp(16px,3vw,28px)}.game-controls{padding:18px;position:sticky;top:18px}.game-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px}.game-heading h1,.modal-card h2{margin:0;letter-spacing:-.035em}.game-heading h1{font-size:clamp(1.45rem,3vw,2rem)}.muted{color:var(--faint)}.subtle-button{padding:9px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);font-weight:750}.intelligence-meta{margin:4px 0 0;font-size:.7rem;line-height:1.35;color:var(--muted)}.game-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.game-stats div,.result-grid div{display:flex;flex-direction:column;gap:2px;padding:9px 11px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px}.game-stats span,.result-grid span{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);font-weight:750}.game-stats strong{font-size:.9rem}.game-stats .stat-hidden{display:none}.board-wrap{position:relative;width:min(100%,650px);margin:0 auto}.sudoku-board{display:grid;width:100%;aspect-ratio:1;border:2px solid var(--ink);background:var(--ink);gap:1px;box-shadow:0 8px 26px color-mix(in srgb,var(--ink) 12%,transparent);user-select:none;-webkit-user-select:none}.cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0;padding:0;border:0;background:var(--surface);color:var(--accent);cursor:pointer;border-radius:0;outline:none}.cell.box-right{border-right:2px solid var(--ink)}.cell.box-bottom{border-bottom:2px solid var(--ink)}.cell.peer{background:var(--surface-3)}.cell.same{background:var(--accent-soft)}.cell.selected{background:color-mix(in srgb,var(--accent-soft) 75%,var(--surface));box-shadow:inset 0 0 0 2px var(--accent);z-index:2}.cell.given{color:var(--ink)}.cell.error{background:var(--danger-soft);color:var(--danger)}.cell.unit-complete{animation:unitPulse .52s ease}.cell:focus-visible{z-index:3;box-shadow:inset 0 0 0 3px var(--accent)}.cell-value{font-size:clamp(1rem,5.2vw,2.35rem);font-weight:580;line-height:1}.cell.given .cell-value{font-weight:780}.cell-notes{position:absolute;inset:3px;display:grid;align-items:center;justify-items:center;color:color-mix(in srgb,var(--accent) 70%,var(--muted));font-size:clamp(.42rem,1.65vw,.78rem);line-height:1;font-weight:650}.sudoku-board.paused .cell>*{visibility:hidden}.pause-overlay{position:absolute;inset:0;width:100%;border:0;background:color-mix(in srgb,var(--surface) 96%,transparent);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;cursor:pointer;color:var(--ink-soft);z-index:8}.pause-overlay[hidden]{display:none}.pause-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--ink);color:var(--surface);padding-left:4px;font-size:1.25rem}.pause-overlay strong{font-size:1.15rem}.pause-overlay small{color:var(--muted)}.celebration-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden;z-index:9}.confetti{position:absolute;top:45%;left:50%;width:7px;height:12px;border-radius:3px;background:var(--accent);animation:confettiBurst .9s ease-out forwards;transform:translate(-50%,-50%) rotate(var(--r));}.confetti:nth-child(3n){background:var(--success)}.confetti:nth-child(3n+2){background:var(--warm)}.number-pad{display:grid;grid-template-columns:repeat(var(--board-size,9),1fr);gap:6px;width:min(100%,650px);margin:13px auto 0}.number-key{height:58px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--accent);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.number-key:hover:not(:disabled){background:var(--accent-soft);border-color:var(--line-strong)}.number-key.locked{background:var(--accent);color:var(--surface);border-color:var(--accent)}.number-key:disabled{opacity:.28;cursor:default}.number-key strong{font-size:1.25rem}.number-key span{font-size:.57rem;opacity:.68}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.control{min-height:78px;padding:11px 8px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);color:var(--ink-soft);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.control:hover:not(:disabled){border-color:var(--line-strong)}.control.active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 35%,var(--line));color:var(--accent-strong)}.control:disabled{opacity:.4;cursor:default}.control>span{font-size:1rem;font-weight:800}.control>strong{font-size:.73rem}.control>small{font-size:.64rem;font-weight:850}.pause-button{width:100%;border:0;border-radius:13px;background:var(--ink);color:var(--surface);font-weight:800;cursor:pointer;padding:12px;margin-top:9px}.keyboard-help{margin-top:14px;border-top:1px solid var(--line);padding-top:13px;display:flex;flex-direction:column;gap:4px}.keyboard-help strong{font-size:.75rem}.keyboard-help span{font-size:.68rem;line-height:1.5;color:var(--muted)}.modal{border:0;padding:0;background:transparent;max-width:none}.modal::backdrop{background:rgba(15,23,42,.56);backdrop-filter:blur(4px)}.modal-card{width:min(460px,calc(100vw - 28px));max-height:min(88vh,860px);overflow:auto;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:22px;padding:23px;box-shadow:0 30px 90px rgba(10,20,35,.26);margin:0}.wide-card{width:min(650px,calc(100vw - 28px))}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.modal-card h2{font-size:1.55rem}.close-button{font-size:1.65rem;line-height:1;width:34px;height:34px;border-radius:9px}.close-button:hover{background:var(--surface-3)}.field{display:flex;flex-direction:column;gap:6px;margin:12px 0}.field>span{font-size:.78rem;font-weight:750}.field select{width:100%;padding:11px;border:1px solid var(--line-strong);border-radius:11px;background:var(--surface);color:var(--ink)}.toggle{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}.toggle>span{display:flex;flex-direction:column;gap:3px}.toggle strong{font-size:.85rem}.toggle small{font-size:.7rem;line-height:1.35;color:var(--muted)}.toggle input{width:19px;height:19px;accent-color:var(--accent);flex:0 0 auto}.modal-note{font-size:.72rem;line-height:1.5;color:var(--muted);background:var(--surface-2);border-radius:11px;padding:10px 12px}.modal-note.plain{background:transparent;padding:0;margin:8px 0 18px}.primary-button:disabled{opacity:.55;cursor:progress}.mode-switch{display:grid;grid-template-columns:1fr 1fr;padding:3px;background:var(--surface-3);border-radius:11px}.mode-switch button{border:0;border-radius:9px;background:transparent;padding:9px;cursor:pointer;color:var(--muted);font-weight:750}.mode-switch button.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-soft)}.onboarding-card{text-align:center}.onboard-mark{width:66px;height:66px;border-radius:20px;display:grid;place-items:center;margin:0 auto 17px;background:var(--ink);color:var(--surface);font-size:1.8rem;font-weight:900}.choice-card{width:100%;display:flex;flex-direction:column;gap:4px;text-align:left;padding:14px 15px;margin-top:8px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);color:inherit;cursor:pointer}.choice-card:hover{border-color:var(--accent)}.choice-card strong{font-size:.9rem}.choice-card span{font-size:.72rem;color:var(--muted)}.completion-card{text-align:center}.trophy{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:var(--success-soft);color:var(--success);font-weight:900;font-size:1.8rem}.completion-message{font-size:.8rem;color:var(--muted);margin:7px 0 3px}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0 12px}.result-grid strong{font-size:1.1rem}.completion-progress{padding:12px;background:var(--surface-2);border-radius:13px;text-align:left}.completion-progress>div{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;font-size:.76rem}.completion-progress strong{color:var(--accent)}.unlock-banner{margin-top:10px;padding:11px;border-radius:12px;background:var(--accent-soft);color:var(--accent-strong);font-size:.75rem;font-weight:750}.text-button{margin-top:10px;font-size:.78rem;font-weight:750;color:var(--muted);padding:8px}.text-button:hover{text-decoration:underline}.stat-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stat-tiles div{background:var(--surface-2);border:1px solid var(--line);border-radius:13px;padding:12px;display:flex;flex-direction:column;gap:3px}.stat-tiles strong{font-size:1.35rem}.stat-tiles span{font-size:.62rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.level-panel{margin:12px 0;padding:13px;background:var(--surface-2);border-radius:13px}.level-panel>div:first-child{display:flex;justify-content:space-between;margin-bottom:8px;font-size:.78rem}.level-panel small{display:block;margin-top:6px;color:var(--muted);font-size:.66rem}.section-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:18px 0 8px}.difficulty-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.difficulty-row,.recent-row{display:flex;justify-content:space-between;gap:10px;padding:10px 11px;background:var(--surface-2);border-radius:10px;font-size:.72rem}.difficulty-row span:last-child,.recent-row span:last-child{color:var(--muted)}.recent-list{display:flex;flex-direction:column;gap:6px}.empty-state{padding:15px;background:var(--surface-2);border-radius:11px;color:var(--muted);font-size:.75rem;text-align:center}.achievement-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.achievement-item{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}.achievement-item.locked{opacity:.52}.achievement-dot{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:var(--surface-3);font-weight:900}.achievement-item.unlocked .achievement-dot{background:var(--success-soft);color:var(--success)}.achievement-item strong{display:block;font-size:.78rem;margin-bottom:2px}.achievement-item small{font-size:.66rem;line-height:1.35;color:var(--muted)}@keyframes unitPulse{0%,100%{filter:none}45%{filter:brightness(.92);box-shadow:inset 0 0 0 2px var(--success)}}@keyframes confettiBurst{from{opacity:1;transform:translate(-50%,-50%) rotate(var(--r))}to{opacity:0;transform:translate(var(--x),var(--y)) rotate(calc(var(--r) + 220deg))}}@media(max-width:900px){.hero-card{grid-template-columns:1fr}.hero-progress{justify-self:start;flex-direction:row;min-width:0;width:min(100%,430px)}.level-orb{width:100px;height:100px;flex:0 0 100px}.level-orb strong{font-size:2.2rem}.progress-copy{text-align:left}.dashboard-grid{grid-template-columns:1fr 1fr}.game-layout{grid-template-columns:1fr}.game-controls{position:static;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:stretch}.control-grid{grid-template-columns:repeat(6,1fr);grid-column:1/-1}.control{min-height:66px}.pause-button{margin:0;width:130px}.keyboard-help{margin:0;padding:8px 0 8px 12px;border-top:0;border-left:1px solid var(--line)}}@media(max-width:700px){.mode-grid{grid-template-columns:1fr}.mode-card{min-height:100px}.hero-card{border-radius:24px}.hero-copy h1{font-size:clamp(2.2rem,11vw,4.2rem)}.achievement-list{grid-template-columns:1fr}}@media(max-width:650px){.app-shell{width:100%;padding:0 0 max(16px,env(safe-area-inset-bottom))}.topbar{padding:12px 14px}.platform-status{display:none}.home-view{padding:0 12px}.hero-card{padding:24px 20px}.hero-progress{display:none}.dashboard-grid{grid-template-columns:1fr 1fr}.game-view{padding:0}.game-nav{padding:0 14px}.game-main,.game-controls{border-radius:0;border-left:0;border-right:0;box-shadow:none}.game-main{padding:14px}.game-layout{gap:8px}.game-heading{margin-bottom:10px}.game-stats{margin-bottom:10px}.board-wrap,.number-pad{width:100%}.number-pad{gap:4px}.number-key{height:52px;border-radius:9px}.game-controls{padding:10px 12px;display:block}.control-grid{grid-template-columns:repeat(6,1fr);gap:5px}.control{min-height:58px;border-radius:10px;padding:7px 2px}.control>span{font-size:.73rem}.control>strong{font-size:.59rem}.control>small{font-size:.54rem}.pause-button{width:100%;margin-top:7px}.keyboard-help{display:none}.cell-value{font-size:clamp(1rem,6.6vw,2.1rem)}.cell-notes{font-size:clamp(.37rem,2.1vw,.68rem)}.stat-tiles{grid-template-columns:1fr 1fr}}@media(max-width:420px){.top-pill span{display:none}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.hero-actions button{padding:12px 8px}.dashboard-grid{grid-template-columns:1fr}.continue-card{align-items:flex-start}.difficulty-stats{grid-template-columns:1fr}.result-grid{grid-template-columns:1fr 1fr}.result-grid div:last-child{grid-column:1/-1}.game-stats div{padding:7px 8px}.game-stats strong{font-size:.82rem}.number-key{height:47px}.number-key strong{font-size:1.1rem}.control-grid{grid-template-columns:repeat(3,1fr)}.control{min-height:54px}.game-heading h1{font-size:1.3rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.confetti{display:none!important}}

/* Phase 5 — Coach + Sudoku Academy */
@media(min-width:701px){.mode-grid{grid-template-columns:repeat(4,1fr)}}
.academy-view{padding-bottom:20px}.academy-hero{display:grid;grid-template-columns:1.35fr .5fr;gap:24px;align-items:center;padding:clamp(24px,4vw,42px);border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--accent-soft) 48%,var(--surface)));box-shadow:var(--shadow)}.academy-hero h1{margin:0;font-size:clamp(2rem,5vw,4.3rem);line-height:.98;letter-spacing:-.055em}.academy-hero h1 span{color:var(--accent)}.academy-hero p:last-child{max-width:700px;color:var(--muted);line-height:1.6;margin:16px 0 0}.academy-score{justify-self:end;width:158px;height:158px;border-radius:50%;background:var(--ink);color:var(--surface);display:grid;place-items:center;align-content:center;text-align:center;box-shadow:0 18px 45px color-mix(in srgb,var(--ink) 18%,transparent)}.academy-score span{font-size:.6rem;letter-spacing:.16em;opacity:.7}.academy-score strong{font-size:2.7rem;letter-spacing:-.05em}.academy-score small{font-size:.65rem;opacity:.72}.academy-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}.academy-summary article{padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-soft);display:flex;justify-content:space-between;align-items:baseline}.academy-summary span{font-size:.7rem;color:var(--muted)}.academy-summary strong{font-size:1.05rem}.technique-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.technique-card{padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow-soft)}.technique-card h2{margin:14px 0 6px;font-size:1.16rem}.technique-card>p{margin:0 0 15px;color:var(--muted);font-size:.78rem;line-height:1.5}.technique-top,.technique-mastery,.lesson-progress-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.technique-symbol{width:40px;height:40px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:900}.technique-rank{font-size:.64rem;font-weight:800;letter-spacing:.08em;color:var(--faint);text-transform:uppercase}.technique-mastery{font-size:.69rem;margin-bottom:7px;color:var(--muted)}.technique-mastery strong{color:var(--ink)}.technique-actions{display:flex;gap:8px;margin-top:14px}.technique-actions button{flex:1;padding:10px 12px}.coach-control{border-color:color-mix(in srgb,var(--accent) 22%,var(--line));background:color-mix(in srgb,var(--accent-soft) 45%,var(--surface-2))}.cell.coach-focus{background:color-mix(in srgb,var(--accent-soft) 80%,var(--surface));box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 70%,transparent);z-index:2}.cell.coach-eliminate{background:color-mix(in srgb,var(--danger-soft) 76%,var(--surface));box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--danger) 55%,transparent)}.coach-card{width:min(560px,calc(100vw - 28px))}.coach-stage-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:8px 0 18px}.coach-stage-strip span{font-size:.58rem;text-align:center;padding:7px 3px;border-radius:999px;background:var(--surface-3);color:var(--faint);font-weight:800}.coach-stage-strip span.active{background:var(--ink);color:var(--surface)}.coach-stage-strip span.seen{background:var(--accent-soft);color:var(--accent)}.coach-technique{display:flex;align-items:center;gap:10px;margin:4px 0 12px}.coach-technique>span{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:.68rem;font-weight:900}.coach-technique strong{font-size:.92rem}.coach-copy{font-size:1.02rem;line-height:1.65;margin:0;padding:16px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line)}.coach-integrity{font-size:.7rem;line-height:1.5;color:var(--warm);padding:10px 12px;border-radius:11px;background:color-mix(in srgb,var(--surface-2) 70%,var(--accent-soft));border:1px solid var(--line)}.coach-actions{display:flex;justify-content:space-between;gap:10px;margin-top:16px}.coach-actions button{flex:1}.lesson-summary{font-size:1.02rem;line-height:1.55;color:var(--ink-soft);margin:0 0 16px}.lesson-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lesson-two-col section,.academy-quiz{padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--surface-2)}.lesson-two-col h3,.academy-quiz h3{font-size:.86rem;margin:0 0 7px}.lesson-two-col p{font-size:.76rem;line-height:1.55;color:var(--muted);margin:0}.academy-quiz{margin:12px 0}.academy-quiz h3{font-size:.95rem}.quiz-options{display:grid;gap:7px;margin-top:11px}.quiz-option{padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left;cursor:pointer;font-size:.78rem}.quiz-option:hover:not(:disabled){border-color:var(--line-strong)}.quiz-option.correct{border-color:color-mix(in srgb,var(--success) 55%,var(--line));background:var(--success-soft);color:var(--success)}.quiz-option.wrong{border-color:color-mix(in srgb,var(--danger) 55%,var(--line));background:var(--danger-soft);color:var(--danger)}.quiz-feedback{min-height:18px;margin:9px 0 0;font-size:.7rem;color:var(--muted)}.quiz-feedback[data-ok="true"]{color:var(--success)}.quiz-feedback[data-ok="false"]{color:var(--danger)}.lesson-progress-row{margin:14px 0}.lesson-progress-row .progress-track{flex:1}.lesson-progress-row span,.lesson-progress-row strong{font-size:.7rem}.lesson-card>.primary-button{width:100%}
@media(max-width:900px){.academy-hero{grid-template-columns:1fr}.academy-score{justify-self:start;width:110px;height:110px}.academy-score strong{font-size:2rem}.control-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){.technique-grid{grid-template-columns:1fr}.academy-summary{grid-template-columns:1fr}.academy-hero{border-radius:22px}.lesson-two-col{grid-template-columns:1fr}.coach-stage-strip span{font-size:.52rem}.mode-grid{grid-template-columns:1fr}}
@media(max-width:650px){.academy-view{padding:0 12px}.academy-hero{padding:22px 18px}.academy-hero h1{font-size:clamp(2rem,10vw,3.6rem)}.academy-score{display:none}.technique-actions{flex-direction:column}.control-grid{grid-template-columns:repeat(4,1fr)}.coach-actions{flex-direction:column}.coach-stage-strip{gap:3px}}

/* Phase 6 — Variants + Advanced Game Modes */
@media(min-width:901px){.mode-grid{grid-template-columns:repeat(3,1fr)}}
.variant-mode-card .mode-icon,.variant-speed-card .mode-icon{background:color-mix(in srgb,var(--success-soft) 75%,var(--surface));color:var(--success)}
.variant-picker{width:min(850px,calc(100vw - 28px))}.variant-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:10px 0 15px}.variant-choice{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:15px;padding:13px;text-align:left;cursor:pointer;display:grid;grid-template-columns:34px 1fr;gap:3px 9px;align-items:center}.variant-choice>span{grid-row:1/3;width:34px;height:34px;border-radius:10px;background:var(--surface-3);display:grid;place-items:center;color:var(--accent);font-weight:900}.variant-choice strong{font-size:.78rem}.variant-choice small{grid-column:2;font-size:.62rem;line-height:1.35;color:var(--muted)}.variant-choice.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.variant-picker-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.variant-selection-note{font-size:.72rem;line-height:1.55;color:var(--muted);padding:12px 13px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);margin:10px 0 14px}.variant-rule-symbol{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:1.55rem;font-weight:900;margin:5px 0 12px}.variant-rule-tagline{font-size:.9rem;line-height:1.55;color:var(--ink-soft)}.variant-rule-list{margin:12px 0 18px;padding-left:22px;color:var(--muted);font-size:.78rem;line-height:1.65}.variant-rules-control{border-color:color-mix(in srgb,var(--success) 25%,var(--line));background:color-mix(in srgb,var(--success-soft) 55%,var(--surface-2))}.variant-target-stat[hidden]{display:none!important}.variant-target-stat .over-target{color:var(--danger)}
.board-wrap[data-variant="sandwich"]{padding:28px 0 0 28px;width:min(100%,680px)}.variant-clues{position:absolute;pointer-events:none;color:var(--ink-soft);font-weight:850;font-size:clamp(.58rem,1.5vw,.78rem);z-index:6}.sandwich-top{left:28px;right:0;top:2px;height:25px}.sandwich-top span{position:absolute;transform:translateX(-50%);top:4px}.sandwich-left{left:0;top:28px;bottom:0;width:25px}.sandwich-left span{position:absolute;transform:translateY(-50%);left:4px;width:20px;text-align:center}
.variant-overlay{position:absolute;pointer-events:none;z-index:5;overflow:visible}.thermo-line{fill:none;stroke:color-mix(in srgb,var(--muted) 72%,transparent);stroke-width:.24;stroke-linecap:round;stroke-linejoin:round}.thermo-bulb{fill:color-mix(in srgb,var(--surface-3) 80%,transparent);stroke:color-mix(in srgb,var(--muted) 72%,transparent);stroke-width:.18}.arrow-line{fill:none;stroke:color-mix(in srgb,var(--muted) 80%,transparent);stroke-width:.13;stroke-linecap:round;stroke-linejoin:round}.arrow-circle{fill:none;stroke:color-mix(in srgb,var(--muted) 80%,transparent);stroke-width:.13}.arrow-head{fill:color-mix(in srgb,var(--muted) 82%,transparent)}.renban-line{fill:none;stroke:color-mix(in srgb,var(--accent) 42%,transparent);stroke-width:.3;stroke-linecap:round;stroke-linejoin:round}.kropki-dot{stroke:var(--ink);stroke-width:.06}.kropki-dot.white{fill:var(--surface)}.kropki-dot.black{fill:var(--ink)}
.cell.variant-shade{background:color-mix(in srgb,var(--accent-soft) 38%,var(--surface))}.cell.diag-a,.cell.diag-b{background:color-mix(in srgb,var(--accent-soft) 50%,var(--surface))}.cell.region-top{border-top:2px solid var(--ink)}.cell.region-right{border-right:2px solid var(--ink)}.cell.region-bottom{border-bottom:2px solid var(--ink)}.cell.region-left{border-left:2px solid var(--ink)}.cell.cage-top{box-shadow:inset 0 1.5px 0 color-mix(in srgb,var(--muted) 75%,transparent)}.cell.cage-right{border-right:1.5px dashed color-mix(in srgb,var(--muted) 70%,transparent)}.cell.cage-bottom{border-bottom:1.5px dashed color-mix(in srgb,var(--muted) 70%,transparent)}.cell.cage-left{border-left:1.5px dashed color-mix(in srgb,var(--muted) 70%,transparent)}.cell.cage-label::before{content:attr(data-cage-sum);position:absolute;left:3px;top:2px;font-size:clamp(.43rem,1.25vw,.63rem);line-height:1;color:var(--ink-soft);font-weight:850;z-index:7}.cell-value,.cell-notes{position:relative;z-index:8}.sudoku-board[data-variant="jigsaw"]{gap:0;background:var(--line)}
@media(max-width:760px){.variant-picker-grid{grid-template-columns:1fr 1fr}.variant-picker-options{grid-template-columns:1fr}.board-wrap[data-variant="sandwich"]{padding:24px 0 0 24px}.sandwich-top{left:24px}.sandwich-left{top:24px}.variant-clues{font-size:.56rem}}
@media(max-width:480px){.variant-picker-grid{grid-template-columns:1fr}.variant-choice{padding:11px}.board-wrap[data-variant="sandwich"]{padding:22px 0 0 22px}.sandwich-top{left:22px}.sandwich-left{top:22px}}
.game-stats:has(.variant-target-stat:not([hidden])){grid-template-columns:repeat(4,1fr)}
@media(max-width:520px){.game-stats:has(.variant-target-stat:not([hidden])){grid-template-columns:repeat(2,1fr)}}

/* Phase 7 — Premium Product System + Daily / Journey / Engagement */
:root{
  --premium:#5b5df0;--premium-2:#8b5cf6;--premium-3:#14b8a6;--gold:#c7922c;
  --glass:color-mix(in srgb,var(--surface) 84%,transparent);
  --glass-strong:color-mix(in srgb,var(--surface) 94%,transparent);
  --premium-shadow:0 28px 90px rgba(16,24,40,.13),0 2px 8px rgba(16,24,40,.05);
  --premium-soft-shadow:0 12px 38px rgba(16,24,40,.08);
}
html{scroll-behavior:smooth}.app-shell{width:min(1240px,calc(100% - 36px));padding-bottom:72px}.topbar{position:sticky;top:0;z-index:50;margin:0 -12px 18px;padding:12px;border-radius:0 0 20px 20px;background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%)}
.brand-grid{background:linear-gradient(145deg,#111827,#2d3250);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 8px 22px rgba(17,24,39,.2)}
.hero-card{position:relative;isolation:isolate;border:0;background:linear-gradient(128deg,#111827 0%,#171d31 54%,#28214b 100%);color:#fff;box-shadow:0 34px 100px rgba(17,24,39,.25);min-height:430px}
.hero-card::before{content:"";position:absolute;z-index:-1;width:460px;height:460px;border-radius:50%;right:-130px;top:-210px;background:radial-gradient(circle,rgba(139,92,246,.52),rgba(91,93,240,.12) 45%,transparent 72%);filter:blur(6px)}
.hero-card::after{content:"";position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,transparent,#000 60%,#000);opacity:.65}
.hero-card .eyebrow{color:rgba(255,255,255,.55)}.hero-copy h1{font-weight:800;max-width:780px}.hero-copy h1 span{background:linear-gradient(100deg,#b7c9ff,#c4a7ff 48%,#7de6d7);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-sub{color:rgba(255,255,255,.68);max-width:610px}.hero-card .primary-button{background:#fff;color:#111827;box-shadow:0 12px 32px rgba(0,0,0,.18)}.hero-card .secondary-button{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);backdrop-filter:blur(10px)}.hero-card .level-orb{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 20px 55px rgba(0,0,0,.18)}.hero-card .progress-copy span{color:rgba(255,255,255,.56)}.hero-card .progress-track{background:rgba(255,255,255,.12)}.hero-card .progress-track i{background:linear-gradient(90deg,#a7c0ff,#c4a7ff,#78e0d2)}
.primary-button,.secondary-button,.mode-card,.dashboard-card,.daily-challenge,.journey-node,.control{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.primary-button:active,.secondary-button:active,.mode-card:active,.daily-challenge:active,.journey-node:active,.control:active{transform:scale(.985)}
.home-section{margin-top:22px;border-radius:28px}.premium-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:16px}.premium-section-head h2,.engagement-grid h2{font-size:clamp(1.45rem,3vw,2.25rem);letter-spacing:-.045em;margin:0}.premium-section-head p:not(.eyebrow),.engagement-grid>article>p:not(.eyebrow){margin:7px 0 0;color:var(--muted);font-size:.83rem;line-height:1.55}.section-head .eyebrow{color:var(--accent)}
.daily-section{padding:24px;background:var(--glass);border:1px solid color-mix(in srgb,var(--line) 80%,transparent);box-shadow:var(--premium-soft-shadow);backdrop-filter:blur(14px)}.daily-ring{--daily-progress:0%;width:84px;height:84px;border-radius:50%;display:grid;place-items:center;align-content:center;background:conic-gradient(var(--premium) var(--daily-progress),var(--surface-3) 0);position:relative;flex:0 0 auto}.daily-ring::before{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--surface)}.daily-ring strong,.daily-ring span{position:relative;z-index:1}.daily-ring strong{font-size:1.6rem;line-height:1}.daily-ring span{font-size:.58rem;color:var(--muted)}.daily-meta-row{display:flex;align-items:center;gap:12px;margin:2px 0 12px;font-size:.7rem;color:var(--muted)}.daily-meta-row strong{color:var(--ink)}.daily-meta-row .text-button{margin-left:auto;font-weight:800;color:var(--accent)}.daily-challenge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.daily-challenge{min-height:150px;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--ink);text-align:left;padding:16px;display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:start;cursor:pointer;box-shadow:0 8px 24px rgba(16,24,40,.04)}.daily-challenge:hover:not(.complete){transform:translateY(-3px);box-shadow:var(--premium-soft-shadow);border-color:color-mix(in srgb,var(--premium) 28%,var(--line))}.daily-challenge.complete{background:color-mix(in srgb,var(--success-soft) 50%,var(--surface));cursor:default}.daily-symbol{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,color-mix(in srgb,var(--premium) 13%,var(--surface)),color-mix(in srgb,var(--premium-2) 10%,var(--surface)));color:var(--premium);font-weight:900}.daily-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.daily-copy small{font-size:.61rem;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);font-weight:850}.daily-copy strong{font-size:.88rem}.daily-copy em{font-style:normal;color:var(--muted);font-size:.65rem;line-height:1.4;margin-top:4px}.daily-reward{font-size:.67rem;font-weight:900;color:var(--premium);padding:5px 7px;border-radius:999px;background:color-mix(in srgb,var(--premium) 9%,var(--surface))}.daily-challenge.complete .daily-reward{color:var(--success);background:var(--success-soft)}.daily-progress-row{display:grid;grid-template-columns:auto minmax(180px,1fr);gap:16px;align-items:center;margin-top:15px}.daily-progress-row>div:first-child{display:flex;flex-direction:column;gap:2px}.daily-progress-row strong{font-size:.72rem}.daily-progress-row span{font-size:.62rem;color:var(--muted)}.daily-progress-row .progress-track{height:9px}.daily-progress-row .progress-track i{background:linear-gradient(90deg,var(--premium),var(--premium-2))}.daily-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.calendar-weekday{font-size:.5rem;text-align:center;color:var(--faint);font-weight:850;padding:2px}.calendar-blank{min-height:28px}.calendar-day{min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:7px 3px;border-radius:11px;color:var(--faint);position:relative}.calendar-day span{font-size:.52rem;font-weight:800}.calendar-day i{font-style:normal;font-size:.68rem;font-weight:800}.calendar-day b{height:4px;min-width:4px;border-radius:999px;font-size:0;background:var(--line-strong)}.calendar-day.active{color:var(--ink);background:var(--surface-2)}.calendar-day.active b{width:40%;background:var(--premium)}.calendar-day.complete b{width:70%;background:var(--success)}.calendar-day.today{box-shadow:inset 0 0 0 1px var(--premium)}
.journey-section{padding:26px;background:linear-gradient(140deg,color-mix(in srgb,var(--surface) 95%,transparent),color-mix(in srgb,var(--accent-soft) 35%,var(--surface)));border:1px solid var(--line);box-shadow:var(--premium-soft-shadow);overflow:hidden}.journey-summary{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;gap:14px;align-items:center;margin:10px 0 18px;font-size:.7rem}.journey-summary span{color:var(--muted)}.journey-summary b,.journey-summary strong{color:var(--ink)}.journey-summary .progress-track i{background:linear-gradient(90deg,var(--premium-3),var(--premium),var(--premium-2))}.journey-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,215px);gap:10px;overflow-x:auto;padding:2px 2px 14px;scroll-snap-type:x proximity;scrollbar-width:thin}.journey-node{scroll-snap-align:start;min-height:118px;border-radius:18px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:14px;display:grid;grid-template-columns:auto 1fr;gap:10px;text-align:left;cursor:pointer}.journey-node:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--premium-soft-shadow)}.journey-node.locked{opacity:.44;cursor:not-allowed;filter:saturate(.5)}.journey-node.complete{border-color:color-mix(in srgb,var(--success) 30%,var(--line));background:color-mix(in srgb,var(--success-soft) 36%,var(--surface))}.journey-index{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--surface-3);font-size:.67rem;font-weight:900}.journey-node.complete .journey-index{background:var(--success);color:#fff}.journey-node>span:last-child{display:flex;flex-direction:column;gap:4px}.journey-node small{font-size:.54rem;color:var(--faint);font-weight:850;text-transform:uppercase;letter-spacing:.08em}.journey-node strong{font-size:.82rem}.journey-node em{font-size:.61rem;color:var(--accent);font-style:normal;font-weight:800;margin-top:4px}
.engagement-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:12px;margin-top:12px}.season-card,.collection-card{position:relative;overflow:hidden;min-height:260px;border-radius:24px;padding:22px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--premium-soft-shadow)}.season-card{background:linear-gradient(145deg,#181b2e,#28204a);color:#fff;border:0}.season-card .eyebrow{color:rgba(255,255,255,.5)}.season-card>p:not(.eyebrow){color:rgba(255,255,255,.64)}.season-glow{position:absolute;width:240px;height:240px;border-radius:50%;right:-80px;top:-100px;background:radial-gradient(circle,rgba(139,92,246,.65),transparent 70%);filter:blur(4px)}.season-metrics{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.season-metrics strong{font-size:1.1rem}.season-metrics span{font-size:.7rem;color:rgba(255,255,255,.65)}.season-track{margin:8px 0;background:rgba(255,255,255,.12)}.season-track i{background:linear-gradient(90deg,#9eb8ff,#d6a8ff,#72e0d0)}.season-card>small{color:rgba(255,255,255,.52);font-size:.62rem}.reward-wallet{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.reward-wallet>span{display:grid;grid-template-columns:auto auto 1fr;gap:7px;align-items:center;padding:11px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09)}.reward-wallet b{color:#f4c66b}.reward-wallet strong{font-size:1rem}.reward-wallet small{font-size:.57rem;color:rgba(255,255,255,.55)}.collection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px}.collection-medal{display:flex;min-height:91px;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:15px;background:var(--surface-2);border:1px solid var(--line);padding:9px}.collection-medal>span{font-size:1.2rem;color:var(--faint)}.collection-medal strong{font-size:.62rem;margin-top:5px}.collection-medal small{font-size:.53rem;color:var(--muted);margin-top:2px}.collection-medal.unlocked{background:linear-gradient(145deg,color-mix(in srgb,#f5cf7a 17%,var(--surface)),color-mix(in srgb,var(--premium) 8%,var(--surface)));border-color:color-mix(in srgb,#c7922c 28%,var(--line))}.collection-medal.unlocked>span{color:var(--gold)}
.mode-grid{margin-top:22px}.mode-card{border:1px solid color-mix(in srgb,var(--line) 80%,transparent);box-shadow:0 8px 25px rgba(16,24,40,.045);overflow:hidden}.mode-card::after{content:"";position:absolute;inset:auto -30% -60% 40%;height:90px;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 9%,transparent),transparent 72%);pointer-events:none}.mode-card:hover{transform:translateY(-3px);box-shadow:var(--premium-soft-shadow)}.dashboard-card{box-shadow:0 8px 24px rgba(16,24,40,.04)}
.game-main,.game-controls{border:1px solid color-mix(in srgb,var(--line) 82%,transparent);box-shadow:var(--premium-shadow);background:var(--glass-strong);backdrop-filter:blur(16px)}.game-main{overflow:hidden}.sudoku-board{box-shadow:0 18px 50px rgba(16,24,40,.11),0 0 0 1px color-mix(in srgb,var(--ink) 8%,transparent);border-radius:12px;overflow:hidden}.number-pad button{border-radius:16px;box-shadow:0 6px 18px rgba(16,24,40,.06)}.control{border-radius:15px}.control:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(16,24,40,.07)}.pause-button{border-radius:14px}.modal::backdrop{background:rgba(7,10,18,.58);backdrop-filter:blur(8px)}.modal-card{box-shadow:0 40px 120px rgba(0,0,0,.28);border:1px solid color-mix(in srgb,var(--line) 76%,transparent)}
.mobile-dock{display:none}
@media(max-width:980px){.daily-challenge-grid{grid-template-columns:repeat(2,1fr)}.engagement-grid{grid-template-columns:1fr}.collection-grid{grid-template-columns:repeat(4,1fr)}.hero-card{min-height:380px}}
@media(max-width:760px){
  html{scroll-padding-bottom:92px}.app-shell{width:100%;padding:0 12px 104px}.topbar{margin:0 -12px 12px;padding:10px 14px;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:0}.platform-status{display:none}.top-pill{padding:7px 9px}.hero-card{grid-template-columns:1fr;min-height:auto;padding:28px 20px 24px;border-radius:25px}.hero-card::after{background-size:34px 34px}.hero-copy h1{font-size:clamp(2.55rem,13vw,4rem);line-height:.93}.hero-sub{font-size:.9rem;margin:15px 0 20px}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.hero-actions button{padding:13px 10px}.hero-progress{justify-self:stretch;display:grid;grid-template-columns:auto 1fr;min-width:0;gap:14px;border-top:1px solid rgba(255,255,255,.1);padding-top:18px}.level-orb{width:70px!important;height:70px!important}.level-orb strong{font-size:1.7rem}.level-orb span{font-size:.48rem}.progress-copy{text-align:left}.continue-card{border-radius:18px;padding:14px}.continue-card .primary-button{min-width:86px}.home-section{border-radius:22px}.daily-section,.journey-section{padding:18px 14px}.premium-section-head{align-items:flex-start}.premium-section-head h2{font-size:1.55rem}.premium-section-head p:not(.eyebrow){font-size:.75rem}.daily-ring{width:64px;height:64px}.daily-ring strong{font-size:1.3rem}.daily-challenge-grid{grid-template-columns:1fr}.daily-challenge{min-height:100px;grid-template-columns:auto 1fr auto;padding:13px}.daily-progress-row{grid-template-columns:1fr}.daily-calendar{gap:4px;grid-template-columns:repeat(7,1fr);padding-bottom:4px}.calendar-day{padding:6px 2px}.journey-summary{grid-template-columns:1fr}.journey-summary>strong{font-size:.66rem}.journey-track{grid-auto-columns:178px;margin-right:-14px}.engagement-grid{gap:10px}.season-card,.collection-card{padding:18px;border-radius:21px}.collection-grid{grid-template-columns:repeat(4,1fr);gap:6px}.collection-medal{min-height:82px;padding:6px}.collection-medal strong{font-size:.56rem}.mode-grid{grid-template-columns:1fr 1fr!important;gap:8px}.mode-card{min-height:118px;padding:15px;display:flex;flex-direction:column;gap:10px}.mode-card .mode-icon{width:36px;height:36px}.mode-card>span:nth-child(2){gap:3px}.mode-card strong{font-size:.85rem}.mode-card small{font-size:.62rem}.mode-card b{display:none}.dashboard-grid{grid-template-columns:1fr 1fr;gap:8px}.dashboard-card{min-height:112px}.game-view{padding-bottom:10px}.game-layout{display:block}.game-main{border-radius:22px;padding:13px;box-shadow:0 16px 46px rgba(16,24,40,.11)}.game-controls{position:static;margin-top:10px;border-radius:20px;padding:10px;box-shadow:0 8px 28px rgba(16,24,40,.07)}.game-heading{align-items:center}.game-heading h1{font-size:1.35rem}.game-stats{margin-bottom:10px}.board-wrap{margin-inline:auto}.number-pad{gap:5px;margin-top:10px}.number-pad button{min-height:48px;border-radius:12px;font-size:1.08rem}.control-grid{grid-template-columns:repeat(4,1fr);gap:6px}.control{min-height:60px;padding:8px 5px}.control strong,.control small{font-size:.58rem}.keyboard-help{display:none}.pause-button{margin-top:7px}.mobile-dock{position:fixed;z-index:80;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));height:66px;border-radius:22px;display:grid;grid-template-columns:repeat(5,1fr);gap:2px;padding:6px;background:color-mix(in srgb,var(--surface) 87%,transparent);border:1px solid color-mix(in srgb,var(--line) 75%,transparent);box-shadow:0 20px 55px rgba(16,24,40,.2);backdrop-filter:blur(24px) saturate(155%);-webkit-backdrop-filter:blur(24px) saturate(155%)}.mobile-dock button{border:0;background:transparent;color:var(--muted);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer}.mobile-dock button:active{background:var(--surface-2);color:var(--ink)}.mobile-dock button span{font-size:1rem;font-weight:900}.mobile-dock button small{font-size:.52rem;font-weight:750}.mobile-dock #dock-play{background:var(--ink);color:var(--surface);box-shadow:0 8px 18px color-mix(in srgb,var(--ink) 20%,transparent)}
}
@media(max-width:430px){.hero-actions{grid-template-columns:1fr}.daily-meta-row span{display:none}.collection-grid{grid-template-columns:repeat(4,1fr)}.collection-medal strong{font-size:.52rem}.mode-grid{grid-template-columns:1fr 1fr!important}.mode-card{min-height:112px}.dashboard-card{padding:14px}.metric-line strong{font-size:1.65rem}.premium-section-head .primary-button{padding:10px 12px;font-size:.7rem}.journey-node{min-height:108px}.topbar .brand>span:last-child,.brand-button>span:last-child{font-size:.95rem}}
@media(min-width:761px) and (max-width:1080px){.game-layout{grid-template-columns:minmax(0,1fr) 220px}.control-grid{grid-template-columns:1fr 1fr}.collection-grid{grid-template-columns:repeat(4,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.primary-button,.secondary-button,.mode-card,.dashboard-card,.daily-challenge,.journey-node,.control{transition:none!important}.journey-track{scroll-snap-type:none}}

/* design-system: premium-adaptive-v1 */
@media(max-width:760px){body[data-surface="game"] .mobile-dock{display:none}body[data-surface="game"] .topbar{display:none}body[data-surface="game"] .app-shell{padding-top:10px;padding-bottom:24px}body[data-surface="game"] .game-nav{position:sticky;top:0;z-index:45;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(18px);padding:8px 2px;margin-bottom:6px}}

/* Phase 8 — connected-player premium surfaces */
.account-pill{display:flex;align-items:center;gap:8px;max-width:190px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--ink);padding:6px 10px 6px 6px;border-radius:999px;cursor:pointer;box-shadow:var(--shadow-soft)}.account-pill strong{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem}.avatar-dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--ink),color-mix(in srgb,var(--accent) 55%,var(--ink)));color:var(--surface);font-weight:900;font-size:.72rem;flex:0 0 auto}.social-section{margin-top:12px}.social-guest-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:20px;background:linear-gradient(125deg,color-mix(in srgb,var(--accent-soft) 48%,var(--surface)),var(--surface));box-shadow:var(--premium-soft-shadow)}.social-guest-card>div{display:flex;align-items:center;gap:15px}.social-guest-card strong{font-size:1rem}.social-guest-card p{margin:4px 0 0;color:var(--muted);font-size:.75rem;line-height:1.5;max-width:650px}.social-orb{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:var(--ink);color:var(--surface);font-size:1.25rem}.social-connected-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.social-metric-card,.leaderboard-card,.tournament-card,.ghost-card{padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--premium-soft-shadow)}.social-metric-card{min-height:132px;display:flex;flex-direction:column;justify-content:center}.social-metric-card small{font-size:.65rem;color:var(--faint);font-weight:800;text-transform:uppercase;letter-spacing:.09em}.social-metric-card>strong{font-size:2.35rem;letter-spacing:-.06em;margin-top:4px}.social-metric-card span{font-size:.67rem;color:var(--muted)}.mini-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.mini-card-head strong{font-size:.86rem}.mini-card-head span{font-size:.6rem;color:var(--faint)}.leaderboard-preview,.leaderboard-card,.tournament-card,.ghost-card{min-height:176px}.leader-row,.friend-row,.challenge-row,.ghost-row,.tournament-row{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid var(--line);color:inherit}.leader-row:last-child,.friend-row:last-child,.challenge-row:last-child,.ghost-row:last-child,.tournament-row:last-child{border-bottom:0}.leader-row>b{width:28px;color:var(--faint);font-size:.65rem}.leader-row>span{flex:1;font-size:.75rem}.leader-row>strong{font-size:.76rem}.leader-row.large>span{display:flex;flex-direction:column}.leader-row.large small{font-size:.58rem;color:var(--muted)}.tournament-row{width:100%;border-left:0;border-right:0;border-top:0;background:transparent;text-align:left;cursor:pointer}.tournament-row>span{display:flex;flex-direction:column;gap:2px;flex:1}.tournament-row small{text-transform:uppercase;font-size:.52rem;color:var(--faint);letter-spacing:.08em}.tournament-row strong{font-size:.72rem}.tournament-row em{font-size:.58rem;color:var(--muted);font-style:normal}.tournament-row>b{font-size:.62rem;color:var(--accent)}.ghost-row>span{display:flex;flex-direction:column;flex:1}.ghost-row small{font-size:.55rem;color:var(--muted)}.ghost-row button,.friend-row button,.challenge-row button{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:10px;padding:7px 9px;font-size:.62rem;font-weight:800;cursor:pointer}.empty-copy{font-size:.7rem;color:var(--muted);line-height:1.5}.account-card{max-width:470px}.auth-message{min-height:19px;margin:0 0 8px;font-size:.7rem;color:var(--success)}.auth-message[data-bad="true"]{color:var(--danger)}.auth-form{display:grid;gap:11px}.auth-form input,.friend-search-row input{width:100%;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:12px;padding:12px;outline:none}.auth-form input:focus,.friend-search-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.auth-switch{margin-top:12px;width:100%;text-align:center}.provider-note{display:flex;justify-content:space-between;gap:15px;margin-top:17px;padding:12px;border-radius:13px;background:var(--surface-2);border:1px solid var(--line)}.provider-note strong{font-size:.66rem}.provider-note span{font-size:.59rem;color:var(--muted);text-align:right;max-width:220px}.micro-copy{font-size:.65rem;color:var(--muted);line-height:1.5}.account-identity{display:flex;align-items:center;gap:13px;padding:14px;border-radius:16px;background:var(--surface-2)}.avatar-large{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:var(--ink);color:var(--surface);font-size:1.2rem;font-weight:900}.account-identity>div{display:flex;flex-direction:column}.account-identity strong{font-size:.95rem}.account-identity span:last-child{font-size:.66rem;color:var(--muted)}.sync-panel{display:flex;flex-direction:column;gap:6px;margin:12px 0;padding:14px;border:1px solid var(--line);border-radius:16px}.sync-panel span{font-size:.68rem;color:var(--muted)}.danger-text{color:var(--danger);width:100%;padding:10px}.social-hub-card{width:min(880px,calc(100vw - 28px));max-width:880px}.social-tabs{display:flex;gap:6px;padding:4px;background:var(--surface-2);border:1px solid var(--line);border-radius:14px;margin-bottom:16px;overflow:auto}.social-tabs button{border:0;background:transparent;color:var(--muted);padding:9px 12px;border-radius:10px;font-size:.67rem;font-weight:800;white-space:nowrap;cursor:pointer}.social-tabs button.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-soft)}.friend-search-row{display:grid;grid-template-columns:1fr auto;gap:8px}.friend-search-row button{border:0;border-radius:12px;background:var(--ink);color:var(--surface);padding:0 14px;font-weight:800;cursor:pointer}.social-hub-card h3{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);margin:18px 0 6px}.friend-row>span:nth-child(2),.friend-row>span:first-child:not(.avatar-dot){display:flex;flex-direction:column;flex:1}.friend-row strong{font-size:.74rem}.friend-row small{font-size:.58rem;color:var(--muted)}.hub-copy{font-size:.7rem;color:var(--muted);line-height:1.55}.leader-control{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.leader-control span{font-size:.68rem;color:var(--muted)}.leader-control select{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:10px;padding:8px}.ghost-stat{background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft) 70%,var(--surface)),var(--surface))!important}.ghost-stat strong{color:var(--accent)}
@media(max-width:760px){.account-pill{max-width:44px;padding:5px}.account-pill strong{display:none}.account-pill .avatar-dot{width:32px;height:32px}.social-guest-card{align-items:stretch;flex-direction:column;padding:16px}.social-guest-card>div{align-items:flex-start}.social-connected-grid{grid-template-columns:1fr 1fr}.leaderboard-card,.tournament-card,.ghost-card{grid-column:1/-1}.social-metric-card{min-height:105px;padding:14px}.social-metric-card>strong{font-size:1.9rem}.social-hub-card{width:calc(100vw - 18px);max-height:88vh}.social-tabs{scrollbar-width:none}.provider-note{flex-direction:column}.provider-note span{text-align:left}.game-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:430px){.social-connected-grid{grid-template-columns:1fr 1fr}.social-section .premium-section-head{display:grid;grid-template-columns:1fr auto}.social-section .premium-section-head p{max-width:230px}.social-section .premium-section-head .primary-button{align-self:start}}
/* design-system: premium-adaptive-v2 */
.challenge-row>span{display:flex;flex-direction:column;gap:2px;flex:1}.challenge-row small{font-size:.55rem;color:var(--muted)}.challenge-row strong{font-size:.72rem}.challenge-row em{font-size:.58rem;color:var(--faint);font-style:normal}.challenge-actions{display:flex;align-items:center;gap:6px}.challenge-actions>b{font-size:.58rem;color:var(--accent);white-space:nowrap}.challenge-actions button{font-size:.56rem}
.provider-buttons{display:grid;gap:8px;margin-top:14px}.provider-buttons a{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);color:var(--ink);font-size:.72rem;font-weight:800;text-decoration:none}.provider-buttons a#apple-signin{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.tournament-puzzles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 16px}.tournament-puzzle{display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:14px;padding:12px;cursor:pointer}.tournament-puzzle span{display:flex;flex-direction:column}.tournament-puzzle small{font-size:.54rem;color:var(--muted);text-transform:uppercase}.tournament-puzzle strong{font-size:.68rem;text-transform:capitalize}.tournament-puzzle b{font-size:.62rem;color:var(--accent)}.tournament-puzzle.complete{opacity:.6;cursor:default}.tournament-puzzle.complete b{color:var(--success)}@media(max-width:760px){.tournament-puzzles{grid-template-columns:1fr}}

/* Phase 11 — ads-only monetisation surface (no player payments) */
.monetisation-section{margin-top:18px}.ad-supported-card{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding:22px;border:1px solid color-mix(in srgb,var(--accent,#6366f1) 24%,transparent);border-radius:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface-2,#111827) 94%,#8b5cf6 6%),color-mix(in srgb,var(--surface,#0b1020) 96%,#22c55e 4%));box-shadow:0 18px 50px rgba(0,0,0,.12)}.ad-supported-card h2{margin:3px 0 7px}.ad-supported-card p{margin:0 0 4px;color:var(--muted,#94a3b8);line-height:1.5}.ad-supported-card small{color:var(--muted,#94a3b8)}@media(max-width:700px){.ad-supported-card{grid-template-columns:auto 1fr;padding:17px;gap:13px}.premium-mark{width:46px;height:46px;border-radius:15px}}
/* Phase 10 — production web / PWA contract: premium-adaptive-v3 */
.web-production-section{margin-top:16px}.web-tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.web-tool-grid a{display:flex;flex-direction:column;gap:7px;padding:18px;border:1px solid var(--line);border-radius:19px;background:var(--surface);color:inherit;text-decoration:none;box-shadow:var(--shadow-soft);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.web-tool-grid a:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:var(--shadow)}.web-tool-grid a>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--accent-soft);color:var(--accent);font-weight:900}.web-tool-grid strong{font-size:.94rem}.web-tool-grid small{color:var(--muted);line-height:1.4}.pwa-install-button{white-space:nowrap}.app-pwa-toast{position:fixed;z-index:999;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:14px;max-width:min(420px,calc(100vw - 28px));background:var(--ink);color:var(--surface);border:1px solid color-mix(in srgb,var(--surface) 18%,transparent);border-radius:15px;padding:12px 13px 12px 17px;box-shadow:0 20px 70px rgba(0,0,0,.28)}.app-pwa-toast[hidden]{display:none}.app-pwa-toast span{font-size:.82rem;line-height:1.4}.app-pwa-toast button{border:0;border-radius:10px;background:var(--surface);color:var(--ink);font-weight:850;padding:9px 12px;cursor:pointer}
@media(max-width:850px){.web-tool-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.web-production-section .premium-section-head{align-items:flex-start}.web-tool-grid{grid-template-columns:1fr 1fr;gap:9px}.web-tool-grid a{padding:14px;border-radius:16px}.web-tool-grid a>span{width:34px;height:34px}.web-tool-grid small{font-size:.69rem}.app-pwa-toast{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));max-width:none;justify-content:space-between}body[data-surface="game"] .app-pwa-toast{display:none!important}}

/* Phase 11 — native shell polish */
.native-shell{overscroll-behavior:none}.native-shell .site-header{padding-top:max(12px,env(safe-area-inset-top))}.native-shell .mobile-dock{padding-bottom:max(8px,env(safe-area-inset-bottom))}.native-shell .pwa-install-button{display:none!important}@media(max-width:700px){.native-shell{user-select:none;-webkit-user-select:none}.native-shell input,.native-shell textarea{user-select:text;-webkit-user-select:text}}

/* Phase 12 — world-class-adaptive-v4 final production acceptance */
:root{--tap:44px;--focus-ring:0 0 0 3px color-mix(in srgb,var(--accent) 34%,transparent);--glass:color-mix(in srgb,var(--surface) 86%,transparent)}
body::before{content:"";position:fixed;inset:-18vh -10vw auto;height:58vh;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 22% 12%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 58%),radial-gradient(ellipse at 78% 18%,color-mix(in srgb,var(--success) 8%,transparent),transparent 52%);filter:blur(10px)}
button,a,input,select{min-height:var(--tap)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.hero-card{position:relative;isolation:isolate;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 96%,transparent),color-mix(in srgb,var(--accent-soft) 52%,var(--surface)));box-shadow:0 30px 90px color-mix(in srgb,var(--ink) 11%,transparent),inset 0 1px 0 color-mix(in srgb,#fff 60%,transparent)}
.hero-card::after{content:"";position:absolute;z-index:-1;width:360px;height:360px;border-radius:50%;right:-130px;top:-175px;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 16%,transparent),transparent 68%)}
.mode-card,.dashboard-card,.continue-card,.game-main,.game-controls{backdrop-filter:saturate(1.08) blur(12px);-webkit-backdrop-filter:saturate(1.08) blur(12px)}
.cell{transition:background-color .14s ease,box-shadow .14s ease,transform .08s ease}.cell:active:not(.given){transform:scale(.94)}
.number-key,.control-button,.primary-button,.secondary-button,.mode-card,.dashboard-action{transition:transform .14s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease}
.number-key:active:not(:disabled),.control-button:active:not(:disabled),.primary-button:active,.secondary-button:active{transform:scale(.96)}
.sudoku-board{border-radius:8px;overflow:hidden;box-shadow:0 18px 60px color-mix(in srgb,var(--ink) 16%,transparent),0 0 0 1px color-mix(in srgb,var(--ink) 14%,transparent)}
body[data-competitive="true"] .game-main{box-shadow:0 24px 80px color-mix(in srgb,var(--accent) 13%,transparent)}
body[data-competitive="true"] #mode-badge::before{content:"●";margin-right:6px;color:var(--success);font-size:.7em}
@media(hover:hover) and (pointer:fine){.mode-card:hover,.dashboard-action:hover{transform:translateY(-3px);box-shadow:0 18px 44px color-mix(in srgb,var(--ink) 10%,transparent)}.primary-button:hover,.secondary-button:hover,.number-key:hover:not(:disabled),.control-button:hover:not(:disabled){transform:translateY(-1px)}}
@media(max-width:720px){.app-shell{width:min(100% - 20px,620px);padding-bottom:calc(82px + env(safe-area-inset-bottom))}.hero-card{border-radius:26px}.game-main{padding:12px;border-radius:21px}.game-controls{border-radius:20px}.board-wrap{width:min(100%,calc(100dvh - 300px));min-width:min(100%,300px)}body[data-surface="game"] .app-shell{width:min(100% - 12px,620px)}body[data-surface="game"] .game-main{box-shadow:none;border-color:color-mix(in srgb,var(--line) 75%,transparent)}}
@media(max-width:420px){.board-wrap{width:100%}.game-heading{margin-bottom:8px}.game-stats{margin-bottom:10px}.game-main{padding:8px}.cell-value{font-size:clamp(1.15rem,7.4vw,2.15rem)}}
@media(prefers-contrast:more){:root{--line:#8d99a8;--line-strong:#657181}.sudoku-board{border-width:3px}.cell.selected{box-shadow:inset 0 0 0 3px var(--accent)}.muted,.game-stats span{color:var(--ink-soft)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.cell:active,.number-key:active,.control-button:active,.primary-button:active,.secondary-button:active{transform:none!important}}

/* Phase 12 live production UI acceptance polish — world-class-adaptive-v4.1 */
[hidden]{display:none!important}
.platform-status{display:none!important}
html[data-theme="dark"]{--muted:#aeb8c7;--faint:#8794a8;--line:#303b4c;--line-strong:#425067}
@media(prefers-color-scheme:dark){html[data-theme="system"]{--muted:#aeb8c7;--faint:#8794a8;--line:#303b4c;--line-strong:#425067}}
.home-view{padding-bottom:8px}
.home-section{scroll-margin-top:20px}
.daily-calendar-shell{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}
.daily-calendar-shell>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;padding:3px 4px;cursor:pointer;color:var(--ink-soft);font-size:.72rem;font-weight:850}
.daily-calendar-shell>summary::-webkit-details-marker{display:none}
.daily-calendar-shell>summary::after{content:"＋";width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);font-size:.9rem;transition:transform .18s ease}
.daily-calendar-shell[open]>summary::after{content:"–"}
.daily-calendar-shell>summary span{display:flex;align-items:center;gap:8px}
.daily-calendar-shell>summary small{margin-left:auto;color:var(--muted);font-size:.62rem;font-weight:650}
.daily-calendar-shell .daily-calendar{margin-top:8px;padding-top:10px}
.engagement-grid{margin-top:16px}
.season-card,.collection-card{min-height:224px}
.reward-wallet{margin-top:14px}
.collection-grid{margin-top:14px}
.mode-grid{margin-top:20px}
.mode-card{min-height:126px}
.dashboard-grid{margin-top:10px}
.dashboard-card{min-height:112px}
.social-section{margin-top:18px}
.social-connected-grid[hidden],.social-guest-card[hidden]{display:none!important}
.social-metric-card{min-height:112px}
.leaderboard-preview,.leaderboard-card,.tournament-card,.ghost-card{min-height:132px}
.leaderboard-card:has(.empty-copy),.tournament-card:has(.empty-copy),.ghost-card:has(.empty-copy){background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--accent-soft) 18%,var(--surface)))}
.empty-copy{font-size:.73rem;color:var(--muted)}
.free-game-note{margin:18px 0 0;display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 14px;color:var(--muted);font-size:.7rem;text-align:center}
.free-game-note>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--surface-2);border:1px solid var(--line);color:var(--accent);font-weight:900;flex:0 0 auto}
.free-game-note p{margin:0;line-height:1.45}
.free-game-note strong{color:var(--ink-soft)}
.web-production-section{margin-top:12px;padding-top:2px}
.web-tool-grid a{min-height:128px}
.hero-card,.daily-section,.journey-section,.season-card,.collection-card,.mode-card,.dashboard-card,.social-guest-card,.leaderboard-card,.tournament-card,.ghost-card,.web-tool-grid a{transform:translateZ(0)}
@media(hover:hover) and (pointer:fine){.daily-calendar-shell>summary:hover::after{border-color:var(--line-strong);transform:scale(1.04)}}
@media(max-width:760px){
  .daily-calendar-shell>summary{padding-inline:2px}.daily-calendar-shell>summary small{display:none}
  .season-card,.collection-card{min-height:auto}
  .engagement-grid{margin-top:10px}
  .social-section{margin-top:12px}
  .free-game-note{margin:10px 4px 0;padding:10px 4px;align-items:flex-start;text-align:left}
  .web-tool-grid a{min-height:116px}
  .premium-section-head p:not(.eyebrow),.engagement-grid>article>p:not(.eyebrow),.social-guest-card p{font-size:.78rem;line-height:1.52}
}
@media(max-width:430px){
  .daily-calendar-shell .daily-calendar{gap:3px}
  .calendar-day{padding:5px 1px}
  .free-game-note{font-size:.66rem}
}
