.archive{animation:rise var(--duration-slow) var(--ease-out) backwards}.archive__head{gap:var(--space-2);margin-bottom:var(--space-5);flex-direction:column;display:flex}.archive__grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.archive-card{gap:var(--space-1);height:100%;padding:var(--space-3);color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);flex-direction:column;text-decoration:none;display:flex}.archive-card:hover{border-color:var(--color-grid-line);box-shadow:var(--shadow-md);transform:translateY(-2px)}.archive-card:active{box-shadow:var(--shadow-sm);transition-duration:var(--duration-fast);transform:translateY(0)scale(.99)}.archive-card:focus-visible{border-radius:var(--radius-lg)}.archive-card--today{border-color:color-mix(in srgb, var(--color-accent) 45%, transparent)}.archive-card__thumb{aspect-ratio:1;width:100%;margin-bottom:var(--space-2);fill:var(--color-cell-filled);background:var(--color-paper);border-radius:var(--radius-md)}.archive-card__placeholder{border:1px solid var(--color-border);background-image:linear-gradient(to right, var(--color-border) 1px, transparent 1px), linear-gradient(to bottom, var(--color-border) 1px, transparent 1px);background-position:-1px -1px;background-size:20% 20%;display:block}.archive-card__head{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:var(--leading-tight);display:flex}.archive-card__today{padding:0 var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-accent);background:var(--color-accent-soft);border-radius:var(--radius-pill);line-height:1.6}.archive-card__meta{justify-content:space-between;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-ink-muted);display:flex}.archive-card__title{font-family:var(--font-serif);font-weight:var(--weight-bold);line-height:var(--leading-tight)}.archive-card__status{align-items:center;gap:var(--space-2);padding-top:var(--space-1);font-size:var(--text-sm);color:var(--color-ink-muted);margin-top:auto;display:inline-flex}.archive-card__status:before{content:"";border:1.5px solid var(--color-grid-line-heavy);border-radius:50%;flex:none;width:.5rem;height:.5rem}.archive-card__status--progress{color:var(--color-ink)}.archive-card__status--progress:before{border-color:var(--color-accent);background:linear-gradient(90deg, var(--color-accent) 50%, transparent 50%)}.archive-card__status--solved{color:var(--color-ink);font-weight:var(--weight-medium)}.archive-card__status--solved:before{border-color:var(--color-cell-filled);background:var(--color-cell-filled)}@media (width>=40rem){.archive__grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(10rem,1fr))}.archive-card{padding:var(--space-4)}}.board{--cell:clamp(var(--cell-min), calc(( min(100vw, var(--content-max)) - 2 * var(--gutter) - 2 * var(--board-border-width) ) / (var(--size) + .6 * var(--clue-cols))), var(--cell-max));-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;grid-template-rows:auto auto;grid-template-columns:auto auto;max-width:100%;display:inline-grid}.board__grid{touch-action:none}.board__col-clues{padding-inline:var(--board-border-width);display:flex}.board__col-clue,.board__row-clue{color:var(--color-ink-muted);font-family:var(--font-sans);font-weight:var(--weight-medium);font-size:calc(var(--cell) * .55);transition:color var(--duration-base) var(--ease-out);line-height:1;display:flex}.board__col-clue{justify-content:flex-end;align-items:center;gap:calc(var(--cell) * .12);width:var(--cell);flex-direction:column;padding-block-end:calc(var(--cell) * .2)}.board__row-clues{padding-block:var(--board-border-width);flex-direction:column;display:flex}.board__row-clue{justify-content:flex-end;align-items:center;gap:var(--space-1);height:var(--cell);min-width:calc(var(--cell) * .6 * var(--clue-cols));padding-inline-end:calc(var(--cell) * .25)}.board__col-clue[data-hover=true],.board__row-clue[data-hover=true]{color:var(--color-ink)}.board__col-clue[data-matched=true],.board__row-clue[data-matched=true]{color:var(--color-clue-matched)}.board__grid{grid-template-columns:repeat(var(--size), var(--cell));border:var(--board-border-width) solid var(--color-grid-line-heavy);background:var(--color-surface);transition:box-shadow var(--duration-slow) var(--ease-out);display:grid}.board__row,.board__gridcell{display:contents}.cell{width:var(--cell);height:var(--cell);border:0;border-right:var(--grid-line-width) solid var(--color-grid-line);border-bottom:var(--grid-line-width) solid var(--color-grid-line);background:var(--color-surface);cursor:pointer;transition:border-color var(--duration-slow) var(--ease-out);border-radius:0;margin:0;padding:0;display:block;position:relative}.board__row .board__gridcell:last-child .cell{border-right-color:#0000}.board__row:last-child .cell{border-bottom-color:#0000}.cell.cell--heavy-right{border-right:var(--grid-line-heavy-width) solid var(--color-grid-line-heavy)}.cell.cell--heavy-bottom{border-bottom:var(--grid-line-heavy-width) solid var(--color-grid-line-heavy)}.cell:hover{background:color-mix(in srgb, var(--color-ink) 6%, var(--color-surface))}.cell:focus-visible{z-index:1;box-shadow:inset 0 0 0 2px var(--color-focus)}.cell--filled:before{content:"";background:var(--color-cell-filled);animation:cell-fill var(--duration-fast) var(--ease-out);position:absolute;inset:1px}@keyframes cell-fill{0%{transform:scale(.85)}}.cell__cross{fill:none;width:100%;height:100%;stroke:var(--color-cross);stroke-width:1.5px;stroke-linecap:round;transition:opacity var(--duration-slow) var(--ease-out);position:absolute;inset:0}.cell__cross path{vector-effect:non-scaling-stroke}.board--locked .board__grid{box-shadow:var(--shadow-lg)}.board--locked .cell{cursor:default;border-bottom-color:#0000;border-right-color:#0000}.board--locked .cell.cell--heavy-right{border-right-color:var(--color-grid-line-heavy)}.board--locked .cell.cell--heavy-bottom{border-bottom-color:var(--color-grid-line-heavy)}.board--locked .cell:hover{background:var(--color-surface)}.board--locked .cell__cross{opacity:0}.toolbar{justify-content:center;align-items:center;gap:var(--space-3);max-width:100%;font-family:var(--font-sans);flex-wrap:wrap;display:flex}.toolbar__segmented{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);padding:2px;display:inline-flex}.toolbar__segmented .toolbar__option{border-radius:calc(var(--radius-md) - 2px)}.toolbar__actions{gap:var(--space-2);display:flex}.toolbar__option,.toolbar__button{min-width:44px;min-height:44px;padding-inline:var(--space-3);border-radius:var(--radius-sm);color:var(--color-ink);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out), transform var(--duration-fast) var(--ease-out);background:0 0;border:1px solid #0000}.toolbar__button{border-color:var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.toolbar__option[aria-pressed=true]{background:var(--color-accent-soft);color:var(--color-ink);font-weight:var(--weight-bold);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-accent) 35%, transparent)}.toolbar__option:hover:not(:disabled):not([aria-pressed=true]),.toolbar__button:hover:not(:disabled){background:var(--color-paper)}.toolbar__button:hover:not(:disabled){border-color:var(--color-grid-line-heavy)}.toolbar__option:active:not(:disabled),.toolbar__button:active:not(:disabled){transform:scale(.96)}.toolbar__button:disabled{box-shadow:none}.toolbar__option:disabled,.toolbar__button:disabled{color:var(--color-ink-muted);opacity:.5;cursor:default}.toolbar__time{min-width:44px;padding-inline:var(--space-2);flex-direction:column;align-items:center;display:flex}.toolbar__time-label{color:var(--color-ink-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase}.toolbar__time-value{font-size:var(--text-lg);font-weight:var(--weight-medium);line-height:var(--leading-tight)}@media (width<=30rem){.toolbar__time{justify-content:center;align-items:baseline;gap:var(--space-2);flex-direction:row;flex:1 0 100%;order:-1}.toolbar__option,.toolbar__button{padding-inline:var(--space-3)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-sans:"Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", sans-serif;--font-serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:2.75rem;--leading-tight:1.15;--leading-normal:1.55;--weight-regular:400;--weight-medium:550;--weight-bold:700;--tracking-wide:.08em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--gutter:var(--space-3);--content-max:60rem;--color-paper:#f6f1e7;--color-surface:#fffcf5;--color-ink:#1f1d1a;--color-ink-muted:#6b655b;--color-grid-line:#d8cfbf;--color-grid-line-heavy:#8f8574;--color-cell-filled:#23211e;--color-cross:#a0968a;--color-accent:#c2452d;--color-accent-ink:#fffcf5;--color-accent-soft:#f4dcd2;--color-focus:#2f6fd6;--color-clue-matched:#b9b0a2;--color-border:#e3dbcc;--color-scrim:#1f1d1a66;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--radius-pill:999px;--shadow-sm:0 1px 2px #3c2d1414;--shadow-md:0 1px 2px #3c2d140f, 0 6px 18px -6px #3c2d142e;--shadow-lg:0 2px 4px #3c2d140f, 0 18px 40px -12px #3c2d1447;--focus-ring:0 0 0 2px var(--color-surface), 0 0 0 4px var(--color-focus);--duration-fast:90ms;--duration-base:.16s;--duration-slow:.32s;--ease-out:cubic-bezier(.2, .7, .2, 1);--ease-in-out:cubic-bezier(.6, 0, .3, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);--cell-min:16px;--cell-max:32px;--grid-line-width:1px;--grid-line-heavy-width:2px;--board-border-width:2px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-paper:#16150f;--color-surface:#201e18;--color-ink:#ece5d6;--color-ink-muted:#a39b8c;--color-grid-line:#3a362d;--color-grid-line-heavy:#7a7262;--color-cell-filled:#e8e0cf;--color-cross:#6f685b;--color-accent:#ef7a5c;--color-accent-ink:#1a120e;--color-accent-soft:#3a2219;--color-focus:#7aa7ff;--color-clue-matched:#5a5448;--color-border:#332f27;--color-scrim:#0009;--shadow-sm:0 1px 2px #0006;--shadow-md:0 1px 2px #0000004d, 0 8px 20px -8px #0009;--shadow-lg:0 2px 4px #0000004d, 0 20px 44px -12px #000000b3}}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-base:0s;--duration-slow:0s}*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background-color:var(--color-paper);background-image:radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--color-grid-line) 70%, transparent) 1px, transparent 0);min-width:320px;color:var(--color-ink);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;background-size:24px 24px;margin:0;overflow-x:hidden}a{color:inherit}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}.clue,.tabular{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.shell{flex-direction:column;min-height:100dvh;display:flex}.site-header{z-index:10;background:color-mix(in srgb, var(--color-paper) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);position:sticky;top:0}.site-header__inner{align-items:center;gap:var(--space-3) var(--space-5);max-width:var(--content-max);padding:var(--space-3) var(--gutter);margin:0 auto;display:flex}.wordmark{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:-.01em;white-space:nowrap;margin:0}.wordmark__link{align-items:center;gap:var(--space-2);text-decoration:none;display:inline-flex}.wordmark__mark{background:linear-gradient(var(--color-ink), var(--color-ink)) 0 0 / 46% 46% no-repeat, linear-gradient(var(--color-accent), var(--color-accent)) 100% 0 / 46% 46% no-repeat, linear-gradient(var(--color-ink), var(--color-ink)) 0 100% / 46% 46% no-repeat, linear-gradient(var(--color-ink), var(--color-ink)) 100% 100% / 46% 46% no-repeat;border-radius:3px;flex:none;width:1.1em;height:1.1em;display:inline-block}.site-nav{gap:var(--space-1);margin-right:auto;display:flex}.site-nav a{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);color:var(--color-ink-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:color var(--duration-base) var(--ease-out), background-color var(--duration-base) var(--ease-out), transform var(--duration-fast) var(--ease-out);text-decoration:none}.site-nav a:hover{color:var(--color-ink);background:var(--color-surface)}.site-nav a:active{transform:scale(.97)}.site-nav a[aria-current=page]{color:var(--color-ink);background:var(--color-surface);box-shadow:var(--shadow-sm)}.streak-pill{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:var(--shadow-sm);font-size:var(--text-sm);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;white-space:nowrap;display:inline-flex}.streak-pill__icon{width:.85em;height:.85em;fill:var(--color-accent);stroke:var(--color-accent);stroke-width:1.4px;stroke-linecap:round}.site-main{width:100%;max-width:var(--content-max);padding:var(--space-6) var(--gutter) var(--space-7);flex:1;margin:0 auto}.site-footer{border-top:1px solid var(--color-border);color:var(--color-ink-muted);font-size:var(--text-xs);text-align:center}.site-footer p{max-width:var(--content-max);padding:var(--space-4) var(--gutter);margin:0 auto}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);background:var(--color-ink);color:var(--color-paper);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out), background-color var(--duration-base) var(--ease-out);border:0;text-decoration:none;display:inline-flex}.button:hover{background:var(--color-accent);color:var(--color-accent-ink)}.button:active{transform:translateY(1px)scale(.98)}.button--quiet{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink)}.button--quiet:hover{border-color:var(--color-grid-line-heavy);background:var(--color-paper);color:var(--color-ink)}.eyebrow{color:var(--color-accent);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;margin:0}.view-title{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:-.02em;margin:0}.view-lede{color:var(--color-ink-muted);font-size:var(--text-sm);margin:0}@media (width>=48rem){.view-title{font-size:var(--text-3xl)}}.puzzle-page{align-items:center;gap:var(--space-5);animation:rise var(--duration-slow) var(--ease-out) backwards;flex-direction:column;display:flex}.puzzle-page__head{align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;display:flex}.puzzle-page__meta{color:var(--color-ink-muted);font-size:var(--text-sm);margin:0}.puzzle-page__board{max-width:100%}@media (width>=64rem){.puzzle-page__board{padding:var(--space-5) var(--space-6) var(--space-6) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md)}}.puzzle-page__result{justify-content:center;align-items:center;gap:var(--space-2) var(--space-4);margin-top:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;display:flex}.puzzle-page__result p{margin:0}.puzzle-page__title{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:var(--weight-bold)}.puzzle-page__time{color:var(--color-ink-muted);font-size:var(--text-sm)}.empty-state{align-items:center;gap:var(--space-3);max-width:28rem;margin:var(--space-6) auto;padding:var(--space-7) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md);text-align:center;animation:rise var(--duration-slow) var(--ease-out) both;flex-direction:column;display:flex}.empty-state__art{margin-bottom:var(--space-2);grid-template-columns:repeat(3,14px);gap:2px;display:grid}.empty-state__art span{aspect-ratio:1;border:1px solid var(--color-grid-line-heavy);border-radius:2px}.empty-state__art .is-filled{background:var(--color-cell-filled);border-color:var(--color-cell-filled)}.empty-state__title{font-family:var(--font-serif);font-size:var(--text-xl);line-height:var(--leading-tight);margin:0}.empty-state__message{margin:0 0 var(--space-3);color:var(--color-ink-muted)}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (width<=26rem){.site-header__inner{flex-wrap:wrap}.wordmark{flex:1 0 100%}.site-nav a{padding-inline:var(--space-2)}}@media (width>=48rem){:root{--gutter:var(--space-5)}.wordmark{font-size:var(--text-xl)}}.solved-backdrop{z-index:20;padding:var(--gutter);background:var(--color-scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade var(--duration-base) var(--ease-out) both;place-items:center;display:grid;position:fixed;inset:0}.solved-dialog{width:min(100%,24rem);max-height:calc(100dvh - 2 * var(--gutter));padding:var(--space-6) var(--space-5) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg);text-align:center;animation:pop var(--duration-slow) var(--ease-spring) both;position:relative;overflow-y:auto}.solved-dialog:before{content:"";width:var(--space-7);border-radius:0 0 var(--radius-sm) var(--radius-sm);background:var(--color-accent);height:4px;position:absolute;top:0;left:50%;transform:translate(-50%)}.solved-dialog:focus-visible{border-radius:var(--radius-lg)}.solved-dialog p{color:var(--color-ink-muted);font-size:var(--text-sm);margin:0}.solved-dialog p+p{margin-top:var(--space-1)}.solved-dialog__heading{margin:0 0 var(--space-2);color:var(--color-accent);font-family:var(--font-serif);font-size:var(--text-3xl);line-height:var(--leading-tight);letter-spacing:-.02em}.solved-dialog .solved-dialog__title{margin-bottom:var(--space-3);color:var(--color-ink);font-family:var(--font-serif);font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:var(--leading-tight)}.solved-dialog__actions{gap:var(--space-2);margin-top:var(--space-5);display:grid}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.96)}}
