:root{color-scheme:light;--bg:#f4f1ea;--card:#fffdf8;--ink:#14120f;--muted:#5c574e;--line:#e4ddd0;--accent:#1f4b3f;--accent-ink:#f7f3ea;--cell:#fffcf7;--cell-hover:#f5f0e6;--wrong:#b42318;--shadow:0 12px 32px rgba(26,24,20,0.07);font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,Times New Roman,serif}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:radial-gradient(circle at top left,#efe8d8 0,transparent 42%),linear-gradient(180deg,#f7f3ea 0,var(--bg) 55%);color:var(--ink)}a{color:var(--accent)}.site-nav{width:min(720px,calc(100% - 2rem));margin:0 auto;padding:1rem 0 0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.site-nav ul{display:flex;flex-wrap:wrap;gap:.35rem 1rem;list-style:none;margin:0;padding:0}.site-nav a{color:var(--muted);text-decoration:none;font-size:.86rem;font-weight:500}.site-nav a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:.18em}main{width:min(720px,calc(100% - 2rem));margin:0 auto;padding:1.35rem 0 4.5rem}.hero{margin-bottom:1.35rem}.eyebrow{margin:0 0 .55rem;color:var(--muted);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}h1{margin:0;font-size:clamp(1.7rem,4.4vw,2.45rem);letter-spacing:-.035em;line-height:1.12;font-weight:700}.lede{margin:.85rem 0 0;max-width:38rem;color:var(--muted);font-size:.98rem;line-height:1.55}.lede,.panel{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.panel{position:relative;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:1.25rem 1.15rem 1.1rem;overflow:hidden}.size-row{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .85rem}.size-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);border-radius:999px;padding:.28rem .7rem;background:transparent;color:var(--muted);font:inherit;font-size:.78rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.size-chip:hover{color:var(--ink);border-color:rgba(26,24,20,.22)}.size-chip.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.progress-hairline{position:absolute;top:0;left:0;right:0;height:2px;background:transparent}.progress-hairline span{display:block;height:100%;background:rgba(26,24,20,.28);transition:width .12s linear}.stage-header{justify-content:space-between;gap:1rem;margin-bottom:.35rem;min-height:1.25rem}.stage-header,.stage-meta{display:flex;align-items:baseline}.stage-meta{gap:.85rem;min-width:0}.find-label{color:var(--muted);font-size:.84rem;letter-spacing:.01em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.miss-count{color:var(--muted);font-size:.78rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.miss-count.has-errors{color:var(--wrong);opacity:.9}.text-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:0;padding:0;margin:0;background:transparent;color:var(--muted);font:inherit;font-size:.84rem;font-weight:500;cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:transparent;text-decoration-color:transparent;text-underline-offset:.18em;transition:color .12s ease,-webkit-text-decoration-color .12s ease;transition:color .12s ease,text-decoration-color .12s ease;transition:color .12s ease,text-decoration-color .12s ease,-webkit-text-decoration-color .12s ease}.text-control:hover{color:var(--ink);-webkit-text-decoration-color:rgba(20,18,15,.35);text-decoration-color:rgba(20,18,15,.35)}.text-control.accented{color:var(--ink);-webkit-text-decoration-color:rgba(20,18,15,.45);text-decoration-color:rgba(20,18,15,.45)}.clock-block{text-align:center;margin:.15rem 0 1.05rem}.clock{font-size:clamp(1.85rem,5vw,2.4rem);font-weight:600;letter-spacing:-.04em;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}.best-line{margin-top:.45rem;color:var(--muted);font-size:.8rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.01em;min-height:1.1em}.grid{--board:min(100%,22.5rem,calc(100svh - 14.5rem));width:var(--board);margin-inline:auto;display:grid;grid-gap:clamp(.28rem,1.2vmin,.5rem);gap:clamp(.28rem,1.2vmin,.5rem)}.cell{-webkit-appearance:none;-moz-appearance:none;appearance:none;aspect-ratio:1;margin:0;padding:0;border:1px solid rgba(26,24,20,.08);border-radius:10px;background:var(--cell);color:var(--ink);font:inherit;font-size:clamp(.95rem,3.4vmin,1.4rem);font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer;box-shadow:none;transition:color .16s ease,opacity .16s ease,box-shadow .16s ease,border-color .16s ease}.cell:disabled{cursor:default}.cell:hover:not(:disabled){background:var(--cell-hover)}.cell.done{background:var(--cell);color:var(--ink);opacity:.28;border-color:rgba(26,24,20,.05)}.cell.wrong{color:var(--wrong);border-color:rgba(180,35,24,.55);box-shadow:inset 0 0 0 1.5px rgba(180,35,24,.55)}.hint{margin:.95rem 0 0;text-align:center;color:var(--muted);font-size:.82rem;letter-spacing:.005em}.prose{margin-top:2.75rem;color:var(--ink);line-height:1.75;font-size:1.02rem}.prose h2{margin:2.1rem 0 .7rem;font-size:1.28rem;letter-spacing:-.02em;line-height:1.25}.prose h3{margin:1.35rem 0 .35rem;font-size:1.05rem;letter-spacing:-.01em}.prose ol,.prose p,.prose ul{margin:0 0 1rem;color:#3a362f}.prose ol,.prose ul{padding-left:1.25rem}.prose li{margin:.35rem 0}.prose strong{color:var(--ink);font-weight:700}.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;background:#efe8da;padding:.1em .35em;border-radius:4px}.faq{margin-top:.25rem}footer{margin-top:3rem;padding-top:1.25rem;border-top:1px solid var(--line);color:#7a7368;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:.85rem}footer p{margin:.25rem 0}.footer-links a{text-decoration:none}.footer-links a:hover{text-decoration:underline}@media (max-height:760px){main{padding-top:1.15rem;padding-bottom:3rem}.hero{margin-bottom:.85rem}h1{font-size:clamp(1.65rem,4vw,2.1rem)}.clock-block{margin:.05rem 0 .7rem}.clock{font-size:clamp(1.55rem,4.2vw,1.95rem)}.grid{--board:min(100%,20rem,calc(100svh - 12rem))}.hint{margin-top:.65rem}}@media (orientation:landscape) and (max-height:700px){.grid{--board:min(100%,calc(100svh - 10.5rem))}.panel{padding:.85rem .95rem .75rem}}