@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-display:"Bricolage Grotesque Variable", "Hiragino Kaku Gothic ProN", ui-sans-serif, sans-serif;--font-body:"Geist Variable", "Hiragino Kaku Gothic ProN", ui-sans-serif, sans-serif;--font-mono:"Geist Variable", "BIZ UDPGothic", ui-monospace, monospace;--font-board:var(--font-body);--text-xs:.7rem;--text-sm:.825rem;--text-base:1rem;--text-md:1.25rem;--text-lg:1.5625rem;--text-xl:1.953rem;--text-2xl:2.441rem;--text-3xl:3.052rem;--text-display:clamp(2.5rem, 4vw + 1rem, 5.25rem);--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:9rem;--space-5xl:11rem;--page-gutter:clamp(.75rem, 4vw, 3rem);--content-max:72rem;--prose-max:48rem;--board-max:37rem;--chrome-max:72rem;--control-height:2.75rem;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-pill:999rem;--rule-hair:.0625rem;--rule-medium:.125rem;--rule-strong:.125rem;--rule-focus:.1875rem;--shadow-raised:none;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.108s;--dur-short:.198s;--dur-long:.378s;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-modal:400;--z-toast:500;--z-tooltip:600;--heading-weight:650;--heading-tracking:-.035em;--cell-weight:520;--given-weight:700;--canvas-texture:none;--canvas-texture-size:auto;--color-paper:#13110d;--color-paper-2:#1d1a15;--color-paper-3:#29261f;--color-surface-raised:#221f19;--color-ink:#e4e1da;--color-ink-soft:#bebab2;--color-neutral:#959289;--color-muted:#a19e96;--color-rule:#3b3830;--color-rule-strong:#a09b8f;--color-accent:#e4b826;--color-accent-2:#68b1db;--color-accent-3:#7bb587;--color-proof-pattern:color-mix(in oklch, var(--color-accent-2) 64%, var(--color-ink));--color-proof-chain:color-mix(in oklch, var(--color-accent-3) 64%, var(--color-ink));--color-accent-soft:#342a0e;--color-accent-fill:#e4b826;--color-accent-ink:#16140e;--color-focus:#fedf89;--color-selection:#44360d;--color-peer:#201d15;--color-same-digit:#534000;--color-danger:#fa897b;--color-danger-surface:#401d19;--color-success:#79be87;--color-success-surface:#172c1c;--color-overlay:#020201d1;--color-shadow:#02010080;--color-nav:#1d1a15;--color-swatch-quiet-paper:#13110d;--color-swatch-quiet-ink:#e4e1da;--color-swatch-quiet-accent:#e4b826;--color-swatch-friendly-paper:#1f1610;--color-swatch-friendly-ink:#ebe3db;--color-swatch-friendly-accent:#f09b40;--color-swatch-friendly-accent-2:#7bb587;--color-swatch-friendly-accent-3:#68b1db;--color-swatch-neon-paper:#050b05;--color-swatch-neon-ink:#dde3dc;--color-swatch-neon-accent:#72dd78;--color-swatch-neon-accent-2:#36cccc}@supports (color:lab(0% 0 0)){:root{--color-paper:lab(5.29548% .151813 2.42149);--color-paper-2:lab(9.56425% .243768 4.24153);--color-paper-3:lab(15.3727% .281438 5.07936);--color-surface-raised:lab(11.8883% .265919 4.69425);--color-ink:lab(89.6067% .111431 3.82507);--color-ink-soft:lab(75.6952% .148267 4.60002);--color-neutral:lab(60.6188% .177324 4.99526);--color-muted:lab(65.2548% .154972 4.60473);--color-rule:lab(23.4983% .27591 5.44621);--color-rule-strong:lab(64.1195% .278264 6.94072);--color-accent:lab(77.1564% 7.20984 72.3064);--color-accent-2:lab(68.8055% -15.0319 -28.5556);--color-accent-3:lab(68.6888% -26.8473 17.3539);--color-accent-soft:lab(17.7681% 1.68227 19.3473);--color-accent-fill:lab(77.1564% 7.20984 72.3064);--color-accent-ink:lab(6.23436% .262767 3.53271);--color-focus:lab(89.929% 3.17684 45.6702);--color-selection:lab(23.5925% 2.54887 26.9727);--color-peer:lab(10.7339% .352077 5.50135);--color-same-digit:lab(28.2455% 4.02734 38.6932);--color-danger:lab(69.7021% 42.9848 27.489);--color-danger-surface:lab(15.9683% 16.9102 10.8613);--color-success:lab(71.1963% -31.3788 20.3416);--color-success-surface:lab(15.8357% -11.9622 7.7632);--color-overlay:lab(.466366% .0431389 .396624/.82);--color-shadow:lab(.312725% .0450164 .328082/.5);--color-nav:lab(9.56425% .243768 4.24153);--color-swatch-quiet-paper:lab(5.29548% .151813 2.42149);--color-swatch-quiet-ink:lab(89.6067% .111431 3.82507);--color-swatch-quiet-accent:lab(77.1564% 7.20984 72.3064);--color-swatch-friendly-paper:lab(8.31061% 3.34629 5.50739);--color-swatch-friendly-ink:lab(90.7264% 1.62974 5.06004);--color-swatch-friendly-accent:lab(71.7026% 27.3376 59.3048);--color-swatch-friendly-accent-2:lab(68.6888% -26.8473 17.3539);--color-swatch-friendly-accent-3:lab(68.8055% -15.0319 -28.5556);--color-swatch-neon-paper:lab(2.58402% -2.20584 1.638);--color-swatch-neon-ink:lab(89.719% -3.35348 2.59506);--color-swatch-neon-accent:lab(80.0325% -47.6636 39.2701);--color-swatch-neon-accent-2:lab(74.5904% -39.249 -11.8179)}}:root[data-mode=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-paper:#f4f2ec;--color-paper-2:#ebe8e0;--color-paper-3:#dedad1;--color-surface-raised:#faf8f4;--color-ink:#1d1a14;--color-ink-soft:#3b3830;--color-neutral:#534f47;--color-muted:#5b5850;--color-rule:#b5b1a7;--color-rule-strong:#443f34;--color-accent:#806100;--color-accent-2:#06658e;--color-accent-3:#2d693d;--color-accent-soft:#e9dab2;--color-accent-fill:#c89f00;--color-accent-ink:#181610;--color-focus:#6b4d00;--color-selection:#ddc992;--color-peer:#e9e4d9;--color-same-digit:#d2b871;--color-danger:#a9231e;--color-danger-surface:#fed7d1;--color-success:#005e27;--color-success-surface:#cfe9d4;--color-overlay:#070603b3;--color-shadow:#0d0b0633;--color-nav:#ebe8e0}@supports (color:lab(0% 0 0)){:root[data-mode=light]{--color-paper:lab(95.3977% .0829399 3.05597);--color-paper-2:lab(91.9267% .110716 3.82462);--color-paper-3:lab(87.2999% .15831 4.98186);--color-surface-raised:lab(97.7085% .0584424 2.28941);--color-ink:lab(9.56739% .280976 4.61266);--color-ink-soft:lab(23.4983% .27591 5.44621);--color-neutral:lab(33.9403% .242084 5.41827);--color-muted:lab(37.4169% .208989 5.01888);--color-rule:lab(72.2278% .204802 5.76389);--color-rule-strong:lab(26.9991% .465572 7.84464);--color-accent:lab(43.2562% 11.3576 90.0347);--color-accent-2:lab(39.7119% -13.5436 -29.5892);--color-accent-3:lab(39.7244% -28.5967 18.7577);--color-accent-soft:lab(87.475% .73716 21.6901);--color-accent-fill:lab(67.8347% 7.47696 72.8149);--color-accent-ink:lab(7.26976% .281282 3.93148);--color-focus:lab(34.9474% 16.5408 94.5419);--color-selection:lab(81.7279% 1.55491 30.2096);--color-peer:lab(90.793% .207692 6.14046);--color-same-digit:lab(75.9596% 2.72858 39.4156);--color-danger:lab(38.0073% 53.2593 38.6991);--color-danger-surface:lab(89.1647% 13.5036 8.30387);--color-success:lab(34.2033% -36.5668 24.5131);--color-success-surface:lab(90.0932% -11.8422 7.56418);--color-overlay:lab(1.57189% .0885353 1.03967/.7);--color-shadow:lab(3.07104% .193134 2.15096/.2);--color-nav:lab(91.9267% .110716 3.82462)}}:root[data-style=friendly]{--radius-xs:.25rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--heading-weight:720;--color-accent:#f09b40;--color-accent-fill:#f09b40;--color-accent-soft:#3f2811;--color-selection:#523211;--color-same-digit:#643905;--color-focus:#ffd4aa}@supports (color:lab(0% 0 0)){:root[data-style=friendly]{--color-accent:lab(71.7026% 27.3376 59.3048);--color-accent-fill:lab(71.7026% 27.3376 59.3048);--color-accent-soft:lab(18.6564% 9.18865 19.6237);--color-selection:lab(24.3988% 12.1908 26.3437);--color-same-digit:lab(28.9454% 16.4604 36.9043);--color-focus:lab(88.1804% 17.2 36.9173)}}:root[data-mode=light][data-style=friendly]{--color-accent:#9a4a00;--color-accent-fill:#de871e;--color-accent-soft:#f8d3b2;--color-selection:#f0c094;--color-same-digit:#e8ad75;--color-focus:#823600}@supports (color:lab(0% 0 0)){:root[data-mode=light][data-style=friendly]{--color-accent:lab(41.1135% 36.5472 73.3646);--color-accent-fill:lab(64.6863% 28.9465 64.5355);--color-accent-soft:lab(87.1415% 9.71541 21.4029);--color-selection:lab(81.2802% 13.4739 29.1337);--color-same-digit:lab(75.4012% 17.5394 37.4707);--color-focus:lab(32.7348% 43.3426 79.6923)}}:root[data-style=neon]{--font-display:var(--font-mono);--font-board:var(--font-mono);--radius-xs:0;--radius-sm:.125rem;--radius-md:.25rem;--radius-lg:.375rem;--radius-pill:.25rem;--heading-tracking:-.02em;--color-accent:#72dd78;--color-accent-fill:#72dd78;--color-accent-soft:#112e13;--color-selection:#163c19;--color-same-digit:#134d1a;--color-focus:#aef7b0}@supports (color:lab(0% 0 0)){:root[data-style=neon]{--color-accent:lab(80.0325% -47.6636 39.2701);--color-accent-fill:lab(80.0325% -47.6636 39.2701);--color-accent-soft:lab(16.0478% -16.8313 13.9443);--color-selection:lab(22.0253% -21.051 17.5409);--color-same-digit:lab(28.1097% -28.1214 23.8808);--color-focus:lab(91.071% -33.5642 26.8471)}}:root[data-mode=light][data-style=neon]{--color-accent:#006212;--color-accent-fill:#5bbe62;--color-accent-soft:#c0e3c0;--color-selection:#a7d6a8;--color-same-digit:#8bc58d;--color-focus:#005302}@supports (color:lab(0% 0 0)){:root[data-mode=light][data-style=neon]{--color-accent:lab(35.7091% -45.3384 41.721);--color-accent-fill:lab(69.4608% -44.8835 37.1852);--color-accent-soft:lab(86.8562% -16.7676 13.1583);--color-selection:lab(81.3025% -22.3627 17.6902);--color-same-digit:lab(74.5802% -27.969 22.357);--color-focus:lab(30.0606% -51.5948 50.5261)}}*,:before,:after{box-sizing:border-box}html,body{overflow-x:clip}html{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility}body{background-color:var(--color-paper);background-image:var(--canvas-texture);background-size:var(--canvas-texture-size);min-width:20rem;min-height:100dvh;color:var(--color-ink);font-size:var(--text-base);margin:0;font-weight:400;line-height:1.55}button,input{font:inherit}button,a,input[type=range]{-webkit-tap-highlight-color:transparent}button,a{white-space:nowrap}button{min-height:var(--control-height);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-sm);background-color:var(--color-paper-2);color:var(--color-ink);cursor:pointer;transition:transform var(--dur-micro) var(--ease-out), background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), opacity var(--dur-short) var(--ease-out)}button:active:not(:disabled){transform:translateY(var(--space-3xs))}button:disabled,button[aria-disabled=true]{cursor:not-allowed;opacity:.5}button[aria-busy=true]{cursor:progress;opacity:.72}button[data-state=error]{border-color:var(--color-danger);background-color:var(--color-danger-surface);color:var(--color-danger)}button[data-state=success]{border-color:var(--color-success);background-color:var(--color-success-surface);color:var(--color-success)}a{color:var(--color-accent);text-underline-offset:var(--space-2xs)}a:active{color:var(--color-ink)}:focus-visible{outline:var(--rule-focus) solid var(--color-focus);outline-offset:var(--space-2xs);box-shadow:0 0 0 var(--space-2xs) var(--color-paper)}::selection{background-color:var(--color-selection);color:var(--color-ink)}h1,h2,h3,p{margin:0}h1,h2,h3{overflow-wrap:anywhere;min-width:0;font-family:var(--font-display);font-style:normal;line-height:1.08}h1{font-size:clamp(var(--text-xl), 5vw, var(--text-3xl));font-weight:var(--heading-weight);letter-spacing:var(--heading-tracking)}h2{font-size:var(--text-lg);letter-spacing:-.025em;font-weight:700}h3{font-size:var(--text-md);letter-spacing:-.015em;font-weight:700}#root{z-index:var(--z-base);position:relative}.sr-only{width:1px;height:1px;margin:calc(-1 * var(--rule-hair));clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;padding:0;position:absolute;overflow:hidden}.site{--measure:var(--prose-max);flex-direction:column;min-height:100dvh;display:flex}.site[data-measure=wide]{--panel-width:17rem;--board-size:var(--board-max);--measure:calc(var(--board-size) + 2 * var(--page-gutter))}@media (min-width:62rem){.site[data-measure=wide]{--board-size:min(var(--board-max), calc(100dvh - 26rem));--measure:calc(var(--board-size) + var(--panel-width) + var(--space-lg) + 2 * var(--page-gutter))}}.site-main,.site-footer__inner{width:min(100%, var(--measure));padding-inline:var(--page-gutter);margin-inline:auto}.site-header{z-index:var(--z-sticky);padding-block:var(--space-sm) 0;color:var(--color-ink);position:relative}.site-header__inner{width:-moz-fit-content;width:fit-content;max-width:calc(100% - (2 * var(--space-sm)));align-items:center;gap:var(--space-3xs);padding:var(--space-2xs);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-pill);background-color:color-mix(in oklch, var(--color-nav) 92%, transparent);-webkit-backdrop-filter:blur(.875rem)saturate(110%);backdrop-filter:blur(.875rem)saturate(110%);flex-wrap:nowrap;margin-inline:auto;display:flex}.site-up,.site-solver,.site-nav a{width:var(--control-height);height:var(--control-height);min-width:var(--control-height);min-height:var(--control-height);border-radius:var(--radius-pill);color:var(--color-neutral);place-items:center;text-decoration:none;display:inline-grid}.site-up svg,.site-solver svg,.site-nav svg{width:var(--text-md);height:var(--text-md);stroke-width:1.8px}.site-up[aria-current=page],.site-nav a[aria-current=page],.site-solver[aria-current=page]{color:var(--color-accent)}.site-nav{min-width:0}.site-nav ul{gap:var(--space-3xs);flex-wrap:nowrap;margin:0;padding:0;list-style:none;display:flex}.site-tools{align-items:center;gap:var(--space-3xs);display:flex}.site-language{position:relative}.site-language__menu[hidden]{display:none}.site-language__menu{z-index:var(--z-dropdown);min-width:9rem;padding:var(--space-2xs);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-md);background-color:var(--color-surface-raised);box-shadow:var(--shadow-raised);margin:0;list-style:none;display:grid;position:absolute;inset-block-start:calc(100% + var(--space-2xs));inset-inline-end:0}.site-language__menu a{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);color:var(--color-ink);font-size:var(--text-sm);text-decoration:none;display:block}.site-language__menu a[aria-current=true]{background-color:var(--color-accent-soft);font-weight:650}.icon-button{width:var(--control-height);min-width:var(--control-height);border-radius:var(--radius-pill);color:var(--color-neutral);background-color:#0000;border-color:#0000;place-items:center;padding:0;display:inline-grid}.icon-button svg{width:var(--text-md);height:var(--text-md);stroke-width:1.75px}.site-icon-link,.site-header [data-tooltip]{position:relative}.site-icon-link:after,.site-header [data-tooltip]:after{z-index:var(--z-tooltip);padding:var(--space-2xs) var(--space-xs);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-sm);background-color:var(--color-surface-raised);color:var(--color-ink);content:attr(data-tooltip);font-family:var(--font-body);font-size:var(--text-xs);opacity:0;pointer-events:none;transform:translate(-50%, calc(-1 * var(--space-2xs)));transition:opacity var(--dur-micro) var(--ease-out), transform var(--dur-micro) var(--ease-out);white-space:nowrap;font-weight:500;line-height:1.3;position:absolute;inset-block-start:calc(100% + var(--space-xs));inset-inline-start:50%}.site-icon-link:focus-visible:after,.site-header [data-tooltip]:focus-visible:after{opacity:1;transform:translate(-50%)}@media (hover:hover) and (pointer:fine){.site-icon-link:hover:after,.site-header [data-tooltip]:hover:after{opacity:1;transition-delay:.8s;transform:translate(-50%)}}.site-main{padding-block:var(--space-xl) var(--space-2xl);flex:1}.site-footer{border-block-start:var(--rule-hair) solid var(--color-rule);color:var(--color-neutral)}.site-footer__inner{align-items:center;gap:var(--space-xs) var(--space-md);width:min(100%, var(--chrome-max));padding-block:var(--space-sm) max(var(--space-sm), env(safe-area-inset-bottom));flex-wrap:wrap;display:flex}.link-button{align-items:center;gap:var(--space-2xs);background-color:#0000;border-color:#0000;min-height:0;padding:0;font-weight:400;text-decoration:none;display:inline-flex}.site-footer a,.site-footer .link-button{min-height:var(--control-height);align-items:center;gap:var(--space-2xs);color:var(--color-neutral);font-size:var(--text-xs);text-decoration:none;display:inline-flex}.site-footer svg{width:var(--text-sm);height:var(--text-sm);stroke-width:1.8px}.site-footer__domain{width:100%;color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);margin-inline-start:0}.hub__lead{max-width:36rem;color:var(--color-neutral)}.hub__list{margin:var(--space-xl) 0 0;border-block-start:var(--rule-hair) solid var(--color-rule);gap:0;padding:0;list-style:none;display:grid}.hub__list a{gap:var(--space-xs);padding-block:var(--space-lg);border-block-end:var(--rule-hair) solid var(--color-rule);color:inherit;grid-template-columns:minmax(0,1fr);text-decoration:none;display:grid}.hub__list h2{font-size:var(--text-md);color:var(--color-accent);margin:0}.hub__list p{color:var(--color-neutral);font-size:var(--text-sm);margin:0}@media (hover:hover) and (pointer:fine){.site-up:hover,.site-solver:hover,.site-nav a:hover,.site-header .icon-button:hover{background-color:var(--color-paper-3);color:var(--color-ink)}.hub__list a:hover h2,.site-footer a:hover,.site-footer .link-button:hover{color:var(--color-ink)}}@media (min-width:23rem){.site-header__inner{max-width:calc(100% - (2 * var(--page-gutter)))}.hub__list a{gap:var(--space-lg);grid-template-columns:minmax(6rem,.35fr) minmax(0,1fr)}.site-footer__domain{width:auto;margin-inline-start:auto}}.notice__list{gap:var(--space-xs);margin:var(--space-sm) 0 0;font-size:var(--text-sm);padding:0;list-style:none;display:grid}.notice__list li{gap:0 var(--space-sm);padding-bottom:var(--space-xs);border-bottom:var(--rule-hair) solid var(--color-rule);grid-template-columns:1fr auto;display:grid}.notice__licence,.notice__detail{color:var(--color-neutral)}.notice__detail{grid-column:1/-1}.difficulty-tabs{min-inline-size:0;border:0;border-block-end:var(--rule-hair) solid var(--color-rule);width:100%;color:var(--color-ink);background-color:#0000;border-radius:0;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:0;margin:0;padding:0;display:grid}.difficulty-tabs button{padding-inline:var(--space-2xs);border:0;border-block-end:var(--rule-medium) solid transparent;color:var(--color-neutral);font-size:var(--text-xs);background-color:#0000;border-radius:0;font-weight:620}.difficulty-tabs button[data-active=true]{border-block-end-color:var(--color-accent);color:var(--color-accent);background-color:#0000}.game-workbench{gap:var(--space-lg);min-width:0;display:grid}@media (min-width:62rem){.site[data-measure=wide]{--panel-width:clamp(17rem, 30vw, 20rem);--board-size:min(var(--board-max), calc(100dvh - 13rem), calc(100dvw - var(--panel-width) - var(--space-lg) - (2 * var(--page-gutter))))}.game-workbench{grid-template-columns:minmax(0, var(--board-size)) minmax(0, var(--panel-width));align-items:start}.game-workbench:not(:has(.play-sidebar)){grid-template-columns:minmax(0, var(--board-size));justify-content:center}}.board-column,.coach-column,.play-sidebar{min-width:0}.board-column{gap:var(--space-sm);align-content:start;display:grid}.board-meta{justify-content:space-between;align-items:baseline;gap:var(--space-md);min-height:1.5lh;margin-block-end:calc(-1 * var(--space-2xs));display:flex}.board-meta time{color:var(--color-ink-soft);font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums;flex:none}.sudoku-board{aspect-ratio:1;border:var(--rule-strong) solid var(--color-rule-strong);border-radius:var(--radius-xs);background-color:var(--color-paper);width:100%;color:var(--color-ink);box-shadow:none;grid-template-rows:repeat(9,minmax(0,1fr));display:grid;overflow:clip}.sudoku-row{grid-template-columns:repeat(9,minmax(0,1fr));min-height:0;display:grid}.sudoku-cell{aspect-ratio:1;border:0;border-inline-end:var(--rule-hair) solid var(--color-rule);border-block-end:var(--rule-hair) solid var(--color-rule);background-color:var(--color-paper);min-width:0;min-height:0;color:var(--color-accent);font-variant-numeric:tabular-nums;border-radius:0;place-items:center;padding:0;display:grid;position:relative}.sudoku-cell[data-column="2"],.sudoku-cell[data-column="5"]{border-inline-end:var(--rule-strong) solid var(--color-rule-strong)}.sudoku-cell[data-column="8"]{border-inline-end:0}.sudoku-cell[data-row="2"],.sudoku-cell[data-row="5"]{border-block-end:var(--rule-strong) solid var(--color-rule-strong)}.sudoku-cell[data-row="8"]{border-block-end:0}.sudoku-cell[data-peer=true]{background-color:var(--color-peer);color:var(--color-accent)}.sudoku-cell[data-same-digit=true]{background-color:var(--color-same-digit);color:var(--color-ink)}.sudoku-cell[data-focus=true]{background-color:var(--color-accent-soft);color:var(--color-ink);box-shadow:inset 0 0 0 var(--rule-medium) var(--color-accent)}.sudoku-cell[data-conclusion=true]:before{inset:var(--space-2xs);border:var(--rule-medium) dashed var(--color-accent);border-radius:var(--radius-xs);content:"";pointer-events:none;position:absolute}.sudoku-cell[data-selected=true]{z-index:var(--z-raised);background-color:var(--color-selection);color:var(--color-ink);box-shadow:inset 0 0 0 var(--rule-strong) var(--color-focus)}.sudoku-cell[data-given=true]{color:var(--color-ink)}.sudoku-cell[data-error=true]{background-color:var(--color-danger-surface);color:var(--color-danger)}.sudoku-cell:focus-visible{z-index:var(--z-raised);outline-offset:calc(-1 * var(--rule-focus));box-shadow:inset 0 0 0 var(--rule-medium) var(--color-paper)}.sudoku-cell__value{font-family:var(--font-board);font-size:clamp(var(--text-md), 5.7vw, var(--text-xl));font-weight:var(--cell-weight);line-height:1}.sudoku-cell[data-given=true] .sudoku-cell__value{font-weight:var(--given-weight)}.sudoku-cell__error-mark{font-family:var(--font-body);font-size:var(--text-sm);font-weight:800;line-height:1;position:absolute;inset-block-start:var(--space-3xs);inset-inline-end:var(--space-2xs)}.candidate-grid{grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));width:100%;height:100%;display:grid}.candidate-grid__digit{color:#0000;font-family:var(--font-mono);font-size:clamp(.625rem, 2.2vw, var(--text-sm));place-items:center;font-weight:520;line-height:1;display:grid}.candidate-grid__digit[data-visible=true]{color:var(--color-neutral)}.candidate-grid__digit[data-focus=true]{border-radius:var(--radius-pill);background-color:var(--color-accent-fill);color:var(--color-accent-ink);font-weight:780}.board-status{min-width:0;color:var(--color-muted);font-size:var(--text-sm)}.number-deck{gap:var(--space-sm);display:grid}.number-deck__utilities,.number-deck__digits{gap:var(--space-2xs);display:grid}.number-deck__utilities{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.number-deck__utilities[data-assistance=true]{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row}@media (min-width:22rem){.number-deck__utilities[data-assistance=true]{grid-template-columns:repeat(6,minmax(0,1fr))}}.number-deck__digits{grid-template-columns:repeat(9,minmax(0,1fr))}.tool-button{place-items:center;gap:var(--space-2xs);min-width:0;padding:var(--space-xs) var(--space-2xs);color:var(--color-ink-soft);font-size:var(--text-xs);background-color:#0000;border-color:#0000;grid-template-rows:auto auto;font-weight:650;line-height:1;display:grid}.tool-button[data-active=true]{border-color:var(--color-accent);background-color:var(--color-accent-soft);color:var(--color-ink)}.digit-button{min-width:0;min-height:clamp(var(--control-height), 11vw, 4rem);padding:var(--space-2xs);color:var(--color-accent);font-family:var(--font-board);font-size:clamp(var(--text-md), 5vw, var(--text-xl));background-color:#0000;border-color:#0000;place-items:center;font-weight:700;line-height:1;display:grid}.digit-button small{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500}.play-sidebar,.coach-column{align-content:start;gap:var(--space-md);display:grid}@media (min-width:62rem){.play-sidebar{gap:var(--space-lg)}.number-deck__digits{gap:var(--space-xs);grid-template-columns:repeat(3,minmax(0,1fr))}.digit-button{min-height:4.25rem;font-size:var(--text-xl)}}.coach-panel{min-width:0}.solution-player{gap:var(--space-md);padding-block:var(--space-md);border-block:var(--rule-hair) solid var(--color-rule);background-color:var(--color-paper-2);color:var(--color-ink);border-radius:0;display:grid}.solution-player__heading,.dialog-heading{align-items:flex-start;gap:var(--space-sm);display:flex}.solution-player__heading h2{font-size:var(--text-md)}.dialog-heading p{color:var(--color-muted);font-size:var(--text-sm);margin-block-start:var(--space-xs)}.hint-note{gap:var(--space-sm);border-block-end:var(--rule-hair) solid var(--color-rule);color:var(--color-ink);grid-template-columns:auto minmax(0,1fr);padding-block-end:var(--space-md);display:grid}.hint-note>svg{color:var(--color-accent)}.hint-note p{margin-block:var(--space-xs);color:var(--color-ink-soft)}.hint-note a,.technique-link{align-items:center;gap:var(--space-2xs);font-weight:650;display:inline-flex}.primary-button,.quiet-button{justify-content:center;align-items:center;gap:var(--space-xs);padding-inline:var(--space-md);font-weight:650;display:inline-flex}.primary-button{border-color:var(--color-accent-fill);background-color:var(--color-accent-fill);color:var(--color-accent-ink)}.quiet-button{color:var(--color-ink-soft);background-color:#0000;border-color:#0000}.solution-player__heading{flex-direction:column;justify-content:space-between;align-items:flex-start}.solution-player__explanation{min-height:7rem;border-block-start:var(--rule-hair) solid var(--color-rule);color:var(--color-ink);background-color:#0000;border-radius:0;padding-block-start:var(--space-md)}.solution-player__explanation p{color:var(--color-ink-soft);margin-block-start:var(--space-sm)}input[type=range]{width:100%;height:var(--control-height);accent-color:var(--color-accent);cursor:pointer}.playback-timeline{gap:var(--space-sm);padding:var(--space-md);border:0;border-block:var(--rule-hair) solid var(--color-rule);background:0 0;border-radius:0;display:grid}.playback-timeline__readout{align-items:baseline;gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto;display:grid}.playback-timeline__current{color:var(--color-ink);font-size:var(--text-sm);line-height:1.4}.playback-timeline__counter{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.playback-timeline__counter strong{color:var(--color-ink)}.playback-timeline__viewport{overscroll-behavior-inline:contain;scrollbar-color:var(--color-rule-strong) transparent;scrollbar-width:thin;max-width:100%;overflow:auto hidden}.playback-timeline__scrubber{height:var(--control-height);border-radius:var(--radius-sm);position:relative}.playback-timeline[data-density=dense] .playback-timeline__scrubber{width:max(100%, calc(var(--playback-point-count) * 1.5rem))}.playback-timeline__track,.playback-timeline__points{inset-inline:calc(1.7rem + var(--space-md));margin:0;padding:0;position:absolute;top:50%;transform:translateY(-50%)}.playback-timeline__track{height:var(--rule-medium);border-radius:var(--radius-pill);background:var(--color-rule);overflow:hidden}.playback-timeline__progress{border-radius:inherit;background:var(--color-accent);transform-origin:0;height:100%;transition:transform var(--dur-short) var(--ease-out);display:block}.playback-timeline__points{height:1.5rem;list-style:none}.playback-timeline__points li{place-items:center;height:1.5rem;display:grid;position:absolute;top:50%;transform:translate(-50%,-50%)}.playback-timeline__marker{border-radius:var(--radius-pill);background:var(--color-rule-strong);transition:background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), box-shadow var(--dur-short) var(--ease-out);display:block}.playback-timeline__marker[data-icon]{border:var(--rule-hair) solid currentcolor;background:var(--color-surface-raised);width:1.15rem;height:1.15rem;color:var(--color-rule-strong);place-items:center;display:grid}.playback-timeline__marker[data-icon] svg{stroke-width:2.4px;width:.7rem;height:.7rem}.playback-timeline__marker[data-glyph]{color:var(--color-rule-strong);font-family:var(--font-board);font-size:var(--text-xs);background:0 0;justify-content:center;align-items:center;font-weight:760;line-height:1;display:inline-flex;position:relative}.playback-timeline__glyphs{align-items:center;gap:var(--space-3xs);display:inline-flex}.playback-timeline__glyph-token{justify-content:center;align-items:center;gap:var(--space-3xs);background:var(--color-surface-raised);min-width:1.45rem;height:1.45rem;display:inline-flex}[data-glyph=mark] .playback-timeline__glyph-token{border:var(--rule-medium) solid currentcolor;border-radius:var(--radius-pill)}[data-glyph=elimination] .playback-timeline__glyph-token{font-family:var(--font-mono);font-size:var(--text-sm);background:0 0;font-weight:800}[data-glyph=placement] .playback-timeline__glyph-token{border:var(--rule-medium) solid currentcolor;border-radius:var(--radius-xs)}.playback-timeline__glyph-digit{font-variant-numeric:tabular-nums}.playback-timeline__points li[data-reached=false]>.playback-timeline__marker{border-color:var(--color-rule);background:var(--color-rule)}.playback-timeline__points li[data-reached=false]>.playback-timeline__marker[data-icon],.playback-timeline__points li[data-reached=false]>.playback-timeline__marker[data-glyph]{color:var(--color-muted)}.playback-timeline__points li[data-reached=false] .playback-timeline__glyph-token{background:var(--color-surface-raised)}.playback-timeline__points li[data-reached=true]>.playback-timeline__marker[data-icon=candidates]{border-color:var(--color-accent);background:var(--color-surface-raised);color:var(--color-accent)}.playback-timeline__points li[data-reached=true]>.playback-timeline__marker[data-icon=pattern]{border-color:var(--color-proof-pattern);background:var(--color-surface-raised);color:var(--color-proof-pattern)}.playback-timeline__points li[data-reached=true]>.playback-timeline__marker[data-icon=assumption]{border-color:var(--color-danger);background:var(--color-danger-surface);color:var(--color-danger)}.playback-timeline__points li[data-reached=true]>.playback-timeline__marker[data-icon=chain]{border-color:var(--color-proof-chain);background:var(--color-surface-raised);color:var(--color-proof-chain)}.playback-timeline__points li[data-reached=true]>.playback-timeline__marker[data-icon=placement]{border-color:var(--color-accent-2);background:var(--color-accent-2);color:var(--color-surface-raised)}.playback-timeline__points li[data-reached=true]>.playback-timeline__marker[data-icon=elimination]{border-color:var(--color-danger);background:var(--color-danger-surface);color:var(--color-danger)}.playback-timeline__points li[data-reached=true]>.playback-timeline__marker[data-glyph=mark]{color:var(--color-accent)}.playback-timeline__points li[data-reached=true]>.playback-timeline__marker[data-glyph=elimination]{color:var(--color-danger)}.playback-timeline__points li[data-reached=true]>.playback-timeline__marker[data-glyph=placement]{color:var(--color-surface-raised)}.playback-timeline__points li[data-reached=true]>.playback-timeline__marker[data-glyph=placement] .playback-timeline__glyph-token{border-color:var(--color-accent-2);background:var(--color-accent-2)}.playback-timeline__points li[data-current=true]>.playback-timeline__marker:not([data-glyph]){box-shadow:0 0 0 .3rem var(--color-selection)}.playback-timeline__points li[data-current=true]>.playback-timeline__marker[data-glyph]:after{bottom:calc(-1 * var(--space-xs));width:var(--space-md);height:var(--rule-medium);border-radius:var(--radius-pill);background:var(--color-accent);content:"";position:absolute;left:50%;transform:translate(-50%)}.playback-timeline[data-density=dense] .playback-timeline__marker[data-icon]{width:1rem;height:1rem}.playback-timeline[data-density=dense] .playback-timeline__marker[data-icon] svg{width:.66rem;height:.66rem}.playback-timeline__scrubber input[type=range]{z-index:1;opacity:0;height:100%;margin:0;position:absolute;inset:0}.playback-timeline__scrubber:has(input:focus-visible){outline:var(--rule-medium) solid var(--color-accent);outline-offset:var(--space-3xs)}.playback-timeline__controls{justify-content:center;align-items:center;gap:var(--space-xs);display:flex}.play-button{border-color:var(--color-accent-fill);border-radius:var(--radius-pill);background-color:var(--color-accent-fill);width:3.5rem;min-width:3.5rem;min-height:3.5rem;color:var(--color-accent-ink);place-items:center;padding:0;display:grid}.solution-player>.playback-timeline{background:0 0;border:0;border-radius:0;padding:0}dialog{width:min(calc(100% - var(--space-lg)), 36rem);border-radius:var(--radius-lg);max-height:min(84dvh,46rem);color:var(--color-ink);background-color:#0000;border:0;margin:auto;padding:0;position:fixed;inset:0;overflow:auto}dialog::backdrop{background-color:var(--color-overlay)}dialog[open]{animation:dialog-enter var(--dur-long) var(--ease-out)}@keyframes dialog-enter{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}.dialog-sheet{gap:var(--space-xl);padding:var(--space-lg);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-lg);background-color:var(--color-paper-2);color:var(--color-ink);display:grid}.dialog-heading{justify-content:space-between}.dialog-heading h2{font-size:var(--text-xl)}.style-options{border:0;border-block-start:var(--rule-hair) solid var(--color-rule);gap:0;margin:0;padding:0;display:grid}.style-options legend{color:var(--color-muted);font-size:var(--text-sm);margin-block-end:var(--space-sm);font-weight:620}.style-option{align-items:center;gap:var(--space-sm);min-height:4.75rem;padding:var(--space-sm) 0;border:0;border-block-end:var(--rule-hair) solid var(--color-rule);color:var(--color-ink);cursor:pointer;background-color:#0000;border-radius:0;grid-template-columns:auto auto minmax(0,1fr) auto;display:grid}.style-option[data-selected=true]{color:var(--color-accent);background-color:#0000}.style-option input{width:var(--text-md);height:var(--text-md);accent-color:var(--color-accent)}.style-option>span:not(.style-option__swatch){gap:var(--space-3xs);display:grid}.style-option small{color:var(--color-muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.style-option__swatch{border:var(--rule-hair) solid var(--color-rule-strong);width:2.75rem;height:1.75rem;position:relative;overflow:hidden}.style-option__swatch--quiet{border-radius:var(--radius-xs);background-color:var(--color-swatch-quiet-paper);color:var(--color-swatch-quiet-ink)}.style-option__swatch--quiet:before,.style-option__swatch--quiet:after{background-color:var(--color-swatch-quiet-accent);content:"";position:absolute}.style-option__swatch--quiet:before{width:2.25rem;height:var(--rule-medium);inset-block-start:.75rem;inset-inline-start:.6rem}.style-option__swatch--quiet:after{width:1.35rem;height:var(--rule-hair);background-color:var(--color-swatch-quiet-ink);inset-block-end:.8rem;inset-inline-start:.6rem}.style-option__swatch--friendly{border-radius:var(--radius-sm);background-color:var(--color-swatch-friendly-paper);color:var(--color-swatch-friendly-ink)}.style-option__swatch--friendly:before,.style-option__swatch--friendly:after{height:var(--rule-medium);content:"";position:absolute;inset-inline-start:var(--space-xs)}.style-option__swatch--friendly:before{width:1.75rem;background-color:var(--color-swatch-friendly-accent);inset-block-start:var(--space-xs)}.style-option__swatch--friendly:after{width:1.125rem;height:var(--rule-hair);background-color:var(--color-swatch-friendly-ink);inset-block-end:var(--space-xs)}.style-option__swatch--neon{border-radius:var(--radius-xs);background-color:var(--color-swatch-neon-paper);color:var(--color-swatch-neon-ink)}.style-option__swatch--neon:before,.style-option__swatch--neon:after{background-color:var(--color-swatch-neon-accent);content:"";position:absolute;inset-inline-start:var(--space-xs)}.style-option__swatch--neon:before{width:1.75rem;height:var(--rule-medium);inset-block-start:var(--space-xs)}.style-option__swatch--neon:after{width:1.125rem;height:var(--rule-hair);background-color:var(--color-swatch-neon-ink);inset-block-end:var(--space-xs)}.setting-row{min-height:var(--control-height);justify-content:space-between;align-items:center;gap:var(--space-lg);border-block-start:var(--rule-hair) solid var(--color-rule);padding-block-start:var(--space-md);display:flex}.setting-row>span{align-items:center;gap:var(--space-sm);font-weight:620;display:flex}.switch-button{justify-content:space-between;align-items:center;gap:var(--space-xs);min-width:5.5rem;padding-inline:var(--space-xs) var(--space-sm);border-radius:var(--radius-pill);background-color:var(--color-paper-3);color:var(--color-ink);font-size:var(--text-sm);display:inline-flex}.switch-button>span{width:var(--space-lg);height:var(--space-lg);border-radius:var(--radius-pill);background-color:var(--color-neutral);color:var(--color-paper);transition:transform var(--dur-short) var(--ease-in-out), background-color var(--dur-short) var(--ease-in-out);transform:translate(0)}.switch-button[aria-checked=true]{background-color:var(--color-accent-soft);color:var(--color-ink)}.switch-button[aria-checked=true]>span{background-color:var(--color-accent);color:var(--color-accent-ink);transform:translateX(var(--space-xs))}.completion-sheet{background-color:var(--color-paper-2);color:var(--color-ink);justify-items:start;position:relative}.completion-sheet__close{position:absolute;inset-block-start:var(--space-md);inset-inline-end:var(--space-md)}.completion-sheet__mark{color:var(--color-accent);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:700}.completion-sheet h2{max-width:16ch;font-size:var(--text-2xl)}.completion-stats{gap:var(--space-xs);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin:0;display:grid}.completion-stats>div{gap:var(--space-xs);padding-block:var(--space-md);border-block:var(--rule-hair) solid var(--color-rule);display:grid}.completion-stats dt{color:var(--color-muted);font-size:var(--text-sm)}.completion-stats dd{color:var(--color-ink);font-family:var(--font-mono);font-size:var(--text-md);font-variant-numeric:tabular-nums;margin:0;font-weight:650}.completion-sheet .primary-button,.completion-sheet .quiet-button{width:100%}.form-error{min-height:1lh;color:var(--color-danger);font-size:var(--text-sm)}.fatal-error{gap:var(--space-lg);width:min(100%,42rem);padding:var(--space-4xl) var(--page-gutter);margin-inline:auto;display:grid}.fatal-error p{color:var(--color-danger)}:root[data-style] .sudoku-cell[data-error=true]{background-color:var(--color-danger-surface);color:var(--color-danger)}@media (hover:hover) and (pointer:fine){.icon-button:hover,.quiet-button:hover{background-color:var(--color-paper-3);color:var(--color-ink)}a:hover{text-decoration-thickness:var(--rule-medium)}.sudoku-cell:hover{background-color:var(--color-selection);color:var(--color-ink)}.site-nav a:hover,.site-language:hover,.site-footer a:hover,.site-footer .link-button:hover{color:var(--color-ink);background-color:#0000}}@media (min-width:40rem){.difficulty-tabs button{font-size:var(--text-sm)}.number-deck__utilities,.number-deck__digits{gap:var(--space-xs)}.solution-player__heading{flex-direction:row}.solution-player,.dialog-sheet{padding:var(--space-lg)}}@media (pointer:coarse){.icon-button,.tool-button,.digit-button,.difficulty-tabs button{min-height:var(--control-height)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto;transition-duration:0s;animation-duration:1ms;animation-iteration-count:1}}.board-import{gap:var(--space-md);width:min(100%, var(--board-max));margin-block-start:var(--space-lg);display:grid}.board-import__heading{justify-content:space-between;align-items:baseline;gap:var(--space-sm);display:flex}.board-import>.board-status{min-height:1lh}.board-import__actions{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.board-import__actions .primary-button{min-height:var(--control-height)}.imported-banner{justify-content:space-between;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-xs) var(--space-xs) var(--space-xs) var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-md);background-color:var(--color-paper-2);margin:0;font-weight:620;display:flex}.board-import__scan{justify-content:center;align-items:center;gap:var(--space-xs);min-height:var(--control-height);padding-inline:var(--space-md);cursor:pointer;display:inline-flex;position:relative}.board-import__scan:focus-within{outline:var(--rule-focus) solid var(--color-focus);outline-offset:var(--space-2xs)}.ad-slot{min-height:6rem;margin-block-start:var(--space-lg);display:block}:where(.site[data-measure=prose] .site-main,.home-intro) h1{margin:0 0 var(--space-sm);font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--heading-weight);letter-spacing:var(--heading-tracking);line-height:1.2}:where(.site[data-measure=prose] .site-main) h2{margin:var(--space-xl) 0 var(--space-xs);font-size:var(--text-md);font-weight:var(--heading-weight)}:where(.site[data-measure=prose] .site-main) h3{margin:var(--space-lg) 0 var(--space-2xs);font-size:var(--text-base);font-weight:var(--heading-weight)}:where(.site[data-measure=prose] .site-main,.home-intro) p{max-width:34em;margin:0 0 var(--space-sm)}.technique-index__count{font-size:var(--text-sm);color:var(--color-neutral)}.technique-index__difficulty{margin-block-start:var(--space-xl)}.technique-index__difficulty-heading{justify-content:space-between;align-items:baseline;gap:var(--space-md);border-block-end:var(--rule-medium) solid var(--color-rule-strong);padding-block-end:var(--space-xs);display:flex}.technique-index__difficulty-heading h2{font-family:var(--font-display);font-size:var(--text-lg);margin:0}.technique-index__difficulty-heading span{color:var(--color-neutral);font-family:var(--font-mono);font-size:var(--text-xs);white-space:nowrap}.technique-index__family{margin-block-start:var(--space-lg)}.technique-index__family h3{margin:0 0 var(--space-xs);color:var(--color-neutral);font-size:var(--text-sm)}.technique-page__header{gap:var(--space-xs);min-width:0;border-block-end:var(--rule-hair) solid var(--color-rule);padding-block-end:var(--space-lg);display:grid}.technique-page__header h1{min-width:0;font-size:clamp(var(--text-lg), 7vw, var(--text-xl));text-wrap:balance;overflow-wrap:anywhere}.technique-page__lead{max-width:var(--prose-max);font-size:var(--text-base);text-wrap:pretty;line-height:1.5}.technique-walkthrough{margin-block-start:var(--space-lg)}.technique-walkthrough>h2{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--heading-weight);letter-spacing:-.015em;line-height:1.25}.technique-walkthrough__workspace{gap:var(--space-sm);min-width:0;grid-template-areas:"summary""board""timeline";margin-block-start:var(--space-sm);display:grid}.technique-walkthrough__workspace[data-has-stage-picker=true]{grid-template-areas:"chapters""summary""board""timeline"}.technique-walkthrough__chapters{border:0;grid-area:chapters;min-width:0;margin:0;padding:0}.technique-walkthrough__steps{gap:var(--rule-hair);border:var(--rule-hair) solid var(--color-rule);background:var(--color-rule);color:var(--color-ink);border-radius:0;flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex;overflow:clip}.technique-walkthrough__steps>li{background:var(--color-surface-raised);min-width:0;color:var(--color-ink);flex:4.5rem}.technique-walkthrough__steps>li[data-active=true]{background:var(--color-selection);box-shadow:inset 0 calc(-1 * var(--rule-strong)) 0 var(--color-accent)}.technique-walkthrough__steps button{justify-content:center;align-items:center;gap:var(--space-2xs);width:100%;min-width:0;height:100%;padding:var(--space-xs) var(--space-2xs);white-space:nowrap;background:0 0;border:0;border-radius:0;display:flex}.technique-walkthrough__phase{min-width:0;color:var(--color-neutral);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-overflow:ellipsis;font-weight:700;overflow:hidden}.technique-walkthrough__steps>li[data-kind=elimination] .technique-walkthrough__phase,.technique-walkthrough__steps>li[data-kind=assumption] .technique-walkthrough__phase{color:var(--color-danger)}.technique-walkthrough__steps>li[data-kind=pattern] .technique-walkthrough__phase{color:var(--color-proof-pattern)}.technique-walkthrough__steps>li[data-kind=chain] .technique-walkthrough__phase{color:var(--color-proof-chain)}.technique-walkthrough__steps>li[data-kind=conclusion] .technique-walkthrough__phase{color:var(--color-accent)}.technique-walkthrough__steps>li[data-active=true] .technique-walkthrough__phase,.technique-walkthrough__steps button[aria-pressed=true]{color:var(--color-ink)}.technique-walkthrough__steps button:focus-visible{z-index:var(--z-raised);outline-offset:calc(-1 * var(--rule-focus));box-shadow:inset 0 0 0 var(--rule-medium) var(--color-paper);position:relative}@media (hover:hover) and (pointer:fine){.technique-walkthrough__steps button[aria-pressed=false]:hover{background-color:var(--color-paper-2)}}.technique-walkthrough__number{min-width:1ch;color:var(--color-neutral);font-family:var(--font-mono);font-size:var(--text-xs);text-align:center;flex:none;font-weight:700;line-height:1}.technique-walkthrough__steps>li[data-active=true] .technique-walkthrough__number{color:var(--color-ink)}.technique-walkthrough__active-step{min-width:0;padding-block:var(--space-2xs) var(--space-xs);border-block-end:var(--rule-hair) solid var(--color-rule);font-weight:var(--heading-weight);text-wrap:pretty;grid-area:summary;line-height:1.4}.technique-walkthrough__workspace>#walkthrough-board{grid-area:board;min-width:0}.technique-walkthrough__workspace>.playback-timeline{grid-area:timeline;align-self:start;min-width:0}@media (min-width:52rem){.technique-walkthrough__workspace{align-items:start;column-gap:var(--space-xl);grid-template:"board summary""board timeline"1fr/minmax(0,30rem) minmax(18rem,1fr)}.technique-walkthrough__workspace[data-has-stage-picker=true]{grid-template-rows:auto auto 1fr;grid-template-areas:"board chapters""board summary""board timeline"}}.technique-index__list{border-block-start:var(--rule-hair) solid var(--color-rule);grid-template-columns:minmax(0,1fr);gap:0;margin:0;padding:0;list-style:none;display:grid}.technique-index__list a{min-height:var(--control-height);align-items:center;gap:var(--space-sm);padding:var(--space-sm) 0;border:0;border-block-end:var(--rule-hair) solid var(--color-rule);color:var(--color-ink);font-weight:var(--heading-weight);overflow-wrap:anywhere;white-space:normal;transition:color var(--dur-short) var(--ease-out);background:0 0;border-radius:0;grid-template-columns:auto minmax(0,1fr);line-height:1.3;text-decoration:none;display:grid}.technique-index__list a:hover{color:var(--color-accent);background:0 0}.technique-index__list a:focus-visible{outline:var(--rule-medium) solid var(--color-focus);outline-offset:var(--space-3xs)}.technique-index__icon{width:var(--space-lg);height:var(--space-lg);color:var(--color-accent);background:0 0;border-radius:0;place-items:center;display:grid}.technique-index__icon svg{width:var(--text-base);height:var(--text-base);stroke-width:1.75px}.technique-index__icon[data-kind=intersection],.technique-index__icon[data-kind=chain]{color:var(--color-accent-2);background:0 0}.technique-index__icon[data-kind=subset],.technique-index__icon[data-kind=als]{color:var(--color-success);background:0 0}.technique-index__icon[data-kind=fish],.technique-index__icon[data-kind=uniqueness],.technique-index__icon[data-kind=loop]{color:var(--color-ink-soft);background:0 0}.technique-index__icon[data-kind=contradiction]{color:var(--color-danger);background:0 0}.technique-index__icon[data-kind=pattern]{color:var(--color-neutral);background:0 0}@media (min-width:40rem){.technique-index__list{column-gap:var(--space-xl);grid-template-columns:repeat(2,minmax(0,1fr))}}.solver-page__steps ol{margin:0;padding-inline-start:1.25em}.solver-page__steps li{margin-bottom:var(--space-2xs);max-width:34em}.example-board{margin:var(--space-md) 0}.technique-walkthrough__workspace .example-board{margin:0}.example-grid{isolation:isolate;border:var(--rule-strong) solid var(--color-rule-strong);background:var(--color-surface-raised);width:min(100%,30rem);display:grid;position:relative;container-type:inline-size}.example-row{grid-template-columns:repeat(9,1fr);display:grid}.example-cell{aspect-ratio:1;border-inline-end:var(--rule-hair) solid var(--color-rule);border-block-end:var(--rule-hair) solid var(--color-rule);font-family:var(--font-board);place-items:center;display:grid;position:relative}.example-row:nth-child(3n) .example-cell{border-block-end-color:var(--color-rule-strong)}.example-cell:nth-child(3n){border-inline-end-color:var(--color-rule-strong)}.example-cell[data-context=true]{background:var(--color-peer)}.example-cell[data-support=true]:after{content:"";border:var(--rule-hair) dashed var(--color-accent);border-radius:var(--radius-xs);position:absolute;inset:6%}.example-cell[data-focus=true]{background:var(--color-selection)}.example-cell[data-placed=true]{background:var(--color-same-digit)}.example-value{z-index:3;font-size:5cqw;font-weight:var(--given-weight);position:relative}.example-placed{color:var(--color-accent);animation:example-mark-reveal var(--dur-long) var(--ease-out) both}.example-candidates{width:100%;height:100%;color:var(--color-muted);grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);place-items:center;font-size:3.2cqw;font-weight:600;line-height:1;display:grid}.example-candidate{z-index:3;position:relative}.example-evidence-overlay{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.example-evidence,.example-cell[data-roles],.example-candidate[data-roles]{--example-evidence-color:var(--color-accent)}.example-evidence[data-role=link],.example-evidence[data-role=overlapped-assignment],.example-cell:is([data-roles~=link],[data-roles~=overlapped-assignment]),.example-candidate:is([data-roles~=link],[data-roles~=overlapped-assignment]){--example-evidence-color:var(--color-proof-chain)}.example-evidence[data-role=auxiliary-1],.example-evidence[data-role=exofin],.example-evidence[data-role=almost-locked-set-3],.example-evidence[data-role=palette-2],.example-cell:is([data-roles~=auxiliary-1],[data-roles~=exofin],[data-roles~=almost-locked-set-3],[data-roles~=palette-2]),.example-candidate:is([data-roles~=auxiliary-1],[data-roles~=exofin],[data-roles~=almost-locked-set-3],[data-roles~=palette-2]){--example-evidence-color:var(--color-proof-pattern)}.example-evidence[data-role=auxiliary-2],.example-evidence[data-role=almost-locked-set-4],.example-evidence[data-role=rectangle-2],.example-evidence[data-role=palette-3],.example-evidence[data-role^=argb-],.example-cell:is([data-roles~=auxiliary-2],[data-roles~=almost-locked-set-4],[data-roles~=rectangle-2],[data-roles~=palette-3]),.example-cell[data-roles*=argb-],.example-candidate:is([data-roles~=auxiliary-2],[data-roles~=almost-locked-set-4],[data-roles~=rectangle-2],[data-roles~=palette-3]),.example-candidate[data-roles*=argb-]{--example-evidence-color:var(--color-proof-chain)}.example-evidence[data-role=auxiliary-3],.example-evidence[data-role=almost-locked-set-2],.example-evidence[data-role=endofin],.example-evidence[data-role=rectangle-3],.example-evidence[data-role=palette-1],.example-cell:is([data-roles~=auxiliary-3],[data-roles~=almost-locked-set-2],[data-roles~=endofin],[data-roles~=rectangle-3],[data-roles~=palette-1]),.example-candidate:is([data-roles~=auxiliary-3],[data-roles~=almost-locked-set-2],[data-roles~=endofin],[data-roles~=rectangle-3],[data-roles~=palette-1]){--example-evidence-color:var(--color-success)}.example-evidence[data-role=elimination],.example-evidence[data-role=cannibalism],.example-cell:is([data-roles~=elimination],[data-roles~=cannibalism]),.example-candidate:is([data-roles~=elimination],[data-roles~=cannibalism]){--example-evidence-color:var(--color-danger)}.example-evidence{color:var(--example-evidence-color)}.example-cell[data-evidence-kinds]:before{z-index:1;border:var(--rule-hair) solid var(--example-evidence-color);border-radius:var(--radius-xs);background:color-mix(in oklch, var(--example-evidence-color) 8%, transparent);content:"";pointer-events:none;position:absolute;inset:5%}.example-cell[data-evidence-kinds~=cell]:is([data-evidence-kinds~=house],[data-evidence-kinds~=chute-row],[data-evidence-kinds~=chute-column],[data-evidence-kinds~=rank-truth],[data-evidence-kinds~=rank-link]){box-shadow:inset 0 0 0 var(--rule-medium) var(--example-evidence-color)}.example-cell[data-evidence-kinds~=house]:before{background:repeating-linear-gradient(135deg, color-mix(in oklch, var(--example-evidence-color) 22%, transparent) 0 var(--rule-hair), transparent var(--rule-hair) var(--space-sm));border:0;border-radius:0;inset:0}.example-cell[data-evidence-kinds~=chute-row]:before{background:repeating-linear-gradient(0deg, color-mix(in oklch, var(--example-evidence-color) 25%, transparent) 0 var(--rule-hair), transparent var(--rule-hair) var(--space-xs));border:0;border-radius:0;inset:0}.example-cell[data-evidence-kinds~=chute-column]:before{background:repeating-linear-gradient(90deg, color-mix(in oklch, var(--example-evidence-color) 25%, transparent) 0 var(--rule-hair), transparent var(--rule-hair) var(--space-xs));border:0;border-radius:0;inset:0}.example-cell[data-evidence-kinds~=rank-truth]:before{border:var(--rule-medium) double var(--example-evidence-color);background:radial-gradient(circle at center, var(--example-evidence-color) 0 var(--rule-hair), transparent calc(var(--rule-hair) + var(--space-3xs)));inset:7%}.example-cell[data-evidence-kinds~=rank-link]:before{border:var(--rule-hair) dashed var(--example-evidence-color);background:0 0;inset:7%}.example-cell[data-evidence-kinds~=cell]:is([data-roles~=almost-locked-set-1],[data-roles~=almost-locked-set-2],[data-roles~=almost-locked-set-3],[data-roles~=almost-locked-set-4],[data-roles~=almost-locked-set-5]):before{border-radius:var(--radius-pill)}.example-cell[data-evidence-kinds~=cell]:is([data-roles~=auxiliary-1],[data-roles~=almost-locked-set-2],[data-roles~=rectangle-2],[data-roles~=palette-1]):before{border-style:dashed}.example-cell[data-evidence-kinds~=cell]:is([data-roles~=auxiliary-2],[data-roles~=almost-locked-set-3],[data-roles~=palette-2]):before{border-width:var(--rule-medium);border-style:double}.example-cell[data-evidence-kinds~=cell]:is([data-roles~=auxiliary-3],[data-roles~=almost-locked-set-4],[data-roles~=palette-3]):before,.example-cell[data-evidence-kinds~=cell][data-roles*=argb-]:before{background:repeating-linear-gradient(45deg, color-mix(in oklch, var(--example-evidence-color) 24%, transparent) 0 var(--rule-hair), transparent var(--rule-hair) var(--space-2xs))}.example-cell[data-evidence-kinds~=cell][data-roles~=palette-0]:before{background:radial-gradient(circle, color-mix(in oklch, var(--example-evidence-color) 42%, transparent) 0 var(--rule-hair), transparent calc(var(--rule-hair) + var(--space-3xs)));background-size:var(--space-xs) var(--space-xs)}.example-cell[data-evidence-kinds~=house][data-roles~=auxiliary-1]:before{background-image:repeating-linear-gradient(45deg, color-mix(in oklch, var(--example-evidence-color) 24%, transparent) 0 var(--rule-hair), transparent var(--rule-hair) var(--space-xs))}.example-cell[data-evidence-kinds~=house][data-roles~=auxiliary-2]:before{background-image:repeating-linear-gradient(90deg, color-mix(in oklch, var(--example-evidence-color) 25%, transparent) 0 var(--rule-hair), transparent var(--rule-hair) var(--space-sm))}.example-cell[data-evidence-kinds~=house][data-roles~=auxiliary-3]:before{background-image:radial-gradient(circle, color-mix(in oklch, var(--example-evidence-color) 35%, transparent) 0 var(--rule-hair), transparent calc(var(--rule-hair) + var(--space-3xs)));background-size:var(--space-xs) var(--space-xs)}.example-candidate[data-roles]{color:var(--example-evidence-color)}.example-candidate[data-roles]:before{border:var(--rule-hair) solid currentcolor;border-radius:var(--radius-pill);content:"";pointer-events:none;width:1.5em;height:1.5em;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.example-candidate:is([data-roles~=auxiliary-1],[data-roles~=exofin],[data-roles~=almost-locked-set-2],[data-roles~=rectangle-2],[data-roles~=palette-1]):before{border-style:dashed}.example-candidate:is([data-roles~=auxiliary-2],[data-roles~=endofin],[data-roles~=almost-locked-set-3],[data-roles~=rectangle-3],[data-roles~=palette-2]):before{border-width:var(--rule-medium);outline:var(--rule-hair) solid currentcolor;outline-offset:var(--space-3xs)}.example-candidate:is([data-roles~=auxiliary-3],[data-roles~=almost-locked-set-4]):before,.example-candidate[data-roles*=argb-]:before{border-radius:var(--radius-xs)}.example-candidate[data-roles~=assignment]:before,.example-candidate[data-roles~=overlapped-assignment]:before,.example-candidate:is([data-roles~=elimination],[data-roles~=cannibalism]):before,.example-candidate:is([data-roles~=rectangle-1],[data-roles~=rectangle-2],[data-roles~=rectangle-3]):before{border-radius:0}.example-candidate:is([data-roles~=almost-locked-set-1],[data-roles~=almost-locked-set-2],[data-roles~=almost-locked-set-3]):before{border-radius:var(--radius-xs)}.example-candidate:is([data-roles~=almost-locked-set-4],[data-roles~=almost-locked-set-5],[data-roles~=palette-0],[data-roles~=palette-1],[data-roles~=palette-2],[data-roles~=palette-3],[data-roles~=palette-4]):before{border-radius:var(--radius-xs);transform:translate(-50%,-50%)rotate(45deg)}.example-candidate[data-evidence-kinds~=rank-truth]:before{border-width:var(--rule-medium);border-radius:var(--radius-xs);border-style:double;outline:none}.example-candidate[data-evidence-kinds~=rank-link]:before{border-radius:var(--radius-pill);border-style:dashed;outline:none}.example-evidence-link__halo,.example-evidence-link__line{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}.example-evidence-link__halo{stroke:var(--color-surface-raised);stroke-width:calc(var(--rule-strong) + var(--rule-medium))}.example-evidence-link__line{stroke:currentColor}.example-evidence-link[data-strength=strong] .example-evidence-link__line{stroke-width:calc(var(--rule-strong) + var(--rule-hair))}.example-evidence-link[data-strength=weak] .example-evidence-link__halo,.example-evidence-link[data-strength=weak] .example-evidence-link__line{stroke-dasharray:var(--space-2xs) var(--space-2xs)}.example-evidence-link[data-strength=weak] .example-evidence-link__line{stroke-width:var(--rule-hair)}.example-evidence-link[data-strength=cell] .example-evidence-link__line{stroke-width:var(--rule-medium)}.example-evidence-link[data-grouped=true] :is(.example-evidence-link__halo,.example-evidence-link__line)[data-segment]:not([data-segment="0"]){stroke-dasharray:var(--space-3xs) var(--space-2xs)}.example-evidence-link[data-grouped=true] .example-evidence-link__line[data-segment]:not([data-segment="0"]){stroke-width:var(--rule-hair);opacity:.82}.example-evidence-link__hub{fill:var(--color-surface-raised);stroke:currentColor;stroke-width:calc(var(--rule-medium) + var(--rule-hair));vector-effect:non-scaling-stroke}.example-evidence-link__endpoint{fill:var(--color-surface-raised);stroke:currentColor;stroke-width:var(--rule-medium);vector-effect:non-scaling-stroke}.example-evidence-icon{fill:color-mix(in oklch, var(--color-surface-raised) 82%, transparent);stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--rule-medium)}.example-evidence-icon>*{vector-effect:non-scaling-stroke}.example-evidence-icon[data-icon=cross]{fill:none;stroke-width:calc(var(--rule-strong) + var(--rule-hair))}.example-evidence-baba__badge{fill:var(--color-surface-raised);stroke:currentColor;stroke-width:var(--rule-medium);vector-effect:non-scaling-stroke}.example-evidence-baba__label{fill:currentColor;font-family:var(--font-mono);font-size:2.2px;font-weight:800}.example-value[data-marked=true]:after,.example-candidate[data-marked=true]:after{content:"";border:var(--rule-medium) solid var(--color-accent);border-radius:var(--radius-pill);pointer-events:none;width:1.3em;height:1.3em;animation:example-source-mark-reveal var(--dur-long) var(--ease-out) both;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes example-source-mark-reveal{0%{opacity:0;scale:.7}to{opacity:1;scale:1}}.example-candidate[data-digit="1"]{grid-area:1/1}.example-candidate[data-digit="2"]{grid-area:1/2}.example-candidate[data-digit="3"]{grid-area:1/3}.example-candidate[data-digit="4"]{grid-area:2/1}.example-candidate[data-digit="5"]{grid-area:2/2}.example-candidate[data-digit="6"]{grid-area:2/3}.example-candidate[data-digit="7"]{grid-area:3/1}.example-candidate[data-digit="8"]{grid-area:3/2}.example-candidate[data-digit="9"]{grid-area:3/3}.playback-timeline__marker[data-glyph=elimination] .playback-timeline__glyph-digit,.candidate-grid__digit[data-eliminated=true],.example-candidate[data-eliminated=true]{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-line:line-through;text-decoration-color:currentColor;text-decoration-thickness:var(--rule-medium)}.candidate-grid__digit[data-eliminated=true],.example-candidate[data-eliminated=true]{color:var(--color-danger);animation:example-mark-reveal var(--dur-long) var(--ease-out) both;font-weight:700}@keyframes example-mark-reveal{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}.home-intro{max-width:var(--prose-max)}.solver-page__cta{margin-top:var(--space-xl)}.solver-page__cta a{color:var(--color-accent)}
