@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-vietnamese-opsz-normal-BjhtXyW2.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-ext-opsz-normal-BQn1nviT.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-opsz-normal-s-izfB6B.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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-vietnamese-opsz-italic-DTr-ymY4.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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-ext-opsz-italic-CSPGnFdO.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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-opsz-italic-kJKFiXvB.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{--bg:#0d0c0b;--ink:#f3eee3;--muted:#a39d91;--dim:#6f6a60;--rule:#2a2825;--accent:#ff4f1f;--serif:"Newsreader Variable", "Iowan Old Style", Georgia, serif;--mono:"JetBrains Mono Variable", ui-monospace, Menlo, monospace;--face:var(--serif);--face-scale:1;--word-gap:.27em;--scale:1;--anchor:34vw;--edge:clamp(20px, 2.6vw, 44px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=paper]{--bg:#f1ebdd;--ink:#16130e;--muted:#6b6455;--dim:#8a816f;--rule:#d5ccb9;--accent:#d6330a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=forest]{--bg:#0e1a14;--ink:#efe9d8;--muted:#9aa99e;--dim:#6d7f73;--rule:#24332b;--accent:#f2b13c}:root[data-theme=klein]{--bg:#1a2bc4;--ink:#f6f1e4;--muted:#c9cef2;--dim:#8f9ae6;--rule:#3a4ad2;--accent:#ffd23f}:root[data-font=mono]{--face:var(--mono);--face-scale:.8;--word-gap:.6em}:root[data-size=s]{--scale:.78}:root[data-size=l]{--scale:1.24}:root[data-layout=tape]{--fs:calc(clamp(3.4rem, 6.6vw, 7.4rem) * var(--scale) * var(--face-scale));--line:calc(var(--fs) * 1.32)}:root[data-layout=lines]{--fs:calc(clamp(1.9rem, 3vw, 3.2rem) * var(--scale) * var(--face-scale));--line:calc(var(--fs) * 1.5);--measure:min(1120px, 88vw)}:root[data-layout=classic]{--fs:calc(clamp(1.5rem, 2.2vw, 2.3rem) * var(--scale) * var(--face-scale));--line:calc(var(--fs) * 1.6);--measure:min(1040px, 86vw)}:root{--text-small:.86rem;--text-label:.92rem;--text-body:1rem;--text-lead:1.5rem;--text-title:1.9rem;--space-1:6px;--space-2:14px;--space-3:26px;--space-4:44px;--hairline:1px solid var(--rule);--fast:.16s;--fade:.28s;--theme:.5s;--ease-out:cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--serif);font-optical-sizing:auto;font-variant-numeric:lining-nums;padding:0 var(--edge);font-size:1.1875rem;line-height:1.55}a{color:inherit;-webkit-text-decoration-color:var(--dim);text-decoration-color:var(--dim);text-underline-offset:.18em;transition:text-decoration-color var(--fast) ease}a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}kbd{font:inherit;font-style:italic}.page-head,.page-foot{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-3) 0;font-size:var(--text-body);color:var(--muted);display:flex}.page-head .logo{letter-spacing:-.015em;color:var(--ink);font-size:22px;font-style:italic;text-decoration:none}.page-head nav,.page-foot nav{gap:var(--space-2);display:flex}.page-body{max-width:40rem;padding:clamp(40px, 9vh, 96px) 0 var(--space-4);margin:0 auto}h1{letter-spacing:-.025em;font-size:clamp(3rem,8vw,5.25rem);font-weight:400;line-height:1.02}.lead{margin-top:var(--space-3);font-size:var(--text-lead);line-height:1.35}.start{margin-top:var(--space-3);font-size:var(--text-lead);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);font-style:italic;text-decoration-thickness:2px;display:inline-block}section{margin-top:var(--space-4);padding-top:var(--space-3);border-top:var(--hairline)}h2{font-size:var(--text-title);letter-spacing:-.01em;margin-bottom:var(--space-2);font-weight:400;line-height:1.2}h3{font-size:inherit;margin-top:var(--space-3);font-weight:500}section p+p,section ul{margin-top:var(--space-2)}section ul{padding-left:1.1em}section li+li{margin-top:var(--space-1)}.modes div{gap:var(--space-2);padding:var(--space-1) 0;border-bottom:var(--hairline);grid-template-columns:6rem 1fr;display:grid}.modes div:last-child{border-bottom:0}.modes dt{color:var(--muted);font-style:italic}.modes dd{margin:0}.page-foot{margin-top:var(--space-4);border-top:var(--hairline)}.board-languages{gap:var(--space-2);margin-top:var(--space-4);padding-bottom:var(--space-1);border-bottom:var(--hairline);color:var(--muted);flex-wrap:wrap;font-style:italic;display:flex}.board-languages a{text-decoration:none}.board-languages a[aria-current]{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.board-status{margin-top:var(--space-2);color:var(--muted)}.board-list{margin-top:var(--space-2);padding:0;list-style:none}.board-list li{align-items:baseline;gap:var(--space-1);padding:var(--space-1) 0;border-bottom:var(--hairline);font-variant-numeric:tabular-nums;grid-template-columns:2.4rem 1fr 3.2rem 3.2rem;display:grid}.board-rank,.board-acc{color:var(--muted)}.board-wpm,.board-acc{text-align:right}.board-who{align-items:baseline;gap:8px;min-width:0;display:flex}.board-who b{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.board-who small{color:var(--muted);font-size:var(--text-small);text-overflow:ellipsis;white-space:nowrap;font-style:italic;overflow:hidden}.board-face{border:var(--hairline);width:22px;height:22px;color:var(--muted);border-radius:50%;flex:none;align-self:center;overflow:hidden}.keyprint{fill:currentColor;width:100%;height:100%;display:block}body.nf{grid-template-rows:auto 1fr;min-height:100dvh;display:grid;overflow-x:hidden}.nf-main{align-self:center;padding-bottom:12vh;padding-left:clamp(0px,18vw,340px)}.nf-count{font-size:var(--text-lead);color:var(--muted);font-variant-numeric:tabular-nums;font-style:italic}.nf-typed{min-height:1.32em;margin-top:var(--space-1);white-space:pre;align-items:center;font-size:clamp(3rem,6.6vw,7.4rem);line-height:1.32;display:flex}.nf-typed.nf-cut{-webkit-mask-image:linear-gradient(90deg,#000 80%,#0000);mask-image:linear-gradient(90deg,#000 80%,#0000)}.nf-wrong{color:var(--accent)}.nf-caret{background:var(--accent);flex:none;width:3px;height:.95em;margin-left:.04em}.nf-title{margin-top:var(--space-3);padding-top:var(--space-3);border-top:var(--hairline);margin-left:calc(-1 * (clamp(0px, 18vw, 340px) + var(--edge)));padding-left:calc(clamp(0px, 18vw, 340px) + var(--edge));margin-right:calc(-1 * var(--edge));font-size:var(--text-lead);letter-spacing:0;font-weight:400;line-height:1.35}.nf-suggest{font-size:var(--text-lead);line-height:1.35}.nf-hint{gap:var(--space-3);margin-top:var(--space-3);font-size:var(--text-body);color:var(--muted);flex-wrap:wrap;display:flex}.nf-hint a{transition:color var(--fast) ease;text-decoration:none}.nf-hint a:hover,.nf-hint kbd{color:var(--ink)}@media (prefers-reduced-motion:reduce){a{transition:none}}
