:root{--bg:#fafaf8;--surface:#ffffff;--surface-2:#f2f2ee;--border:#e2e2dc;--border-strong:#b8b8ae;--text:#1c1c1a;--text-muted:#6b6b63;--text-given:#1c1c1a;--accent:#2f5fd2;--accent-weak:#e7eefd;--conflict:#c51630;--conflict-bg:#fbe3e6;--complete:#137a42;--complete-bg:#e2f4ea;--hint:#2f5fd2;--hint-bg:#e7eefd;--candidate-ink:#5f5f58;--selected-bg:#fff3cc;--peer-bg:#f4f4ef;--grid-line:#111111;--grid-line-strong:#000000;--impact-bg:#d6e6fb;--d1:#1d4ed8;--d2:#047857;--d3:#c2410c;--d4:#6d28d9;--d5:#0e7490;--d6:#a21caf;--d7:#334155;--d8:#92400e;--d9:#ca8a04;--font-ui:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-num:Inter,system-ui,sans-serif;--fs-cell:clamp(1.25rem,6vmin,2.25rem);--fs-candidate:clamp(0.5rem,2.2vmin,0.8rem);--tap-min:44px;--brand-grad:linear-gradient(135deg,#3b82f6,#64b4ff);--brand-grad-ink:#ffffff;--footer-bg:#080f1c;--footer-text:#e2e8f0;--footer-muted:rgba(226,232,240,0.62);--footer-border:rgba(226,232,240,0.14);--footer-link-hover:#64b4ff}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-ui)}a{color:inherit}button,input,select{font:inherit}.cell,a,button,input,select{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.game-shell{min-height:100vh;display:flex;flex-direction:column;padding-inline:env(safe-area-inset-left) env(safe-area-inset-right);background:var(--bg);color:var(--text)}.game-shell[data-theme=dark]{--bg:#141413;--surface:#1e1e1c;--surface-2:#262623;--border:#34342f;--border-strong:#55554d;--text:#f2f2ec;--text-muted:#a3a399;--accent:#7da0f5;--accent-weak:#23304f;--conflict:#ff6b7a;--conflict-bg:#3a1e22;--complete:#5bd08c;--complete-bg:#16301f;--hint:#7da0f5;--hint-bg:#23304f;--candidate-ink:#8e8e84;--selected-bg:#3a3417;--peer-bg:#222220;--grid-line:#55554d;--grid-line-strong:#74746a;--impact-bg:#1e2a3a;--d1:#7da0f5;--d2:#5bd08c;--d3:#f0a868;--d4:#b794f6;--d5:#5fc6db;--d6:#e87fd0;--d7:#cbd5e1;--d8:#d9a05b;--d9:#e0c64a}.game-shell[data-theme=zen]{--bg:#f3f1ea;--surface:#fbfaf5;--surface-2:#eceae1;--border:#dad7cc;--border-strong:#b5b1a2;--text:#2a2a24;--text-muted:#69675f;--accent:#566b50;--accent-weak:#e6eae2;--conflict:#8f3e37;--conflict-bg:#f0e0dd;--complete:#4b6c45;--complete-bg:#e3eadf;--hint:#566b50;--hint-bg:#e6eae2;--candidate-ink:#67655d;--selected-bg:#ede7d2;--peer-bg:#eeece3;--grid-line:#6b6757;--grid-line-strong:#4a473c;--impact-bg:#e2ddcb;--d1:#3f5e8c;--d2:#4b6c45;--d3:#9c5a2c;--d4:#6b5a8c;--d5:#3f7a86;--d6:#8c4f78;--d7:#4b4b44;--d8:#7a5a3a;--d9:#8c7a2c}.game-shell[data-large-print=true]{--fs-cell:clamp(1.65rem,7vmin,2.75rem);font-size:1.12rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:12px clamp(16px,4vw,40px);-webkit-border-after:1px solid var(--border);border-block-end:1px solid var(--border);background:var(--surface)}.sukuro-logo{display:inline-flex;align-items:center;gap:9px;min-height:var(--tap-min);text-decoration:none}.sukuro-logo__glyph{display:block;flex:none}.sukuro-logo__word{font-size:1.35rem;letter-spacing:-.01em;color:var(--accent)}.sukuro-logo__kuro,.sukuro-logo__su{font-weight:800}.sukuro-logo__ai{-webkit-margin-start:3px;margin-inline-start:3px;font-size:.62em;font-weight:700;vertical-align:super;letter-spacing:.02em;opacity:.85}.topbar-brand{display:inline-flex;align-items:center;gap:12px;min-width:0}.brand-slogan{-webkit-padding-start:12px;padding-inline-start:12px;-webkit-border-start:1px solid var(--border);border-inline-start:1px solid var(--border);font-size:.95rem;font-weight:700;line-height:1.2;letter-spacing:-.01em;color:var(--text);white-space:nowrap}@media (max-width:720px){.brand-slogan{display:none}}.icon-link{min-height:var(--tap-min);min-width:var(--tap-min);display:inline-flex;align-items:center;justify-content:center;font-size:1.15rem;line-height:1;color:var(--text-muted);text-decoration:none}.icon-link:hover{color:var(--accent)}.topbar nav{display:flex;flex-wrap:wrap;gap:12px}.premium-link,.topbar nav a,.topbar nav span{min-height:var(--tap-min);display:inline-flex;align-items:center;text-decoration:none;color:var(--text-muted)}.coming-soon{opacity:.55}.premium-link{background:var(--brand-grad);color:var(--brand-grad-ink);font-weight:700;padding-inline:16px;border-radius:999px;box-shadow:0 2px 10px rgba(59,130,246,.28)}.premium-link:hover{filter:brightness(1.05)}.topbar-actions{display:flex;align-items:center;gap:10px}.field input,.field select,.language-switcher select{width:100%;min-height:var(--tap-min);border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);padding-inline:10px}.account-link{min-height:var(--tap-min);display:inline-flex;align-items:center;color:var(--text-muted);text-decoration:none}.play-layout{display:grid;grid-template-columns:minmax(150px,220px) minmax(300px,1fr) minmax(220px,280px);grid-gap:clamp(16px,3vw,32px);gap:clamp(16px,3vw,32px);align-items:start;padding:clamp(16px,4vw,40px)}.controls-panel,.level-panel{display:grid;grid-gap:16px;gap:16px}.metric{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-block:8px;-webkit-border-after:1px solid var(--border);border-block-end:1px solid var(--border);color:var(--text-muted)}.metric strong{color:var(--text);font-size:1.25rem}.board-zone{--board-edge:calc(min(96vw, 92vmin, 680px) * var(--board-zoom, 1));display:grid;justify-items:center;grid-gap:12px;gap:12px;width:100%;max-width:100%;overflow:auto}.loading{width:var(--board-edge);aspect-ratio:1;display:grid;place-items:center;background:var(--surface);border:1px solid var(--border)}.sudoku-board{width:var(--board-edge);aspect-ratio:1;display:grid;grid-template-columns:repeat(var(--board-size,9),minmax(0,1fr));background:var(--grid-line-strong);border:3px solid var(--grid-line-strong)}.cell{position:relative;min-width:0;min-height:0;display:grid;place-items:center;border:1px solid var(--grid-line);background:var(--surface);color:var(--text);font-family:var(--font-num);font-feature-settings:"tnum" 1,"lnum" 1;cursor:pointer}.cell.box-right{-webkit-border-end:3px solid var(--grid-line-strong);border-inline-end:3px solid var(--grid-line-strong)}.cell.box-bottom{-webkit-border-after:3px solid var(--grid-line-strong);border-block-end:3px solid var(--grid-line-strong)}.cell.given{background:var(--surface-2);color:var(--text);font-weight:800}.cell.peer{background:var(--peer-bg)}.cell.impact{background:var(--impact-bg)}.cell.selected{background:var(--selected-bg);z-index:1}.cell.conflict{background:var(--conflict-bg);color:var(--conflict)}.cell.complete:not(.conflict){background:var(--complete-bg)}.cell.hinted{box-shadow:inset 0 0 0 3px var(--hint)}.digit{font-size:var(--fs-cell);line-height:1}.sudoku-board[data-board-size="12"]{--fs-cell:clamp(0.85rem,3.6vmin,1.45rem)}.sudoku-board[data-board-size="16"]{--fs-cell:clamp(0.65rem,2.7vmin,1.15rem)}.sudoku-board[data-digit-colors=true] .cell:not(.conflict) .digit[data-value="1"]{color:var(--d1)}.sudoku-board[data-digit-colors=true] .cell:not(.conflict) .digit[data-value="2"]{color:var(--d2)}.sudoku-board[data-digit-colors=true] .cell:not(.conflict) .digit[data-value="3"]{color:var(--d3)}.sudoku-board[data-digit-colors=true] .cell:not(.conflict) .digit[data-value="4"]{color:var(--d4)}.sudoku-board[data-digit-colors=true] .cell:not(.conflict) .digit[data-value="5"]{color:var(--d5)}.sudoku-board[data-digit-colors=true] .cell:not(.conflict) .digit[data-value="6"]{color:var(--d6)}.sudoku-board[data-digit-colors=true] .cell:not(.conflict) .digit[data-value="7"]{color:var(--d7)}.sudoku-board[data-digit-colors=true] .cell:not(.conflict) .digit[data-value="8"]{color:var(--d8)}.sudoku-board[data-digit-colors=true] .cell:not(.conflict) .digit[data-value="9"]{color:var(--d9)}.number-pad[data-digit-colors=true] button[data-value="1"]{color:var(--d1)}.number-pad[data-digit-colors=true] button[data-value="2"]{color:var(--d2)}.number-pad[data-digit-colors=true] button[data-value="3"]{color:var(--d3)}.number-pad[data-digit-colors=true] button[data-value="4"]{color:var(--d4)}.number-pad[data-digit-colors=true] button[data-value="5"]{color:var(--d5)}.number-pad[data-digit-colors=true] button[data-value="6"]{color:var(--d6)}.number-pad[data-digit-colors=true] button[data-value="7"]{color:var(--d7)}.number-pad[data-digit-colors=true] button[data-value="8"]{color:var(--d8)}.number-pad[data-digit-colors=true] button[data-value="9"]{color:var(--d9)}.candidates{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:0 2px;color:var(--candidate-ink);font-size:var(--fs-candidate);line-height:1.15;text-align:center;overflow-wrap:anywhere}.status-line{min-height:1.5em;margin:0;color:var(--text-muted);text-align:center}.ai-coach-badge{display:inline-block;-webkit-margin-start:8px;margin-inline-start:8px;padding:1px 8px;border-radius:999px;font-size:.72rem;font-weight:700;white-space:nowrap;vertical-align:middle;color:var(--accent);background:var(--accent-weak)}.number-pad,.toolbar{display:grid;grid-template-columns:repeat(3,minmax(var(--tap-min),1fr));grid-gap:8px;gap:8px}.number-pad button,.toolbar button{min-height:var(--tap-min);border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text)}.toolbar button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-weak);color:var(--accent);font-weight:700}.number-pad button{font-weight:800}.number-pad button:disabled{color:var(--text-muted);opacity:.55}.play-controls{display:grid;grid-gap:12px;gap:12px}.board-zoom{display:flex;align-items:center;gap:8px;min-height:var(--tap-min)}.board-zoom .control-label{color:var(--text-muted);font-size:.82rem;font-weight:700;white-space:nowrap}.board-zoom input[type=range]{flex:1 1;min-width:0;accent-color:var(--accent)}.board-zoom button{min-width:var(--tap-min);min-height:var(--tap-min);border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-weight:800}.board-nav{display:flex;align-items:center;gap:8px}.board-nav .control-label{color:var(--text-muted);font-size:.82rem;font-weight:700;white-space:nowrap}.section-grid{display:grid;grid-template-columns:repeat(3,var(--tap-min));grid-template-rows:repeat(3,var(--tap-min));grid-gap:4px;gap:4px}.section-grid button{min-width:var(--tap-min);min-height:var(--tap-min);padding:0;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:1rem;line-height:1}.section-grid button.section-center{font-size:.72rem;font-weight:700}.section-grid button:hover{border-color:var(--accent)}.display-settings{display:grid;grid-gap:12px;gap:12px;border:1px solid var(--border);border-radius:8px;padding:8px 12px}.display-settings>summary{min-height:var(--tap-min);display:flex;align-items:center;cursor:pointer;font-weight:700;color:var(--text);list-style:none}.display-settings>summary::-webkit-details-marker{display:none}.display-settings>summary:after{content:"▾";-webkit-margin-start:auto;margin-inline-start:auto;color:var(--text-muted);transition:transform .15s ease}.display-settings[open]>summary:after{transform:rotate(180deg)}.field,.toggle{display:grid;grid-gap:6px;gap:6px;color:var(--text-muted)}.toggle{grid-template-columns:auto 1fr;align-items:center}.toggle input{min-width:22px;min-height:22px}.ad-slot{min-height:72px;margin:0 clamp(16px,4vw,40px) 24px;border-block:1px solid var(--border)}.site-footer{-webkit-margin-before:auto;margin-block-start:auto;padding:12px clamp(16px,4vw,40px);background:var(--footer-bg);color:var(--footer-muted);font-size:.82rem}.site-footer a{color:var(--footer-muted);text-decoration:none}.site-footer a:hover{color:var(--footer-link-hover)}.yeda-logo{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--footer-text)}.yeda-logo__mark{display:block;flex:none}.yeda-logo__word{font-size:.9rem;font-weight:600;letter-spacing:.01em;color:var(--footer-text)}.yeda-logo__word strong{font-weight:700}.footer-bottom{justify-content:space-between;gap:10px 20px;max-width:1100px;margin-inline:auto}.footer-bottom,.footer-mini{display:flex;flex-wrap:wrap;align-items:center}.footer-mini{gap:8px 20px}.footer-copy{margin:0;color:var(--footer-muted)}.rules-page{max-width:760px;margin-inline:auto;padding:clamp(24px,5vw,56px)}.rules-page h1{font-size:2rem}.rules-page li{margin-block:10px}.kakuro-page{display:grid;justify-items:center;grid-gap:20px;gap:20px;padding:clamp(20px,4vw,44px)}.kakuro-copy{max-width:680px;text-align:center}.eyebrow{margin:0 0 6px;color:var(--text-muted);font-size:.82rem;font-weight:800;text-transform:uppercase}.kakuro-copy h1{margin-block:0 8px;font-size:2rem}.kakuro-copy p:last-child{-webkit-margin-after:0;margin-block-end:0;color:var(--text-muted)}.kakuro-settings{width:min(100%,520px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.kakuro-board{width:var(--board-edge,min(96vw,92vmin,680px));aspect-ratio:1;display:grid;grid-template-columns:repeat(var(--board-size,5),minmax(0,1fr));border:2px solid var(--border-strong);background:var(--border-strong)}.kakuro-cell{min-width:0;min-height:0;border:1px solid var(--border)}.kakuro-block{position:relative;display:grid;background:var(--surface-2)}.kakuro-clue{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;color:var(--text-muted);font-size:clamp(.68rem,2.2vmin,1rem);font-weight:700}.kakuro-clue:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom right,transparent calc(50% - 1px),var(--border-strong) 50%,transparent calc(50% + 1px))}.kakuro-clue span:first-child{align-self:start;justify-self:end;padding:4px 5px 0 0}.kakuro-clue span:last-child{align-self:end;justify-self:start;padding:0 0 4px 5px}.kakuro-entry{display:grid;background:var(--surface)}.kakuro-entry input{width:100%;min-width:0;border:0;background:transparent;color:var(--text);font-family:var(--font-num);font-feature-settings:"tnum" 1,"lnum" 1;font-size:var(--fs-cell);font-weight:700;text-align:center}.kakuro-actions{display:grid;justify-items:center;grid-gap:8px;gap:8px}.kakuro-actions button{min-height:var(--tap-min);border:1px solid var(--border);border-radius:6px;background:var(--accent);color:white;font-weight:800;padding-inline:18px}.kakuro-actions p{min-height:1.5em;margin:0;color:var(--text-muted)}.kakuro-combos{width:min(100%,1100px);margin:0 auto clamp(16px,4vw,40px);padding:12px clamp(16px,4vw,40px);border:1px solid var(--border);border-radius:8px}.kakuro-combos-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.kakuro-combos-head h2{margin:0;font-size:1rem}.kakuro-combos-head button{min-height:var(--tap-min);padding-inline:12px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text)}.kakuro-combos ul{margin:12px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:6px 24px;gap:6px 24px}.kakuro-combos li{display:flex;gap:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kakuro-combos .combo-run{min-width:3.5em;font-weight:800}.kakuro-combos .combo-options{color:var(--text-muted)}.account-page{min-height:calc(100vh - 180px);display:grid;place-items:center;padding:clamp(24px,5vw,56px)}.account-panel{width:min(100%,520px);display:grid;grid-gap:16px;gap:16px}.account-panel h1{margin:0;font-size:2rem}.account-panel p{margin:0;color:var(--text-muted)}.sign-in-form{display:grid;grid-gap:14px;gap:14px}.sign-in-form button{min-height:var(--tap-min);border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:white;font-weight:800}.sign-in-form button:disabled{opacity:.7}.form-status{min-height:1.5em}.form-status.error{color:var(--conflict)}.form-status.success{color:var(--complete)}.premium-badge{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin:0;padding:4px 12px;border-radius:999px;background:var(--brand-grad);color:var(--brand-grad-ink);font-weight:700;font-size:.85rem}.pricing-page{max-width:1040px;margin-inline:auto;padding:clamp(24px,5vw,56px);display:grid;grid-gap:clamp(28px,5vw,48px);gap:clamp(28px,5vw,48px)}.pricing-hero{max-width:680px}.pricing-hero h1{margin-block:4px 12px;font-size:2rem}.pricing-hero p{margin:0;color:var(--text-muted)}.offering h2,.plans h2{margin-block:0 16px;font-size:1.5rem}.offering-features{margin:0;-webkit-padding-start:1.2em;padding-inline-start:1.2em;display:grid;grid-gap:8px;gap:8px;color:var(--text-muted)}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:clamp(12px,2vw,20px);gap:clamp(12px,2vw,20px)}.plan-card{position:relative;display:grid;align-content:start;grid-gap:12px;gap:12px;padding:clamp(16px,3vw,24px);background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-1,0 1px 2px rgba(0,0,0,.06))}.plan-badge{position:absolute;inset-block-start:-10px;inset-inline-end:16px;padding:2px 10px;border-radius:999px;background:var(--accent);color:#fff;font-size:.72rem;font-weight:800;text-transform:uppercase}.plan-card h3{margin:0;font-size:1.2rem}.plan-price{margin:0;display:flex;align-items:baseline;gap:4px}.plan-price strong{font-size:1.8rem}.plan-period,.plan-tagline{color:var(--text-muted)}.plan-tagline{margin:0}.plan-features{margin:0;-webkit-padding-start:1.2em;padding-inline-start:1.2em;display:grid;grid-gap:6px;gap:6px}.plan-cta{min-height:var(--tap-min);display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:#fff;font-weight:800;text-decoration:none}.plan-note{font-size:.85rem}.accessibility-note,.plan-note{margin:0;color:var(--text-muted)}.accessibility-note{font-size:.92rem}@media (max-width:800px){.plan-grid{grid-template-columns:1fr}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:800px){.topbar,.topbar-actions{flex-wrap:wrap}.footer-bottom{flex-direction:column;align-items:flex-start}.play-layout{grid-template-columns:1fr;gap:12px;padding:12px 12px calc(12px + env(safe-area-inset-bottom))}.level-panel{grid-template-columns:1fr 1fr;gap:10px}.level-panel input{grid-column:1/-1}.kakuro-settings{grid-template-columns:1fr}.controls-panel{max-width:min(100%,680px);width:100%;justify-self:center}.display-settings{order:-1}.play-controls{position:-webkit-sticky;position:sticky;bottom:0;z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 10px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -4px 16px rgba(0,0,0,.08)}}@media (prefers-reduced-motion:no-preference){.cell,a,button{transition:background-color .12s ease,border-color .12s ease,color .12s ease}}