:root,:root[data-theme=soft]{color-scheme:light;--color-background:#f7f1e8;--color-surface:#fcf8f1;--color-surface-raised:#fffaf3;--color-surface-hover:#efe7dc;--color-surface-active:#e4dacd;--color-text:#292e2b;--color-text-muted:#5a625d;--color-text-subtle:#707870;--color-text-on-accent:#fffdf8;--color-border:#d9d1c5;--color-border-strong:#888f88;--color-divider:#e2dacd;--color-accent:#5f786c;--color-accent-hover:#4e675b;--color-accent-active:#3e554a;--color-accent-subtle:#dce8df;--color-text-on-accent-subtle:#30483d;--color-secondary:#806d82;--color-secondary-hover:#6d5b70;--color-secondary-active:#59485c;--color-secondary-subtle:#eee2ef;--color-text-on-secondary:#fffafd;--color-text-on-secondary-subtle:#514154;--color-focus:#526f62;--color-selection:#dce8df;--color-danger-foreground:#934a47;--color-danger-surface:#f9e3df;--color-danger-border:#b96c65;--color-success-foreground:#477052;--color-success-surface:#deecdf;--color-success-border:#699071;--paper-cold:#fffaf3;--paper-deep:#ede5d9;--ink-soft:#3f4943;--rain-line:#b9beb7;--plum-dust:#806d82;--heading-ink:#36413b;--board-border:#626d66;--board-grid-strong:#747d77;--cell-ink:#56635c;--cell-given:#303a35;--cell-selected:#293831;--note-ink:#6f7d75;--shadow-color:#39473d18;--inset-highlight:#ffffffb8;--backdrop-color:#46504842}:root[data-theme=night]{color-scheme:dark;--color-background:#171b22;--color-surface:#202631;--color-surface-raised:#28303c;--color-surface-hover:#323b48;--color-surface-active:#3d4755;--color-text:#f2ede5;--color-text-muted:#c3bcb3;--color-text-subtle:#aaa49d;--color-text-on-accent:#17201c;--color-border:#414b58;--color-border-strong:#7b8692;--color-divider:#38424e;--color-accent:#acc9ba;--color-accent-hover:#bdd8ca;--color-accent-active:#d0e6db;--color-accent-subtle:#344a42;--color-text-on-accent-subtle:#e2f2e9;--color-secondary:#c6acd0;--color-secondary-hover:#d5bce0;--color-secondary-active:#e2ceea;--color-secondary-subtle:#493b50;--color-text-on-secondary:#211925;--color-text-on-secondary-subtle:#f3e5f7;--color-focus:#b9d7c8;--color-selection:#344a42;--color-danger-foreground:#ffb5ad;--color-danger-surface:#512f32;--color-danger-border:#d47c76;--color-success-foreground:#b7dfbe;--color-success-surface:#294333;--color-success-border:#6eaa79;--paper-cold:#202631;--paper-deep:#14181f;--ink-soft:#e9e2d9;--rain-line:#56616e;--plum-dust:#c6acd0;--heading-ink:#f3ece3;--board-border:#919ba6;--board-grid-strong:#7b8793;--cell-ink:#d5d9dc;--cell-given:#fffaf1;--cell-selected:#f1fff7;--note-ink:#aeb8c0;--shadow-color:#05070a66;--inset-highlight:#ffffff16;--backdrop-color:#080b10a6}:root[data-theme=kawaii]{color-scheme:light;--color-background:#fff3f7;--color-surface:#fff9fc;--color-surface-raised:#fffdfd;--color-surface-hover:#fbe6ef;--color-surface-active:#f4d9e6;--color-text:#3d3441;--color-text-muted:#655767;--color-text-subtle:#7d6c7a;--color-text-on-accent:#fffafd;--color-border:#ead0dd;--color-border-strong:#a77f94;--color-divider:#efd8e3;--color-accent:#a94e78;--color-accent-hover:#913d67;--color-accent-active:#792f55;--color-accent-subtle:#f5d9e7;--color-text-on-accent-subtle:#6f294c;--color-secondary:#4f8071;--color-secondary-hover:#3e6d5f;--color-secondary-active:#31594d;--color-secondary-subtle:#d9eee7;--color-text-on-secondary:#fffefd;--color-text-on-secondary-subtle:#285245;--color-focus:#99446e;--color-selection:#f5d9e7;--color-danger-foreground:#a43f59;--color-danger-surface:#ffe1e7;--color-danger-border:#cb6a7f;--color-success-foreground:#47745d;--color-success-surface:#ddf1e7;--color-success-border:#6c9e85;--paper-cold:#fffafd;--paper-deep:#f8e4ed;--ink-soft:#584658;--rain-line:#d6b9c9;--plum-dust:#a94e78;--heading-ink:#564354;--board-border:#806677;--board-grid-strong:#9d7f91;--cell-ink:#665269;--cell-given:#463647;--cell-selected:#592d47;--note-ink:#806b7d;--shadow-color:#713e5a1c;--inset-highlight:#ffffffc9;--backdrop-color:#76546445}:root{--sudoku-board-border-width:2px;--sudoku-board-radius:7px;--sudoku-board-radius-compact:4px;--sudoku-selection-outline-inset:4px;--sudoku-selection-outline-width:1px;color:var(--color-text);background:var(--paper-deep);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--paper-deep);min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}button:disabled{cursor:default;opacity:.38}.app-shell{background:var(--color-background);min-height:100dvh;position:relative;overflow:hidden}.app-shell:before{z-index:0;background:radial-gradient(circle, color-mix(in oklab, var(--plum-dust) 10%, transparent), transparent 68%);content:"";pointer-events:none;border-radius:50%;width:740px;height:740px;position:fixed;top:-410px;left:-250px}.brand-mark{width:31px;height:31px;color:var(--ink-soft);border:1px solid;border-radius:7px;flex:none;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:2px;padding:5px;display:grid}.brand-mark span,.brand-mark i{opacity:.54;border:1px solid;display:block}.brand-mark i{background:var(--plum-dust);opacity:1;border:0;border-radius:50%}.brand-large .brand-mark{border-radius:12px;width:50px;height:50px;padding:8px}.welcome{z-index:1;grid-template-rows:auto 1fr auto;grid-template-columns:1.1fr .9fr;column-gap:clamp(42px,8vw,110px);width:min(1120px,100%);min-height:100dvh;margin:auto;padding:34px clamp(22px,5vw,72px) 24px;display:grid;position:relative}.welcome-hidden{display:none}.welcome-brand{color:var(--ink-soft);letter-spacing:.025em;grid-column:1/-1;align-items:center;gap:12px;font:500 14px/1.2 Georgia,Times New Roman,serif;display:flex}.welcome-copy{align-self:center;padding:80px 0}.eyebrow,.dialog-kicker{color:var(--color-text-subtle);letter-spacing:.17em;text-transform:uppercase;margin:0 0 21px;font-size:10px;font-weight:650}.welcome-copy h1{color:var(--heading-ink);letter-spacing:-.045em;margin:0;font:400 clamp(48px,6.6vw,82px)/.98 Georgia,Times New Roman,serif}.welcome-copy>p:last-of-type{color:var(--color-text-muted);margin:27px 0 0;font-size:13px;line-height:1.7}.resume-button{border:1px solid var(--color-border-strong);background:var(--color-surface);min-height:45px;color:var(--ink-soft);border-radius:999px;align-items:center;gap:12px;margin-top:26px;padding:8px 16px;font-size:11px;display:flex}.resume-button:hover{background:var(--color-surface-hover)}.resume-button span{color:var(--color-text-subtle);border-left:1px solid var(--color-divider);padding-left:12px;font-size:9px}.kawaii-decor{color:var(--plum-dust);pointer-events:none;display:none;position:absolute}:root[data-theme=kawaii] .kawaii-decor{display:block}.kawaii-decor svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:100%;height:100%}.kawaii-decor-paw{opacity:.25;width:42px;height:42px;top:15%;right:43%;transform:rotate(-13deg)}.kawaii-decor-candy{opacity:.3;width:36px;height:36px;bottom:10%;right:3%;transform:rotate(11deg)}.kawaii-decor-dino{opacity:.24;width:70px;height:70px;bottom:8%;left:1%}.kawaii-dinosaur path:first-child{fill:var(--color-secondary-subtle)}.difficulty-list{border-top:1px solid var(--color-border-strong);align-self:center}.difficulty-list button{border:0;border-bottom:1px solid var(--color-divider);text-align:left;background:0 0;grid-template-columns:34px 105px minmax(0,1fr);align-items:center;gap:12px;width:100%;min-height:76px;padding:0 4px;transition:padding .18s,background .18s;display:grid}.difficulty-list button:hover{background:color-mix(in oklab, var(--color-surface) 72%, transparent);padding-left:12px;padding-right:12px}.difficulty-list button>span{color:var(--plum-dust);font:italic 12px/1 Georgia,serif}.difficulty-list strong{color:var(--ink-soft);font:400 20px/1 Georgia,serif}.difficulty-list small{color:var(--color-text-subtle);text-align:right;font-size:10px}.welcome footer{color:var(--color-text-subtle);letter-spacing:.07em;grid-column:1/-1;font-size:9px}.quiet-loader{z-index:10;min-height:100dvh;color:var(--color-text-muted);background:var(--color-background);text-align:center;place-content:center;justify-items:center;gap:16px;padding:30px;display:grid;position:relative}.quiet-loader p{margin:0;font:400 18px/1.4 Georgia,serif}.quiet-loader button{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:999px;min-height:38px;padding:0 18px;font-size:11px}.quiet-loader svg,.spin{animation:1.8s linear infinite drift-spin}.error-state p{max-width:360px;color:var(--color-danger-foreground)}.game-shell{z-index:1;min-height:100dvh;position:relative}.game-header{border-bottom:1px solid var(--color-divider);background:color-mix(in oklab, var(--color-surface) 82%, transparent);backdrop-filter:blur(14px);grid-template-columns:1fr auto 1fr;align-items:center;height:72px;padding:0 clamp(18px,4vw,48px);display:grid}.wordmark{width:max-content;color:var(--ink-soft);background:0 0;border:0;align-items:center;gap:11px;padding:0;font:500 13px/1 Georgia,serif;display:flex}.wordmark .brand-mark{width:28px;height:28px;padding:5px}.game-meta{color:var(--color-text-subtle);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:19px;font-size:10px;display:flex}.game-meta time{color:var(--ink-soft);letter-spacing:.08em;font-variant-numeric:tabular-nums;font:500 13px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.game-meta.has-timer span:after{background:var(--plum-dust);content:"";vertical-align:middle;border-radius:50%;width:3px;height:3px;margin-left:19px;display:inline-block}.header-actions{justify-self:end;gap:6px;display:flex}.header-actions button{background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.header-actions button:hover{border-color:var(--color-border);background:var(--color-surface-hover)}.game-stage{grid-template-columns:minmax(360px,570px) 244px;justify-content:center;align-items:center;gap:clamp(38px,6vw,86px);width:min(1030px,100%);min-height:calc(100vh - 72px);margin:auto;padding:clamp(22px,4vh,48px) 28px 34px;display:grid}.board-column{min-width:0}.sudoku-board{--sudoku-cell-track:minmax(0, 1fr);--sudoku-cell-gutter:1px;--sudoku-block-gutter:3px;--sudoku-block-tracks:repeat(2, var(--sudoku-cell-track) var(--sudoku-cell-gutter)) var(--sudoku-cell-track);aspect-ratio:1;grid-template-columns:var(--sudoku-block-tracks) var(--sudoku-block-gutter) var(--sudoku-block-tracks) var(--sudoku-block-gutter) var(--sudoku-block-tracks);grid-template-rows:var(--sudoku-block-tracks) var(--sudoku-block-gutter) var(--sudoku-block-tracks) var(--sudoku-block-gutter) var(--sudoku-block-tracks);border:var(--sudoku-board-border-width) solid var(--board-border);border-radius:var(--sudoku-board-radius);background:var(--board-grid-strong);width:100%;box-shadow:0 20px 60px var(--shadow-color), 0 1px 0 var(--inset-highlight) inset;display:grid;overflow:hidden}.sudoku-cell{background:var(--paper-cold);min-width:0;min-height:0;color:var(--cell-ink);font-variant-numeric:tabular-nums;border:0;place-items:center;padding:0;font:400 clamp(19px,3vw,29px)/1 Georgia,Times New Roman,serif;transition:background .12s,color .12s;display:grid;position:relative}.sudoku-cell:hover{background:var(--color-surface-hover)}.sudoku-cell.given{color:var(--cell-given);font-weight:600}.sudoku-cell.related{background:color-mix(in oklab, var(--color-accent-subtle) 36%, var(--paper-cold))}.sudoku-cell.same{color:var(--color-text-on-accent-subtle);background:color-mix(in oklab, var(--color-accent-subtle) 72%, var(--paper-cold))}.sudoku-cell.hinted{background:var(--color-secondary-subtle)}.sudoku-cell.hinted:before{border:2px solid var(--color-secondary);content:"";pointer-events:none;position:absolute;inset:3px}.sudoku-cell.selected{color:var(--cell-selected);background:var(--color-accent-subtle)}.sudoku-cell.selected:before{inset:var(--sudoku-selection-outline-inset);border:var(--sudoku-selection-outline-width) solid var(--color-accent);content:"";pointer-events:none;opacity:.5;position:absolute}.sudoku-cell.selected:first-child:before{border-top-left-radius:max(0px, calc(var(--sudoku-board-radius) - var(--sudoku-board-border-width) - var(--sudoku-selection-outline-inset)))}.sudoku-cell.selected:nth-child(9):before{border-top-right-radius:max(0px, calc(var(--sudoku-board-radius) - var(--sudoku-board-border-width) - var(--sudoku-selection-outline-inset)))}.sudoku-cell.selected:nth-child(73):before{border-bottom-left-radius:max(0px, calc(var(--sudoku-board-radius) - var(--sudoku-board-border-width) - var(--sudoku-selection-outline-inset)))}.sudoku-cell.selected:last-child:before{border-bottom-right-radius:max(0px, calc(var(--sudoku-board-radius) - var(--sudoku-board-border-width) - var(--sudoku-selection-outline-inset)))}.sudoku-cell.conflict,.sudoku-cell.incorrect{color:var(--color-danger-foreground);background:var(--color-danger-surface)}.sudoku-cell.conflict:after,.sudoku-cell.incorrect:after{background:var(--color-danger-foreground);content:"";border-radius:50%;width:4px;height:4px;position:absolute;bottom:6px;right:6px}.notes{width:100%;height:100%;color:var(--note-ink);grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);padding:4px;display:grid}.notes i{place-items:center;font:500 clamp(7px,1.1vw,11px)/1 ui-sans-serif,system-ui,sans-serif;display:grid}.board-caption{color:var(--color-text-subtle);text-align:center;margin:10px 0 0;font-size:9px}.controls-column{align-self:center;min-width:0}.number-pad{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.number-pad button{aspect-ratio:1.12;border:1px solid var(--color-border);background:var(--color-surface-raised);color:var(--ink-soft);box-shadow:0 1px 0 var(--inset-highlight) inset;border-radius:5px;font:400 24px/1 Georgia,serif;transition:transform .1s,background .12s}.number-pad button:hover{background:var(--color-surface-hover)}.number-pad button:active{background:var(--color-surface-active);transform:translateY(1px)}.tool-row{grid-template-columns:repeat(4,1fr);gap:5px;margin-top:16px;display:grid}.tool-row button{min-width:0;height:49px;color:var(--color-text-muted);background:0 0;border:1px solid #0000;border-radius:5px;align-content:center;place-items:center;gap:4px;padding:5px 2px;display:grid}.tool-row button span{font-size:8px}.tool-row button:hover,.tool-row button.active{color:var(--ink-soft);border-color:var(--color-border);background:var(--color-surface)}.tool-row button.active{color:var(--color-text-on-accent-subtle);background:var(--color-accent-subtle)}.hint-button{border:1px solid var(--color-border-strong);width:100%;min-height:41px;color:var(--ink-soft);background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:8px;margin-top:13px;font-size:10px;display:flex}.hint-button:hover{background:var(--color-surface)}.hint-card{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 12px 30px var(--shadow-color);border-radius:7px;margin-top:13px;padding:17px;position:relative}.hint-card>span{color:var(--plum-dust);letter-spacing:.14em;text-transform:uppercase;font-size:8px;font-weight:700}.hint-card h2{color:var(--ink-soft);margin:8px 0 7px;font:400 18px/1.2 Georgia,serif}.hint-card p{color:var(--color-text-muted);margin:0;font-size:10px;line-height:1.55}.hint-card>button:not(.close-hint){min-height:32px;color:var(--color-text-on-accent);background:var(--color-accent);border:0;border-radius:4px;margin-top:13px;padding:0 12px;font-size:9px}.close-hint{width:27px;height:27px;color:var(--color-text-subtle);background:0 0;border:0;place-items:center;display:grid;position:absolute;top:7px;right:7px}.pause-layer,.generation-layer,.completion-layer{z-index:20;text-align:center;place-content:center;justify-items:center;display:grid;position:fixed;inset:72px 0 0}.pause-layer{background:color-mix(in oklab, var(--paper-deep) 92%, transparent);backdrop-filter:blur(13px)}.pause-layer>span,.completion-layer>div:first-child span{color:var(--plum-dust);letter-spacing:.16em;text-transform:uppercase;font-size:9px;font-weight:700}.pause-layer h2{color:var(--ink-soft);margin:13px 0 25px;font:400 31px/1.1 Georgia,serif}.pause-layer button,.generation-layer button{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:999px;align-items:center;gap:8px;min-height:40px;padding:0 19px;font-size:10px;display:flex}.generation-layer{background:color-mix(in oklab, var(--paper-deep) 94%, transparent);backdrop-filter:blur(8px)}.generation-layer svg{color:var(--plum-dust);animation:1.8s linear infinite drift-spin}.generation-layer p{margin:14px 0 20px;font:400 19px/1.3 Georgia,serif}.completion-layer{background:color-mix(in oklab, var(--paper-deep) 95%, transparent);backdrop-filter:blur(12px);padding:28px}.completion-layer>div:first-child{color:var(--color-success-foreground);align-items:center;gap:8px;display:flex}.completion-layer h2{max-width:480px;color:var(--ink-soft);margin:15px 0 28px;font:400 clamp(30px,4vw,45px)/1.07 Georgia,serif}.completion-layer dl{grid-template-columns:repeat(3,105px);margin:0 0 30px;display:grid}.completion-layer dl.without-timer{grid-template-columns:repeat(2,105px)}.completion-layer dl>div{border-right:1px solid var(--color-divider);padding:0 14px}.completion-layer dl>div:last-child{border:0}.completion-layer dt{color:var(--color-text-subtle);letter-spacing:.12em;text-transform:uppercase;font-size:8px}.completion-layer dd{color:var(--ink-soft);margin:7px 0 0;font:400 15px/1 Georgia,serif}.completion-actions{gap:9px;display:flex}.completion-actions button{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:999px;align-items:center;gap:7px;min-height:40px;padding:0 17px;font-size:10px;display:flex}.completion-actions button.primary{color:var(--color-text-on-accent);border-color:var(--color-accent);background:var(--color-accent)}.sheet-dialog{width:min(480px,100% - 28px);max-height:calc(100dvh - 28px);color:var(--color-text);border:1px solid var(--color-border-strong);background:var(--paper-cold);box-shadow:0 30px 90px var(--shadow-color);border-radius:10px;padding:31px;overflow:auto}.sheet-dialog::backdrop{background:var(--backdrop-color);backdrop-filter:blur(5px)}.sheet-dialog h2{color:var(--ink-soft);margin:0;font:400 29px/1.1 Georgia,serif}.sheet-dialog>p{color:var(--color-text-muted);font-size:10px;line-height:1.55}.dialog-close{background:0 0;border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:13px;right:13px}.dialog-close:hover{background:var(--color-surface-hover)}.dialog-difficulties{border-top:1px solid var(--color-border-strong);margin-top:24px}.dialog-difficulties button{border:0;border-bottom:1px solid var(--color-divider);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:15px;width:100%;min-height:60px;padding:0 5px;display:flex}.dialog-difficulties button:hover{background:var(--color-surface-hover);padding-left:12px;padding-right:12px}.dialog-difficulties strong{font:400 17px/1 Georgia,serif}.dialog-difficulties span{color:var(--color-text-subtle);font-size:9px}.settings-dialog{width:min(500px,100% - 28px)}.setting-row{border-top:1px solid var(--color-border-strong);border-bottom:1px solid var(--color-divider);justify-content:space-between;align-items:center;gap:25px;min-height:76px;margin-top:28px;padding:13px 0;display:flex}.setting-row span{gap:5px;display:grid}.setting-row strong{color:var(--ink-soft);font-size:11px}.setting-row small{color:var(--color-text-subtle);font-size:9px;line-height:1.4}.setting-row input{width:37px;height:21px;accent-color:var(--color-accent)}.setting-row+.setting-row{border-top:0;margin-top:0}.theme-picker{border:0;min-width:0;margin:24px 0 0;padding:0}.theme-picker legend{color:var(--ink-soft);margin-bottom:11px;font-size:11px;font-weight:700}.theme-options{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.theme-option{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:8px;gap:5px;min-width:0;padding:10px;display:grid}.theme-option:hover{background:var(--color-surface-hover)}.theme-option.selected{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.theme-option input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.theme-option:has(input:focus-visible){outline:3px solid var(--color-focus);outline-offset:3px}.theme-option strong{color:var(--ink-soft);font-size:10px}.theme-option small{color:var(--color-text-subtle);font-size:8px;line-height:1.35}.theme-swatch{border-radius:5px;align-items:end;gap:4px;height:36px;margin-bottom:3px;padding:7px;display:flex;overflow:hidden}.theme-swatch i{border-radius:50%;width:12px;height:12px;display:block}.theme-swatch i:first-child{width:19px;height:19px}.theme-swatch-soft{background:#f7f1e8}.theme-swatch-soft i{background:#5f786c}.theme-swatch-soft i:nth-child(2){background:#806d82}.theme-swatch-soft i:nth-child(3){background:#dce8df}.theme-swatch-night{background:#202631}.theme-swatch-night i{background:#acc9ba}.theme-swatch-night i:nth-child(2){background:#c6acd0}.theme-swatch-night i:nth-child(3){background:#414b58}.theme-swatch-kawaii{background:#fff3f7}.theme-swatch-kawaii i{background:#a94e78}.theme-swatch-kawaii i:nth-child(2){background:#a995d1}.theme-swatch-kawaii i:nth-child(3){background:#9fd7c4}.privacy-note{border-left:2px solid var(--color-secondary-subtle);margin:20px 0 0;padding-left:13px}.toast{max-width:min(470px,100% - 28px);min-height:46px;right:18px;bottom:max(18px, env(safe-area-inset-bottom));z-index:80;color:var(--color-text);border:1px solid var(--color-border-strong);background:var(--color-surface-raised);box-shadow:0 14px 38px var(--shadow-color);border-radius:7px;align-items:center;gap:18px;padding:10px 13px 10px 16px;font-size:10px;display:flex;position:fixed}.toast button{min-height:28px;color:var(--color-text-on-accent);background:var(--color-accent);border:0;border-radius:4px;padding:0 10px;font-size:9px}:root[data-theme=kawaii] .brand-mark,:root[data-theme=kawaii] .number-pad button,:root[data-theme=kawaii] .hint-card{border-radius:11px}:root[data-theme=kawaii] .tool-row button,:root[data-theme=kawaii] .hint-card>button:not(.close-hint){border-radius:9px}:root[data-theme=kawaii] .sheet-dialog{border-radius:17px}:root[data-theme=kawaii]{--sudoku-board-radius:11px;--sudoku-board-radius-compact:8px}@keyframes drift-spin{to{transform:rotate(360deg)}}@media (width<=760px){.welcome{flex-direction:column;min-height:100dvh;padding:23px 21px 18px;display:flex}.welcome-copy{padding:clamp(54px,10vh,90px) 0 42px}.welcome-copy h1{font-size:clamp(48px,15vw,66px)}.difficulty-list{margin-bottom:35px}.difficulty-list button{grid-template-columns:29px 88px minmax(0,1fr);min-height:65px}.difficulty-list strong{font-size:17px}.welcome footer{margin-top:auto}.game-header{grid-template-columns:1fr auto auto;gap:8px;height:61px;padding:0 13px}.wordmark span:last-child{display:none}.game-meta{gap:9px}.game-meta span,.game-meta span:after{display:none}.header-actions{margin-left:3px}.header-actions button{width:36px;height:36px}.game-stage{min-height:calc(100dvh - 61px);padding:16px 12px max(18px, env(safe-area-inset-bottom));display:block}.board-column{width:min(100%,560px);margin:auto}.sudoku-board{--sudoku-board-radius:var(--sudoku-board-radius-compact)}.sudoku-cell{font-size:clamp(18px,6.3vw,28px)}.notes{padding:2px}.notes i{font-size:clamp(6px,2.2vw,10px)}.board-caption{display:none}.controls-column{width:min(100%,560px);margin:13px auto 0}.number-pad{grid-template-columns:repeat(9,1fr);gap:3px}.number-pad button{aspect-ratio:.72;border-radius:4px;min-width:0;font-size:clamp(18px,5.7vw,25px)}.tool-row{margin-top:9px}.tool-row button{height:45px}.hint-button{margin-top:8px}.hint-card{margin-top:9px}.pause-layer,.generation-layer,.completion-layer{inset:61px 0 0}.completion-layer dl{grid-template-columns:repeat(3,minmax(82px,1fr))}.sheet-dialog{width:100%;max-width:none;padding:29px 22px max(25px, env(safe-area-inset-bottom));border-radius:13px 13px 0 0;margin:auto auto 0}.toast{right:14px;bottom:max(14px, env(safe-area-inset-bottom))}}@media (width<=380px){.game-stage{padding-left:7px;padding-right:7px}.tool-row button span{font-size:7px}.completion-actions{flex-direction:column}.difficulty-list small{font-size:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
