:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fff;--ink:#111;--muted:#5f5f5f;--faint:#f7f7f7;--soft:#eee;--line:#c9c9c9;--line-strong:#111;--focus:#111;--invalid:#303030;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--paper);min-width:320px}body{background:var(--paper);min-width:320px;min-height:100vh;margin:0}button,select,input{font:inherit}button{color:inherit}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.42}.app-shell{min-height:100vh;padding:max(.75rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left))}.skip-link{z-index:10;border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);padding:.75rem 1rem;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.topbar{border-bottom:1px solid var(--soft);justify-content:space-between;align-items:center;gap:1rem;max-width:1120px;margin:0 auto;padding:0 0 1rem;display:flex;position:relative}.brand-button,.quiet-action{cursor:pointer;background:0 0;border:0}.brand-button{letter-spacing:0;flex:none;align-items:center;gap:.6rem;min-height:44px;padding:.25rem 0;font-weight:650;display:inline-flex}.brand-mark{border:2px solid var(--line-strong);background:var(--paper);width:32px;height:32px;color:var(--ink);place-items:center;font-weight:760;display:inline-grid}.settings-menu{z-index:6;flex:none;position:relative}.settings-menu summary{list-style:none}.settings-menu summary::-webkit-details-marker{display:none}.settings-summary{border:1px solid var(--line);background:var(--paper);min-height:44px;color:var(--ink);cursor:pointer;border-radius:2px;justify-content:center;align-items:center;padding:.7rem .95rem;display:inline-flex}.settings-summary:after{content:"+";margin-left:.7rem;font-weight:690}.settings-menu[open] .settings-summary{border-color:var(--line-strong)}.settings-menu[open] .settings-summary:after{content:"-"}.topbar-controls{border:1px solid var(--line-strong);background:var(--paper);justify-content:start;align-items:stretch;gap:.7rem;width:min(92vw,31rem);min-width:0;padding:.85rem;display:flex;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 8px #111}.select-label{min-width:min(9rem,38vw);color:var(--muted);gap:.22rem;font-size:.72rem;display:grid}.select-label select{border:1px solid var(--line);background:var(--paper);width:100%;min-height:40px;color:var(--ink);border-radius:2px;padding:.5rem 1.7rem .5rem .65rem}.main-surface{max-width:1120px;margin:0 auto}.home-view,.setup-view{grid-template-columns:minmax(0,1fr) minmax(17rem,22rem);align-items:center;gap:clamp(2rem,9vw,8rem);min-height:min(680px,100vh - 6rem);padding:clamp(2.25rem,10vw,6.5rem) 0 2rem;display:grid}.setup-view{grid-template-columns:minmax(0,.85fr) minmax(20rem,1.15fr);align-items:start;gap:clamp(1.5rem,5vw,4rem)}.home-copy,.setup-view>div:first-child{max-width:40rem}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 .7rem;font-size:.72rem;font-weight:650}h1,h2,p{overflow-wrap:anywhere}h1{letter-spacing:0;margin:0;font-size:clamp(3.25rem,10vw,6.75rem);font-weight:690;line-height:.94}h2{margin:0;font-size:.98rem;font-weight:690}p{color:var(--muted);line-height:1.55}.home-copy p:last-child,.setup-view p{max-width:36rem;font-size:clamp(1rem,1.7vw,1.18rem)}.home-actions,.setup-actions{gap:.65rem;display:grid}.home-actions{align-self:center}.home-details{border-top:1px solid var(--soft);grid-column:1/-1;max-width:45rem;padding-top:.8rem}.home-details summary{width:fit-content;min-height:44px;color:var(--muted);cursor:pointer;line-height:44px}.home-details[open] summary{margin-bottom:.75rem}.social-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.social-strip div,.invite-box{border:1px solid var(--line);background:var(--paper);border-radius:2px;padding:.9rem}.social-strip div{gap:.25rem;display:grid}.social-strip span{color:var(--muted);font-size:.75rem}.social-strip strong{font-size:1.1rem;font-weight:690}.test-adapter-panel{border:1px dashed var(--line);background:var(--paper);border-radius:2px;gap:.8rem;margin-top:.85rem;padding:1rem;display:grid}.test-adapter-panel h2,.test-adapter-panel p{margin:0}.primary-action,.secondary-action,.quiet-action,.toolbar button,.profile-switcher button,.number-pad button{cursor:pointer;border-radius:2px;min-height:48px}.primary-action,.secondary-action{border:1px solid var(--line-strong);text-align:left;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.05rem;text-decoration:none;display:flex}.primary-action{background:var(--ink);color:var(--paper)}.primary-action.compact{text-align:center;justify-content:center;min-width:10rem;display:inline-flex}.secondary-action{background:var(--paper);border-color:var(--line)}.quiet-action{border:1px solid var(--line);background:var(--paper);padding:.85rem 1rem}.topbar-consent{white-space:nowrap;min-height:40px;padding:.55rem .75rem}.topbar-consent[aria-pressed=true]{border-color:var(--line-strong);text-underline-offset:.22em;text-decoration:underline}.primary-action span,.secondary-action span{overflow-wrap:anywhere;min-width:0}.primary-action strong,.secondary-action strong{flex:none;font-size:.82rem;font-weight:650}.segmented-field{border:0;min-width:0;margin:0;padding:0}.segmented-field legend{color:var(--muted);margin-bottom:.7rem;font-weight:650}.segmented-grid,.assist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.assist-grid{grid-column:2;grid-template-columns:1fr}.segment,.assist-card{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:2px;gap:.32rem;min-width:0;padding:.85rem;display:grid}.segment input,.assist-card input{clip:rect(0 0 0 0);block-size:1px;inline-size:1px;position:absolute;overflow:hidden}:is(.segment:has(input:checked),.assist-card:has(input:checked)){border-color:var(--line-strong);box-shadow:inset 0 0 0 1px var(--line-strong)}.assist-card small{color:var(--muted);line-height:1.35}.setup-actions{grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr))}.invite-box{grid-column:2;gap:.8rem;display:grid}.invite-box p{margin:0;font-size:.92rem}.join-label,.share-link{color:var(--muted);gap:.35rem;font-size:.8rem;display:grid}.join-label input,.share-link input{border:1px solid var(--line);background:var(--paper);min-width:0;min-height:44px;color:var(--ink);font:inherit;border-radius:2px;padding:.55rem .7rem}.game-view{grid-template-columns:minmax(0,1fr) minmax(17rem,20rem);align-items:start;gap:clamp(1rem,3vw,2rem);padding:.75rem 0 5rem;display:grid}.game-main,.game-sidebar{min-width:0}.game-main{justify-items:center;display:grid}.game-header{justify-content:space-between;align-items:end;gap:1rem;width:min(100%,43rem);margin-bottom:.85rem;display:flex}.game-header h1{font-size:clamp(1.85rem,3vw,2.4rem);font-weight:650}.game-header .eyebrow{margin-bottom:.35rem}.timer{border:1px solid var(--line);background:var(--paper);font-variant-numeric:tabular-nums;border-radius:2px;padding:.62rem .8rem;font-weight:690}.board-wrap{place-items:center;width:min(100%,43rem);display:grid;position:relative}.sudoku-board{aspect-ratio:1;border:3px solid var(--line-strong);background:var(--line-strong);border-radius:0;grid-template-columns:repeat(9,minmax(0,1fr));width:min(100%,100vh - 21rem,43rem);display:grid;overflow:hidden}.cell{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);min-width:0;min-height:0;color:var(--muted);font-variant-numeric:tabular-nums;cursor:pointer;border-radius:0;place-items:center;font-size:clamp(1.05rem,5.2vw,2.2rem);font-weight:460;line-height:1;display:grid;position:relative}.cell:nth-child(3n){border-right:3px solid var(--line-strong)}.cell:nth-child(9n){border-right:0}.cell:nth-child(n+19):nth-child(-n+27),.cell:nth-child(n+46):nth-child(-n+54){border-bottom:3px solid var(--line-strong)}.cell:nth-child(n+73):nth-child(-n+81){border-bottom:0}.cell.given{background:var(--faint);color:var(--ink);font-weight:720}.cell.peer{background:var(--faint)}.cell.same-value{background:var(--soft)}.cell.selected{z-index:1;box-shadow:inset 0 0 0 3px var(--line-strong)}.cell:focus-visible{outline:none}.cell.invalid{color:var(--invalid);text-underline-offset:.12em;font-weight:760;text-decoration:underline;text-decoration-thickness:.12em}.cell.partner:after{content:"";border:2px dashed var(--line-strong);pointer-events:none;position:absolute;inset:4px}.partner-mark{color:var(--ink);font-size:.68rem;font-weight:760;position:absolute;bottom:3px;right:4px}.notes{width:80%;height:80%;color:var(--muted);grid-template-columns:repeat(3,1fr);font-size:clamp(.44rem,1.7vw,.72rem);line-height:1;display:grid}.notes span{place-items:center;display:grid}.pause-panel{z-index:3;border:3px solid var(--line-strong);text-align:center;background:#fff;align-content:center;justify-items:center;gap:.8rem;padding:2rem;display:grid;position:absolute;inset:0}.number-pad{grid-template-columns:repeat(9,minmax(0,1fr));gap:.28rem;width:min(100%,100vh - 21rem,43rem);margin:.8rem auto 0;display:grid}.number-pad button{border:1px solid var(--line);background:var(--paper);place-items:center;gap:.06rem;display:grid}.number-pad span{font-size:1.15rem;font-weight:720}.number-pad small{color:var(--muted);font-size:.66rem}.game-sidebar{border-left:1px solid var(--soft);gap:.95rem;padding-left:clamp(1rem,2.5vw,1.5rem);display:grid;position:sticky;top:1rem}.toolbar,.profile-switcher{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.toolbar button,.profile-switcher button{border:1px solid var(--line);background:var(--paper);overflow-wrap:anywhere;padding:.62rem}.toolbar button[aria-pressed=true],.profile-switcher button[aria-pressed=true]{border-color:var(--line-strong);background:var(--faint);box-shadow:inset 0 0 0 1px var(--line-strong)}.side-section,.completion-panel{border-top:1px solid var(--soft);background:var(--paper);gap:.75rem;padding-top:.9rem;display:grid}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid div,.completion-grid{gap:.2rem;display:grid}.stats-grid span,.completion-grid span{color:var(--muted);font-size:.75rem}.stats-grid strong,.completion-grid strong{font-size:1.12rem;font-weight:690}.duo-panel p,.completion-panel p{margin:0}.partner-chip{border:1px solid var(--line);background:var(--paper);width:fit-content;color:var(--ink);border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .7rem;font-weight:690;display:inline-flex}.completion-grid{grid-template-columns:1fr auto;align-items:baseline}.announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.update-toast{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));z-index:5;border:1px solid var(--line);background:var(--paper);border-radius:2px;align-items:center;gap:.75rem;max-width:min(92vw,28rem);padding:.75rem;display:flex;position:fixed}.update-toast button{border:1px solid var(--line-strong);background:var(--ink);min-height:44px;color:var(--paper);border-radius:2px;flex:none;padding:.6rem .8rem}.mode-list{align-self:center;gap:.75rem;display:grid}.mode-card{border:1px solid var(--line);background:var(--paper);border-radius:2px;gap:.85rem;padding:1rem;display:grid}.mode-card-head{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.85rem;display:grid}.mode-card-head h2,.mode-card-head p{margin:0}.mode-card-head h2{font-size:1.15rem}.mode-card-head p{margin-top:.2rem;font-size:.92rem;line-height:1.4}.mode-card-actions{gap:.5rem;display:grid}.mode-glyph{border:2px solid var(--line-strong);min-width:3.1rem;height:2.6rem;color:var(--ink);letter-spacing:.04em;place-items:center;padding:0 .35rem;font-size:.9rem;font-weight:760;display:inline-grid}.mode-button{width:100%;min-height:72px;color:var(--ink);text-align:left;cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.mode-button:hover,.mode-button:focus-visible{border-color:var(--line-strong)}.mode-button-text{gap:.2rem;min-width:0;display:grid}.mode-button-text strong{font-size:1.15rem;font-weight:690}.mode-button-text small{color:var(--muted);font-size:.92rem;line-height:1.4}.mode-arrow{font-size:1.25rem;font-weight:690}.join-view{gap:.9rem;max-width:34rem;margin:0 auto;padding:clamp(2rem,8vw,5rem) 0 2rem;display:grid}.join-view h1{font-size:clamp(2.4rem,9vw,4.5rem)}.join-view p{margin:0}.join-view .setup-actions{grid-column:auto}.mode-pill{border:1px solid var(--line-strong);width:fit-content;color:var(--ink);border-radius:999px;padding:.25rem .8rem;font-weight:690}.share-panel,.race-board,.coop-strip,.result-panel,.game-main>.toolbar{width:min(100%,100vh - 21rem,43rem)}.share-panel{border:1px solid var(--line-strong);background:var(--paper);border-radius:2px;gap:.65rem;margin-bottom:.8rem;padding:1rem;display:grid}.share-panel h2,.share-panel p,.share-panel .eyebrow{margin:0}.share-actions,.result-actions,.duo-actions{flex-wrap:wrap;gap:.5rem;display:flex}.race-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-bottom:.65rem;display:grid}.race-lane{border:1px solid var(--line);background:var(--paper);border-radius:2px;gap:.3rem;min-width:0;padding:.55rem .65rem;display:grid}.race-lane.offline{border-style:dashed}.race-lane-head,.race-meta{justify-content:space-between;align-items:baseline;gap:.5rem;min-width:0;display:flex}.race-name{text-overflow:ellipsis;white-space:nowrap;font-weight:690;overflow:hidden}.race-name small,.race-meta{color:var(--muted);font-size:.75rem;font-weight:450}.race-count{font-variant-numeric:tabular-nums;font-weight:690}.race-bar{border:1px solid var(--line-strong);background:var(--paper);height:8px}.race-bar span{background:var(--ink);height:100%;display:block}.coop-strip{border:1px solid var(--line);border-radius:2px;align-items:center;gap:.55rem;margin-bottom:.65rem;padding:.55rem .7rem;font-size:.88rem;display:flex}.coop-status{flex:auto;min-width:0}.coop-split{font-variant-numeric:tabular-nums;flex:none;font-weight:690}.presence-dot{border:2px solid var(--line-strong);border-radius:50%;flex:none;width:10px;height:10px}.presence-dot.online{background:var(--ink)}.result-panel{border:2px solid var(--line-strong);background:var(--paper);border-radius:2px;gap:.6rem;margin-bottom:.8rem;padding:1rem;display:grid}.result-panel.won{background:var(--ink);color:var(--paper)}.result-panel.won p,.result-panel.won .completion-grid span{color:var(--paper)}.result-panel.won .primary-action{border-color:var(--paper);background:var(--paper);color:var(--ink)}.result-panel.won .quiet-action{border-color:var(--paper);color:var(--paper);background:0 0}.result-panel h2{font-size:1.5rem}.result-panel p{margin:0}.board-overlay{z-index:3;color:var(--ink);text-align:center;background:#ffffffe0;align-content:center;justify-items:center;gap:.5rem;padding:1.5rem;font-weight:690;display:grid;position:absolute;inset:0}.countdown{font-variant-numeric:tabular-nums;font-size:clamp(3.5rem,18vw,7rem);line-height:1}.cell.wrong{background:var(--ink);color:var(--paper);font-weight:720}.cell.wrong.selected{box-shadow:inset 0 0 0 3px var(--paper), inset 0 0 0 5px var(--ink)}.game-main>.toolbar{grid-template-columns:repeat(auto-fit,minmax(5.5rem,1fr));margin-top:.6rem}.duo-panel .duo-actions .quiet-action{flex:8rem}.home-links{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.5rem;display:flex}.home-hint{flex:16rem;margin:0;font-size:.88rem}.account-view,.leaderboard-view{gap:.9rem;max-width:34rem;margin:0 auto;padding:clamp(1.5rem,6vw,4rem) 0 2rem;display:grid}.leaderboard-view{max-width:52rem}.account-view h1,.leaderboard-view h1{font-size:clamp(2.4rem,9vw,4.5rem)}.account-view p,.leaderboard-view p{margin:0}.account-form{border-top:1px solid var(--soft);gap:.5rem;padding-top:.9rem;display:grid}.account-form small{color:var(--muted)}.account-notice{border:1px solid var(--line-strong);color:var(--ink);border-radius:2px;padding:.75rem}.leaderboard-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;display:grid}.leaderboard-columns h2{margin-bottom:.5rem}.leaderboard-list{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.leaderboard-list li{border-bottom:1px solid var(--soft);grid-template-columns:2rem minmax(0,1fr) auto;align-items:baseline;gap:.6rem;padding:.45rem 0;display:grid}.leaderboard-list li.is-viewer{font-weight:720}.leaderboard-rank,.leaderboard-time{font-variant-numeric:tabular-nums}.leaderboard-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.leaderboard-empty{color:var(--muted)}@media (width<=980px){.topbar{align-items:center}.topbar-controls{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.home-view,.setup-view,.game-view{grid-template-columns:1fr}.setup-actions,.invite-box,.assist-grid{grid-column:auto}.game-sidebar{border-left:0;border-top:1px solid var(--soft);padding:1rem 0 0;position:static}}@media (width<=640px){.app-shell{padding-inline:max(.5rem, env(safe-area-inset-left), env(safe-area-inset-right))}.topbar{grid-template-columns:auto auto;align-items:center;gap:.5rem;display:grid}.settings-menu{justify-self:end}.settings-menu[open]{grid-column:1/-1;justify-items:end;width:100%;display:grid}.settings-menu[open] .topbar-controls{width:100%;box-shadow:none;margin-top:.5rem;position:static}.topbar-controls{width:calc(100vw - 1rem)}.select-label{width:100%}.topbar-consent{grid-column:1/-1}.home-view,.setup-view{min-height:auto;padding-top:1.6rem}.home-view{gap:1.4rem}.home-actions,.social-strip,.segmented-grid,.setup-actions,.leaderboard-columns{grid-template-columns:1fr}.game-main>.toolbar{grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem}.game-main>.toolbar button{overflow-wrap:normal;padding:.4rem .2rem;font-size:.9rem}.share-panel,.race-board,.coop-strip,.result-panel,.game-main>.toolbar{width:calc(100vw - 1rem);max-width:430px}.race-board{gap:.4rem}.race-lane{padding:.45rem .5rem}.mode-button{min-height:64px;padding:.85rem}.game-view{padding-top:.85rem}.game-header{align-items:start;width:calc(100vw - 1rem);margin-bottom:.6rem}.game-header h1{font-size:clamp(1.65rem,9vw,2.4rem)}.timer{padding:.5rem .62rem}.board-wrap,.sudoku-board,.number-pad{width:calc(100vw - 1rem);max-width:430px}.cell{font-size:clamp(1rem,8.2vw,2rem)}.number-pad{gap:.2rem;margin-top:.55rem}.number-pad button{min-height:44px;padding:.18rem 0}.number-pad span{font-size:1rem}.number-pad small{font-size:.58rem}.toolbar button{min-height:44px}h1{font-size:clamp(2.85rem,16vw,4.7rem)}}@media (prefers-reduced-motion:no-preference){.primary-action,.secondary-action,.quiet-action,.toolbar button,.profile-switcher button,.number-pad button,.cell{transition:border-color .12s,background-color .12s,box-shadow .12s}}.legal-footer{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:.4rem 1.1rem;margin-top:2rem;padding:1rem 0 .5rem;font-size:.85rem;display:flex}.legal-footer a{color:inherit}.cookie-note{left:max(1rem, env(safe-area-inset-left));bottom:max(1rem, env(safe-area-inset-bottom));z-index:5;border:1px solid var(--line);background:var(--paper);border-radius:2px;align-items:center;gap:.75rem;max-width:min(100vw - 2rem,28rem);padding:.6rem .75rem;font-size:.85rem;display:flex;position:fixed}.cookie-note a{color:inherit}.cookie-note-actions{flex-direction:column;flex:none;gap:.4rem;display:flex}.cookie-note button{border:1px solid var(--line-strong);background:var(--ink);min-height:40px;color:var(--paper);border-radius:2px;flex:none;padding:.4rem .9rem}.cookie-note button.cookie-decline{background:var(--paper);color:var(--ink)}
