:root{color-scheme:light;--paper: #F5EFE3;--paper-raised: #FBF8F1;--paper-sunk: #EAE2D3;--paper-hover: #F3ECDF;--ink: #1E2638;--ink-soft: #4A5268;--ink-faint: #6F6A62;--rule: #D8CEBC;--accent: #AE4523;--accent-ink: #FFFFFF;--accent-2: #3B6A93;--hl-opacity: .62;--hl-1: #F6D348;--hl-2: #8FD3B6;--hl-3: #F4A6A0;--hl-4: #9CC5EC;--hl-5: #F7B877;--hl-6: #C7B3E6;--success: #3E7C55;--success-ink: #FFFFFF;--box-empty-bg: var(--paper-raised);--box-empty-ring: color-mix(in srgb, var(--rule) 60%, transparent);--toast-icon: var(--hl-2);--ok-ink: var(--success);--sky-top: #BCD8E6;--sky-bottom: #F6E3C4;--radius-s: 6px;--radius-m: 12px;--radius-l: 20px;--shadow-card: 0 1px 0 rgba(30,38,56,.06), 0 8px 24px -12px rgba(30,38,56,.18);--shadow-sheet: 0 -1px 0 rgba(30,38,56,.06), 0 -16px 40px -16px rgba(30,38,56,.28);--line: 1.5px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--gutter: 16px;--touch: 48px;--scale: 1;--font-ui: "Atkinson Hyperlegible Next", "Atkinson Hyperlegible", system-ui, sans-serif;--font-display: "Fraunces", Georgia, serif;--fs-display: calc(34px * var(--scale));--fs-title: calc(30px * var(--scale));--fs-heading: calc(24px * var(--scale));--fs-lead: calc(20px * var(--scale));--fs-body: calc(18px * var(--scale));--fs-small: calc(16px * var(--scale));--fs-caption: calc(15px * var(--scale));--ease: cubic-bezier(.2,.8,.2,1);--ease-spring: cubic-bezier(.3,1.5,.5,1);--t-fast: .12s;--t-base: .18s;--t-slow: .24s;--t-slower: .32s}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--paper: #161B26;--paper-raised: #1E2433;--paper-sunk: #262D3E;--paper-hover: #232A3A;--ink: #EDE6D6;--ink-soft: #B7B0A2;--ink-faint: #9A9488;--rule: #39425A;--accent: #E07A55;--accent-2: #8DB4D8;--accent-ink: #161B26;--hl-opacity: .4;--success-ink: #FFFFFF;--box-empty-bg: var(--paper-sunk);--box-empty-ring: var(--rule);--toast-icon: var(--success);--ok-ink: var(--hl-2);--sky-top: #4A5F86;--sky-bottom: #E39A6E;--shadow-card: 0 1px 0 rgba(0,0,0,.2), 0 8px 24px -12px rgba(0,0,0,.5);--shadow-sheet: 0 -1px 0 rgba(0,0,0,.2), 0 -16px 40px -16px rgba(0,0,0,.6)}}[data-theme=dark]{color-scheme:dark;--paper: #161B26;--paper-raised: #1E2433;--paper-sunk: #262D3E;--paper-hover: #232A3A;--ink: #EDE6D6;--ink-soft: #B7B0A2;--ink-faint: #9A9488;--rule: #39425A;--accent: #E07A55;--accent-2: #8DB4D8;--accent-ink: #161B26;--hl-opacity: .4;--success-ink: #FFFFFF;--box-empty-bg: var(--paper-sunk);--box-empty-ring: var(--rule);--toast-icon: var(--success);--ok-ink: var(--hl-2);--sky-top: #4A5F86;--sky-bottom: #E39A6E;--shadow-card: 0 1px 0 rgba(0,0,0,.2), 0 8px 24px -12px rgba(0,0,0,.5);--shadow-sheet: 0 -1px 0 rgba(0,0,0,.2), 0 -16px 40px -16px rgba(0,0,0,.6)}[data-bigtext]{--scale: 1.25}@media(min-width:960px){:root{--gutter: 32px;--fs-display: calc(44px * var(--scale));--fs-title: calc(34px * var(--scale))}}@font-face{font-family:Atkinson Hyperlegible Next;src:url(/fonts/atkinson-next-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Atkinson Hyperlegible Next;src:url(/fonts/atkinson-next-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Fraunces;src:url(/fonts/fraunces-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;background:var(--paper)}body{min-height:100dvh;background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:var(--fs-body);line-height:1.5;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none}img,svg,canvas{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.1;letter-spacing:-.01em;text-wrap:balance}h1{font-size:var(--fs-display)}h2{font-size:var(--fs-title)}h3{font-size:var(--fs-heading)}p{text-wrap:pretty}a{color:var(--ink);text-decoration-line:underline;text-decoration-thickness:1.5px;text-underline-offset:4px;text-decoration-color:currentColor}a:hover{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:var(--radius-s)}::selection{background:color-mix(in srgb,var(--hl-1) 70%,transparent);color:var(--ink)}html:not(.js) .js-only{display:none!important}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){:root{--t-fast: 1ms;--t-base: .12s;--t-slow: .12s;--t-slower: .12s}}[data-motion=reduced]{--t-fast: 1ms;--t-base: .12s;--t-slow: .12s;--t-slower: .12s}.page{width:100%;max-width:calc(560px + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.page--wide{max-width:calc(1120px + 2 * var(--gutter))}.card{background:var(--paper-raised);border-radius:var(--radius-l);box-shadow:var(--shadow-card);padding:var(--s-5)}.card--flat{box-shadow:none}.card--quiet{border-radius:var(--radius-m);padding:var(--s-4);box-shadow:none}.eyebrow{font-size:var(--fs-caption);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);line-height:1.3}.eyebrow--muted{color:var(--ink-soft)}.eyebrow--nonogram{color:var(--accent-2)}.meta{font-size:var(--fs-small);color:var(--ink-soft);line-height:1.4}.btn{--btn-bg: var(--paper-raised);--btn-fg: var(--ink);--btn-border: var(--rule);display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:52px;padding:0 var(--s-6);border:var(--line) solid var(--btn-border);border-radius:var(--radius-m);background:var(--btn-bg);color:var(--btn-fg);font-size:var(--fs-body);font-weight:700;line-height:1.2;text-decoration:none;white-space:nowrap;user-select:none;transition:transform var(--t-fast) var(--ease),background-color var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease)}.btn:hover{color:var(--btn-fg)}.btn:active{transform:scale(.97)}.btn svg{width:20px;height:20px;flex:none}.btn--primary{--btn-bg: var(--accent);--btn-fg: var(--accent-ink);--btn-border: var(--accent)}.btn--primary:hover{box-shadow:0 6px 16px -8px var(--accent)}.btn--ink{--btn-bg: var(--ink);--btn-fg: var(--paper);--btn-border: var(--ink)}.btn--secondary{--btn-bg: transparent}.btn--secondary:hover{--btn-bg: var(--paper-raised)}.btn--block{display:flex;width:100%}.btn--pill{border-radius:999px;min-height:var(--touch);padding:0 var(--s-5)}.btn--icon{min-height:56px;width:56px;padding:0;border-radius:14px}.btn--icon svg{width:24px;height:24px}.btn--ghost{--btn-bg: transparent;--btn-border: transparent;min-height:var(--touch);padding:0 var(--s-3)}.btn--ghost.btn--icon{width:var(--touch);min-height:var(--touch)}.btn:disabled,.btn[aria-disabled=true]{--btn-bg: var(--paper-sunk);--btn-fg: var(--ink-soft);--btn-border: var(--paper-sunk);cursor:not-allowed;box-shadow:none;transform:none}.link-quiet{font-size:var(--fs-small);font-weight:400}.pill{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 var(--s-4);border-radius:999px;background:var(--paper-sunk);color:var(--ink);font-size:var(--fs-small);font-weight:700;font-variant-numeric:tabular-nums}.pill svg{width:18px;height:18px}.pill--success{background:var(--success);color:var(--success-ink)}.pill--ink{background:var(--ink);color:var(--paper)}.chips{display:flex;flex-wrap:wrap;gap:var(--s-2)}.chip{--hl: var(--hl-1);position:relative;display:inline-flex;align-items:center;min-height:40px;padding:0 var(--s-3);border:var(--line) solid var(--rule);border-radius:10px;background:var(--paper-raised);color:var(--ink);font-size:var(--fs-small);font-weight:700;letter-spacing:.03em;text-transform:uppercase}.chip--found{border-color:transparent;background:color-mix(in srgb,var(--hl) calc(var(--hl-opacity) * 100%),var(--paper));color:var(--ink-soft)}.chip--found:after{content:"";position:absolute;left:var(--s-2);right:var(--s-2);top:50%;height:2px;margin-top:-1px;border-radius:2px;background:currentColor;transform-origin:left center;transform:scaleX(1);transition:transform var(--t-slow) var(--ease)}.chip--found[data-animate]:after{animation:strike var(--t-slow) var(--ease) both}@keyframes strike{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.chip--current{border-color:var(--ink);background:var(--ink);color:var(--paper);border-radius:999px;padding:0 var(--s-4)}.segmented{display:inline-flex;padding:4px;gap:4px;border-radius:16px;background:var(--paper-sunk)}.segmented button{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:52px;padding:0 var(--s-5);border:0;border-radius:12px;background:transparent;color:var(--ink-soft);font-weight:700;font-size:var(--fs-body);transition:background-color var(--t-base) var(--ease),color var(--t-base) var(--ease)}.segmented button svg{width:18px;height:18px;flex:none}.segmented button[aria-pressed=true],.segmented button[aria-checked=true]{background:var(--ink);color:var(--paper)}.segmented--small button{min-height:44px;padding:0 var(--s-4);font-size:var(--fs-small)}.switch{position:relative;flex:none;width:52px;height:32px;border:0;border-radius:999px;padding:0;background:var(--paper-sunk);box-shadow:inset 0 0 0 var(--line) var(--rule);transition:background-color var(--t-base) var(--ease)}.switch:after{content:"";position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:50%;background:#fbf8f1;box-shadow:0 1px 3px #00000040;transition:transform var(--t-base) var(--ease-spring)}.switch[aria-checked=true]{background:var(--accent);box-shadow:none}.switch[aria-checked=true]:after{transform:translate(20px)}.toast{display:inline-flex;align-items:center;gap:var(--s-2);min-height:48px;padding:var(--s-3) var(--s-5);border-radius:var(--radius-m);background:var(--ink);color:var(--paper);font-size:var(--fs-small);font-weight:700;box-shadow:0 12px 32px -12px #00000073}.toast svg{width:20px;height:20px;color:var(--toast-icon)}.sheet{background:var(--paper-raised);border-radius:24px 24px 0 0;box-shadow:var(--shadow-sheet);padding:var(--s-3) var(--s-5) calc(var(--s-6) + env(safe-area-inset-bottom))}.sheet__handle{width:40px;height:4px;margin:0 auto var(--s-4);border-radius:2px;background:var(--rule)}.sheet__title{font-size:var(--fs-heading);margin-bottom:var(--s-4)}.sheet__row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);min-height:64px;padding-block:var(--s-3);border-top:1px solid var(--rule)}.sheet__row:first-of-type{border-top:0}.sheet__label{font-weight:700;line-height:1.3}.sheet__hint{display:block;font-weight:400;font-size:var(--fs-caption);color:var(--ink-soft)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-2)}.stat{background:var(--paper);border-radius:var(--radius-m);padding:var(--s-3);min-width:0}.stat__label{font-size:var(--fs-caption);color:var(--ink-soft)}.stat__value{font-family:var(--font-display);font-weight:600;font-size:calc(22px * var(--scale));line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}.stat__value--accent{color:var(--accent)}@media(max-width:380px){.stat{padding-inline:10px}.stat__value{font-size:calc(20px * var(--scale))}}.solution{display:flex;flex-direction:column;align-items:center;gap:var(--s-2)}.solution__row{display:flex;gap:6px}.solution__box{display:grid;place-items:center;width:34px;height:36px;border-radius:var(--radius-s);background:var(--box-empty-bg);box-shadow:0 1px 2px #1e263814,inset 0 0 0 1px var(--box-empty-ring);font-family:var(--font-display);font-weight:600;font-size:var(--fs-heading);color:var(--accent-ink)}.solution__box--filled{background:var(--accent);box-shadow:0 4px 10px -4px color-mix(in srgb,var(--accent) 70%,transparent)}.field{display:grid;gap:var(--s-2)}.field__label{font-weight:700}.field__hint{font-size:var(--fs-caption);color:var(--ink-soft)}.input{width:100%;min-height:52px;padding:var(--s-3) var(--s-4);border:var(--line) solid var(--rule);border-radius:var(--radius-m);background:var(--paper-raised);color:var(--ink);font-size:var(--fs-body);transition:border-color var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease)}.input::placeholder{color:var(--ink-soft);opacity:1}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}textarea.input{min-height:168px;resize:vertical;line-height:1.5}.notice{display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-4);border-radius:var(--radius-m);background:var(--paper-raised);box-shadow:inset 4px 0 0 var(--accent);font-size:var(--fs-small)}.notice svg{flex:none;color:var(--accent);margin-top:2px}.rp-sheet.svelte-1al2sgu{position:fixed;inset:auto 0 0;width:100%;max-width:560px;max-height:90dvh;margin:0 auto;padding:0;border:0;background:transparent;color:var(--ink);overflow:visible}.rp-sheet.svelte-1al2sgu::backdrop{background:#161b265c;animation:svelte-1al2sgu-fade var(--t-slow) var(--ease) both}.rp-sheet.no-dim.svelte-1al2sgu::backdrop{background:transparent}.rp-sheet[open].svelte-1al2sgu .rp-sheet__panel:where(.svelte-1al2sgu){animation:svelte-1al2sgu-rise var(--t-slower) var(--ease) both}.rp-sheet.closing.svelte-1al2sgu .rp-sheet__panel:where(.svelte-1al2sgu){animation:svelte-1al2sgu-sink var(--t-slow) var(--ease) both}.rp-sheet.closing.svelte-1al2sgu::backdrop{animation:svelte-1al2sgu-fade var(--t-slow) var(--ease) reverse both}.rp-sheet__panel.svelte-1al2sgu:focus{outline:none}.sheet__title--large.svelte-1al2sgu{font-size:var(--fs-display)}.rp-sheet__panel.svelte-1al2sgu{max-height:90dvh;overflow-y:auto;overscroll-behavior:contain}.rp-sheet__grab.svelte-1al2sgu{margin:calc(-1 * var(--s-3)) calc(-1 * var(--s-5)) 0;padding:var(--s-3) 0 0;touch-action:none;cursor:grab}.rp-sheet__head.svelte-1al2sgu{display:flex;align-items:center;justify-content:space-between;margin-top:calc(-1 * var(--s-2));margin-bottom:var(--s-2)}.rp-sheet__head.svelte-1al2sgu .sheet__title{margin:0}.rp-sheet__head.svelte-1al2sgu .btn:where(.svelte-1al2sgu){margin-right:calc(-1 * var(--s-3))}@keyframes svelte-1al2sgu-rise{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes svelte-1al2sgu-sink{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes svelte-1al2sgu-fade{0%{opacity:0}to{opacity:1}}@media(min-width:600px){.rp-sheet.svelte-1al2sgu{inset:auto 0 var(--s-6) 0}.rp-sheet__panel.svelte-1al2sgu{border-radius:24px}}.theme-row.svelte-1u3w06f{flex-wrap:wrap;padding-block:var(--s-2)}.site-header[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;min-height:72px;padding-top:var(--s-2)}.brand[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;gap:var(--s-3);text-decoration:none;color:var(--ink);min-height:var(--touch)}.brand[data-astro-cid-3ef6ksr2]:hover{color:var(--ink)}.brand__name[data-astro-cid-3ef6ksr2]{font-family:var(--font-display);font-weight:600;font-size:calc(25px * var(--scale));letter-spacing:-.01em;line-height:1}.site-header__actions[data-astro-cid-3ef6ksr2]{margin-right:calc(-1 * var(--s-3))}.site-footer[data-astro-cid-sz7xmlte]{margin-top:var(--s-12);padding-top:var(--s-6);padding-bottom:calc(var(--s-8) + env(safe-area-inset-bottom));border-top:1px solid var(--rule);display:grid;gap:var(--s-3);font-size:var(--fs-small);color:var(--ink-soft)}.site-footer__nav[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-5)}.site-footer__nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{min-height:var(--touch);display:inline-flex;align-items:center;color:var(--ink-soft)}.site-footer__nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--accent)}.site-footer__copy[data-astro-cid-sz7xmlte]{font-size:var(--fs-caption)}@media(min-width:960px){.site-footer[data-astro-cid-sz7xmlte]{grid-template-columns:1.4fr repeat(3,auto);column-gap:var(--s-12);align-items:start}.site-footer__nav[data-astro-cid-sz7xmlte]{flex-direction:column;gap:0}.site-footer__nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{min-height:36px}.site-footer__copy[data-astro-cid-sz7xmlte]{grid-column:1;grid-row:2}}.toast-host.svelte-1qvompp{position:fixed;left:0;right:0;bottom:calc(var(--s-6) + env(safe-area-inset-bottom));display:flex;justify-content:center;pointer-events:none;z-index:50;padding-inline:var(--gutter)}.toast.svelte-1qvompp{animation:svelte-1qvompp-in var(--t-slow) var(--ease) both}.toast.leaving.svelte-1qvompp{animation:svelte-1qvompp-out var(--t-slow) var(--ease) both}@keyframes svelte-1qvompp-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes svelte-1qvompp-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(8px)}}
