:root{--color-bg: #0f172a;--color-surface: #111827;--color-card: #1f2937;--color-border: #24304b;--color-text: #e5e7eb;--color-subtle: #9ca3af;--color-accent: #22d3ee;--color-accent-strong: #06b6d4;--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--shadow-soft: 0 15px 50px rgba(0, 0, 0, .35);--shadow-elevated: 0 25px 60px rgba(0, 0, 0, .45);--font-body: "Inter", "SF Pro Display", "Segoe UI", system-ui, -apple-system, sans-serif;--color-error: #fca5a5;--color-control-border: #64748b;--color-focus: #f8fafc;color-scheme:dark}:root[data-theme=light]{--color-bg: #f5f7fb;--color-surface: #ffffff;--color-card: #ffffff;--color-border: #d6d9e0;--color-text: #0f172a;--color-subtle: #4b5563;--color-accent: #0284c7;--color-accent-strong: #0369a1;--color-error: #b91c1c;--color-control-border: #7b8494;--color-focus: #0f172a;color-scheme:light}:root.theme-switching *,:root.theme-switching *:before,:root.theme-switching *:after{transition:none!important}.theme-icon-light,:root[data-theme=light] .theme-icon-dark{display:none}:root[data-theme=light] .theme-icon-light{display:inline}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);background:radial-gradient(circle at 20% 20%,rgba(34,211,238,.08),transparent 30%),radial-gradient(circle at 80% 0%,rgba(6,182,212,.08),transparent 30%),var(--color-bg);color:var(--color-text)}a{color:inherit;text-decoration:none}p a,li a{text-decoration:underline;text-underline-offset:2px}button,input,select,textarea{font-family:inherit}#root{min-height:100vh}.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}.home-hero{display:grid;grid-template-columns:minmax(0,1fr)}.home-hero-shot{justify-self:center;width:min(200px,60%)}@media (min-width: 900px){.home-hero{grid-template-columns:minmax(0,1fr) 230px;align-items:center}.home-hero-shot{justify-self:stretch;width:auto}}@media (max-width: 480px){.home-hero{padding:16px!important}}main input,main textarea{scroll-margin-top:64px}@media (max-width: 480px){.shell-header h1{font-size:23px!important}}.shot-viewer::backdrop{background:#020617bf}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}html{scroll-padding-block:24px}.skip-link{position:absolute;left:12px;top:0;transform:translateY(-120%);z-index:100;padding:10px 14px;border-radius:var(--radius-md);background:var(--color-accent);color:#020617;font-weight:600}.skip-link:focus{transform:translateY(12px)}#main:focus,#main:focus-visible{outline:none}main{overflow-wrap:break-word}@media (max-width: 720px){.stack-narrow{grid-template-columns:1fr!important}.icon-row{grid-template-columns:repeat(3,72px)!important}}@media (max-width: 480px){.shell-main{padding-left:14px!important;padding-right:14px!important}.shell-section,.shell-header{padding:16px!important}.tool-card,.shell-card{padding:14px!important}}@media (max-width: 320px){main{overflow-wrap:anywhere}main h1{font-size:22px!important}.shell-main{padding-left:6px!important;padding-right:6px!important}.shell-section,.shell-header{padding:10px!important;border-radius:12px!important}.tool-card,.shell-card{padding:0!important;border:0!important;background:none!important;box-shadow:none!important}}@media (max-width: 820px){.site-header{padding:12px 14px!important}.site-nav-wrap,.site-nav{width:100%}.site-nav{gap:4px!important}.site-nav a{padding-left:6px!important;padding-right:6px!important}.site-logo{width:40px!important;height:40px!important}.site-title{font-size:16px!important}.site-byline{margin-top:2px!important;font-size:11px!important}}.sudoku{--sd-paper: #1a2238;--sd-panel: #232d48;--sd-edge: #5b6890;--sd-line: #344164;--sd-ink: #f7ebdd;--sd-user: #ffa88c;--sd-soft: #b9b4ae;--sd-coral: #f59a7b;--sd-selected: #5a3f45;--sd-same: #3a4566;--sd-peer: #29344f;--sd-key: #232d48;--sd-key-edge: #3a4766;width:100%}:root[data-theme=light] .sudoku{--sd-paper: #fff4e8;--sd-panel: #fffcf7;--sd-edge: #b99c7e;--sd-line: #eadac6;--sd-ink: #1f2a44;--sd-user: #a23c24;--sd-soft: #4f586c;--sd-coral: #f28c6b;--sd-selected: #fad3c3;--sd-same: #f6e0cc;--sd-peer: #fbf0e4;--sd-key: #fffcf7;--sd-key-edge: #e7d2ba}.sd-cell{position:relative;display:grid;place-items:center;min-width:0;padding:0;border:0;border-right:1px solid var(--sd-line);border-bottom:1px solid var(--sd-line);background:transparent;color:var(--sd-user);font-size:clamp(18px,5.4vw,26px);font-weight:500;font-variant-numeric:tabular-nums;cursor:pointer}.sd-cell.is-given{color:var(--sd-ink);font-weight:700}.sd-cell.is-peer{background:var(--sd-peer)}.sd-cell.is-same{background:var(--sd-same)}.sd-cell.is-selected{background:var(--sd-selected)}.sd-cell.is-flag{text-decoration:underline wavy;text-decoration-thickness:2px;text-underline-offset:4px}.sd-cell.is-marked{box-shadow:inset 0 0 0 3px var(--sd-coral)}.sd-cell:focus-visible{outline-offset:-3px}.sd-notes{display:grid;grid-template-columns:repeat(3,1fr);width:100%;height:100%;padding:2px;font-size:clamp(8px,2.2vw,11px);font-weight:500;line-height:1;color:var(--sd-soft)}.sd-notes span{display:grid;place-items:center}.sd-key,.sd-tool,.sd-level{border:1px solid var(--sd-key-edge);border-radius:10px;background:var(--sd-key);color:var(--sd-ink);font:inherit;cursor:pointer}.sd-key{min-height:48px;font-size:22px;font-variant-numeric:tabular-nums}.sd-key[data-full]{color:var(--sd-soft)}.sd-tool,.sd-level{min-height:40px;padding:6px 12px;font-size:15px}.sd-level[aria-pressed=true],.sd-tool[aria-pressed=true]{border-color:var(--sd-coral);box-shadow:inset 0 0 0 1px var(--sd-coral);font-weight:600}.sd-primary{border-color:var(--sd-coral)}.sd-example{width:min(100%,380px);padding:8px;border-radius:12px;background:var(--sd-paper)}.sd-ex-grid{display:grid;grid-template-columns:repeat(9,1fr);aspect-ratio:1;border:2px solid var(--sd-edge);border-radius:8px;overflow:hidden;background:var(--sd-panel)}.sd-static{cursor:default;font-size:clamp(14px,4.2vw,20px)}.sd-example .sd-notes{font-size:clamp(6px,1.8vw,9px);padding:1px}.sd-notes span.is-elim{color:var(--sd-user);text-decoration:line-through;text-decoration-thickness:2px}.sd-notes span.is-place{color:var(--sd-user);font-weight:800}.sd-cell.is-color-a{box-shadow:inset 0 0 0 3px var(--sd-coral)}.sd-cell.is-color-b{box-shadow:inset 0 0 0 2px var(--sd-coral);outline:2px dashed var(--sd-coral);outline-offset:-6px}
