@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations")}@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-normal-DnYpCC2O.woff2)format("woff2")}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-italic-DKMiL14s.woff2)format("woff2")}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:var(--lightningcss-light,#faf9f6)var(--lightningcss-dark,#0f0f0e);--surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#171715);--surface-2:var(--lightningcss-light,#f2f0eb)var(--lightningcss-dark,#1f1f1c);--text:var(--lightningcss-light,#1a1917)var(--lightningcss-dark,#edebe6);--text-muted:var(--lightningcss-light,#57534b)var(--lightningcss-dark,#aaa59b);--text-subtle:var(--lightningcss-light,#6f6a61)var(--lightningcss-dark,#918c82);--border:var(--lightningcss-light,#e4e0d8)var(--lightningcss-dark,#2a2926);--border-strong:var(--lightningcss-light,#cfc9bd)var(--lightningcss-dark,#3d3b37);--accent:var(--lightningcss-light,#c2410c)var(--lightningcss-dark,#ff8a5b);--accent-hover:var(--lightningcss-light,#9a3412)var(--lightningcss-dark,#ffab87);--on-accent:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1a1917);--accent-soft:color-mix(in srgb, var(--accent) 12%, transparent);--shadow:0 1px 2px #0000000a, 0 12px 32px -16px #0000002e;--ink:var(--lightningcss-light,#1f4fa8)var(--lightningcss-dark,#8db4ff);--danger:var(--lightningcss-light,#b42318)var(--lightningcss-dark,#ff7b72);--font-sans:"Inter Variable", system-ui, sans-serif;--font-serif:"Instrument Serif", Georgia, serif;--font-mono:"JetBrains Mono Variable", ui-monospace, SFMono-Regular, Menlo, monospace;--gutter:clamp(1rem, 4vw, 2rem);--header-height:3.5rem;--radius:1rem;--radius-sm:.5rem;--ease:cubic-bezier(.2, .7, .2, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@supports not (color:light-dark(#000, #fff)){:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#faf9f6;--surface:#fff;--surface-2:#f2f0eb;--text:#1a1917;--text-muted:#57534b;--text-subtle:#6f6a61;--border:#e4e0d8;--border-strong:#cfc9bd;--accent:#c2410c;--accent-hover:#9a3412;--on-accent:#fff;--ink:#1f4fa8;--danger:#b42318}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;margin:0;font-size:1.0625rem;line-height:1.5;display:flex}main{flex:1}h1,h2,h3{font-weight:inherit;text-wrap:balance;margin:0;line-height:1.15}p{text-wrap:pretty;margin:0}ul,ol{margin:0;padding:0}svg{flex:none;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}::selection{background:color-mix(in srgb, var(--accent) 28%, transparent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}[hidden]{display:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.container{width:min(100% - 2 * var(--gutter), var(--app-width));margin-inline:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-subtle);align-items:center;gap:.75rem;font-size:.8125rem;display:flex}.display{font-family:var(--font-serif);letter-spacing:-.015em;font-weight:400;line-height:1.02}.display em{color:var(--accent);font-style:italic}.button{white-space:nowrap;cursor:pointer;min-height:2.75rem;transition:background-color .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.9375rem;font-weight:560;line-height:1.2;display:inline-flex}.button-primary{background:var(--text);color:var(--bg)}.button-primary:hover{background:var(--accent);color:var(--on-accent)}.button-secondary{border-color:var(--border-strong);color:var(--text);background:0 0}.button-secondary:hover{border-color:var(--text)}.icon-button{width:2.5rem;height:2.5rem;color:var(--text-muted);cursor:pointer;transition:color .2s var(--ease), background-color .2s var(--ease);background:0 0;border:0;border-radius:999px;place-items:center;padding:0;display:grid}.icon-button:hover{color:var(--text);background:var(--surface-2)}.site-header{border-bottom:1px solid var(--border)}.header-inner{height:var(--header-height);align-items:center;gap:.6rem;display:flex}.wordmark{font-family:var(--font-serif);letter-spacing:-.01em;white-space:nowrap;font-size:1.5rem;font-style:italic;line-height:1}.wordmark span{color:var(--accent);font-style:normal}.crumb{font-family:var(--font-serif);color:var(--text-subtle);font-size:1.5rem;line-height:1}.app-title{font-family:var(--font-serif);font-size:1.5rem;line-height:1}.header-actions{margin-left:auto;display:flex}.theme-toggle svg{grid-area:1/1}.theme-toggle .icon-sun{display:none}:root[data-theme=dark] .theme-toggle .icon-sun{display:block}:root[data-theme=dark] .theme-toggle .icon-moon{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle .icon-sun{display:block}:root:not([data-theme=light]) .theme-toggle .icon-moon{display:none}}.site-footer{border-top:1px solid var(--border);color:var(--text-subtle);padding-block:1.5rem;font-size:.8125rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;display:flex}.footer-inner a{text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-underline-offset:.2em}.footer-inner a:hover{color:var(--text)}:root{--panel:19rem;--chrome:17rem;--board-size:clamp(17rem, min(100cqi - 2 * var(--gutter), 100dvh - var(--chrome)), 36rem);--app-width:max(var(--board-size), 20rem)}body{container-type:inline-size}.game{place-content:start center;gap:.75rem;padding-block:.75rem 1.25rem;display:grid}.game>*{width:var(--board-size)}@media (width>=44rem) and (aspect-ratio>=1){:root{--board-size:clamp(17rem, min(100dvh - var(--header-height) - 3rem, 100cqi - 2 * var(--gutter) - var(--panel) - 2.5rem), 40rem);--app-width:calc(var(--board-size) + var(--panel) + 2.5rem)}.game{grid-template-columns:var(--board-size) var(--panel);grid-template-rows:auto auto 1fr;grid-template-areas:"board status""board controls""board help";gap:1.25rem 2.5rem;padding-block:1.5rem}.game>*{width:auto}.board-wrap{grid-area:board}.status{grid-area:status}.controls{grid-area:controls}.help{grid-area:help}}.status{align-items:center;gap:.5rem;min-height:2.75rem;display:flex}.status .eyebrow{margin-right:auto}.status .eyebrow strong{font-weight:inherit;color:var(--text)}.timer{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);align-items:center;gap:.15rem;font-size:.9375rem;display:flex}.timer .icon-button{width:2.25rem;height:2.25rem}.pause-toggle .icon-play,.is-paused .pause-toggle .icon-pause{display:none}.is-paused .pause-toggle .icon-play{display:block}.button-new{min-height:2.25rem;padding:.4rem .9rem;font-size:.875rem}.is-won .button-new{background:var(--text);color:var(--bg);border-color:#0000}.is-won .button-new:hover{background:var(--accent);color:var(--on-accent)}.board-wrap{align-self:start;position:relative}.board{--line:var(--border-strong);--line-strong:color-mix(in srgb, var(--text) 72%, var(--surface));aspect-ratio:1;border:2px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);-webkit-user-select:none;user-select:none;touch-action:manipulation;grid-template-rows:repeat(9,minmax(0,1fr));display:grid;overflow:clip;container-type:inline-size}.board-row{grid-template-columns:repeat(9,minmax(0,1fr));display:grid}.cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color .12s var(--ease);place-items:center;font-size:6.2cqi;line-height:1;display:grid;position:relative}.cell:focus{outline:none}.cell:nth-child(3n){border-right:2px solid var(--line-strong)}.cell:last-child{border-right:0}.board-row:nth-child(3n) .cell{border-bottom:2px solid var(--line-strong)}.board-row:last-child .cell{border-bottom:0}.cell .value{color:var(--ink);font-weight:400}.cell.is-given .value{color:var(--text);font-weight:540}.notes{color:var(--text-muted);grid-template:repeat(3,1fr)/repeat(3,1fr);place-items:center;font-size:2.35cqi;font-weight:500;display:grid;position:absolute;inset:7%}.notes .is-match{background:var(--accent-soft);color:var(--accent);box-shadow:0 0 0 .15em var(--accent-soft);border-radius:999px}.cell.is-peer{background:var(--surface-2)}.cell.is-same{background:color-mix(in srgb, var(--accent) 16%, var(--surface))}.cell.is-conflict{background:color-mix(in srgb, var(--danger) 14%, var(--surface))}.cell.is-conflict .value{color:var(--danger);text-underline-offset:.12em;text-decoration:underline;text-decoration-thickness:.08em}.cell.is-selected{background:color-mix(in srgb, var(--accent) 24%, var(--surface));box-shadow:inset 0 0 0 2px var(--accent)}@media (hover:hover){.board:not(.is-paused,.is-solved) .cell:not(.is-selected):hover{box-shadow:inset 0 0 0 2px var(--border-strong)}}.board.is-paused .cell>*{visibility:hidden}@media (prefers-reduced-motion:no-preference){.board.is-solved .cell{animation:solved .9s var(--ease) both;animation-delay:calc(var(--wave) * 45ms)}.board.is-nudged{animation:nudge .3s var(--ease)}}@keyframes solved{35%{background:color-mix(in srgb, var(--accent) 34%, var(--surface))}}@keyframes nudge{25%{translate:-4px}75%{translate:4px}}.pause-overlay{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface) 55%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-align:center;place-content:center;justify-items:center;gap:1rem;display:grid;position:absolute;inset:0}.pause-overlay p{font-size:clamp(2rem,8cqi,3rem)}.controls{gap:.5rem;display:grid}.is-paused .controls,.is-won .controls{opacity:.45}.actions{grid-template-columns:repeat(4,1fr);gap:.25rem;display:grid}.action{color:var(--text-muted);cursor:pointer;transition:color .2s var(--ease), background-color .2s var(--ease);background:0 0;border:0;border-radius:.75rem;justify-items:center;gap:.2rem;padding:.45rem .25rem;font-size:.75rem;font-weight:560;display:grid;position:relative}.action:hover{color:var(--text);background:var(--surface-2)}.action[aria-disabled=true]{color:var(--text-subtle);opacity:.55;cursor:default}.action[aria-disabled=true]:hover{background:0 0}.action[aria-pressed=true]{color:var(--accent);background:var(--accent-soft)}.action .state{background:var(--surface-2);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-subtle);border-radius:999px;padding:.05rem .3rem;font-size:.5625rem;position:absolute;top:.2rem;left:calc(50% + .55rem)}.action[aria-pressed=true] .state{background:var(--accent);color:var(--on-accent)}.pad{grid-template-columns:repeat(9,1fr);gap:.3rem;display:grid}.pad-key{border:1px solid var(--border);background:var(--surface);cursor:pointer;min-height:3.5rem;transition:border-color .2s var(--ease), background-color .2s var(--ease), color .2s var(--ease);border-radius:.625rem;align-content:center;place-items:center;gap:.15rem;padding:.25rem 0;display:grid}.pad-key .digit{font-size:1.5rem;font-weight:500;line-height:1}.pad-key .count{font-family:var(--font-mono);color:var(--text-subtle);font-size:.625rem;line-height:1}@media (hover:hover){.pad-key:hover{border-color:var(--text)}}.pad-key:active{background:var(--surface-2)}.pad-key.is-complete .digit{color:var(--text-subtle);opacity:.6}.is-notes .pad-key{border-style:dashed;border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.is-notes .pad-key .digit{color:var(--accent);font-size:1.125rem}.help{display:none}@media (width>=44rem) and (aspect-ratio>=1){.controls{gap:1rem}.pad{grid-template-columns:repeat(3,1fr);gap:.5rem}.pad-key{min-height:clamp(3rem,8dvh,4.25rem)}.pad-key .digit{font-size:1.75rem}.is-notes .pad-key .digit{font-size:1.25rem}}@media (width>=44rem) and (aspect-ratio>=1) and (hover:hover) and (pointer:fine){.help{color:var(--text-subtle);align-self:end;font-size:.8125rem;display:block}.help dl{grid-template-columns:auto 1fr;gap:.35rem .75rem;margin:.75rem 0 0;display:grid}.help dd{margin:0}.help kbd{border:1px solid var(--border);background:var(--surface);font-family:var(--font-mono);color:var(--text-muted);border-bottom-width:2px;border-radius:.3rem;padding:.05rem .35rem;font-size:.75rem}}dialog{width:min(100% - 2 * var(--gutter), 25rem);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);max-height:calc(100dvh - 2rem);color:var(--text);padding:1.75rem 1.5rem 1.5rem;overflow-y:auto;box-shadow:0 24px 64px -24px #0006}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f0f0e73}@media (prefers-reduced-motion:no-preference){dialog[open]{animation:dialog-in .25s var(--ease)}}@keyframes dialog-in{0%{opacity:0;translate:0 12px;scale:.98}}dialog h2{margin-top:.5rem;font-size:2.5rem}.dialog-text{color:var(--text-muted);margin-top:.75rem}.choices{gap:.5rem;margin-top:1.25rem;list-style:none;display:grid}.choice{border:1px solid var(--border);background:var(--surface);text-align:left;cursor:pointer;width:100%;transition:border-color .2s var(--ease);border-radius:.75rem;grid-template-columns:1fr auto;align-items:baseline;gap:.1rem 1rem;padding:.8rem 1rem;display:grid}.choice:hover{border-color:var(--text)}.choice.is-current{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.choice-name{font-family:var(--font-serif);font-size:1.625rem;line-height:1.1}.choice-best{font-family:var(--font-mono);color:var(--text-muted);font-size:.75rem}.choice-meta{color:var(--text-subtle);grid-column:1/-1;font-size:.8125rem}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1.25rem;display:flex}.stats{border-block:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:.75rem;margin:1.5rem 0 0;padding-block:1rem;display:grid}.stats div{gap:.2rem;display:grid}.stats dt{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-subtle);font-size:.6875rem}.stats dd{font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin:0;font-size:1.125rem}.record{color:var(--text-muted);margin-top:1rem;font-size:.9375rem}.record.is-new{color:var(--accent);font-weight:560}
