@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-cyrillic-ext-wght-normal-okcGN4Nq.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-cyrillic-wght-normal-BS41q_Tv.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-greek-ext-wght-normal-DQgQPNk4.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-greek-wght-normal-sS1B39LI.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-vietnamese-wght-normal-TKKdAiBA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-latin-ext-wght-normal-B4u9PlvR.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-latin-wght-normal-DX-nOvPD.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-display: "Fraunces Variable", "Iowan Old Style", Georgia, serif;--font-ui: "Inter Tight Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono Variable", ui-monospace, "SFMono-Regular", Menlo, monospace;--r-s: 8px;--r-m: 14px;--r-l: 22px;--hdr: 64px;--ease: cubic-bezier(.22, 1, .36, 1);--t-fast: .16s;--t-med: .24s}:root[data-theme=dark]{color-scheme:dark;--bg: #090d1b;--bg-2: #0d1328;--ink: #edeaf6;--ink-2: #c9c6dc;--muted: #9a9fbd;--panel: #111833;--panel-2: #172042;--edge: #252e58;--acc: #f4c46a;--acc-2: #ffdf9e;--acc-ink: #1b1305;--acc-soft: rgba(244, 196, 106, .14);--good: #7fd8ac;--good-soft: rgba(127, 216, 172, .13);--bad: #f39a85;--bad-soft: rgba(243, 154, 133, .14);--sky-top: #070a17;--sky-bot: #141c3d;--shadow: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 18px 40px -18px rgba(0, 0, 0, .7);--shadow-s: 0 8px 22px -14px rgba(0, 0, 0, .8);--hdr-bg: rgba(9, 13, 27, .82);--star: 1}:root[data-theme=light]{color-scheme:light;--bg: #fbf8f2;--bg-2: #f4efe4;--ink: #161a2e;--ink-2: #2f3450;--muted: #5a5f78;--panel: #ffffff;--panel-2: #f7f3ea;--edge: #e6dfcf;--acc: #8f5300;--acc-2: #b26a08;--acc-ink: #ffffff;--acc-soft: rgba(178, 106, 8, .1);--good: #1d7448;--good-soft: rgba(29, 116, 72, .1);--bad: #a83c25;--bad-soft: rgba(168, 60, 37, .09);--sky-top: #f7e9d3;--sky-bot: #fbf8f2;--shadow: 0 1px 2px rgba(22, 26, 46, .05), 0 16px 34px -20px rgba(60, 40, 10, .28);--shadow-s: 0 6px 18px -12px rgba(60, 40, 10, .3);--hdr-bg: rgba(251, 248, 242, .86);--star: 0}*{box-sizing:border-box}html{scroll-padding-top:calc(var(--hdr) + 16px);-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.55 var(--font-ui);-webkit-font-smoothing:antialiased;transition:background-color var(--t-med) var(--ease),color var(--t-med) var(--ease)}a{color:var(--acc);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:6px}::selection{background:var(--acc-soft)}img,svg{display:block;max-width:100%}button{font:inherit;color:inherit}section[id],[id].anchor{scroll-margin-top:calc(var(--hdr) + 16px)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.sr-only:focus{position:fixed;left:16px;top:12px;width:auto;height:auto;clip:auto;z-index:100;background:var(--panel);padding:8px 12px;border-radius:var(--r-s)}.h-xl{font:600 clamp(36px,5.4vw,62px)/1.04 var(--font-display);letter-spacing:-.02em;margin:0;font-variation-settings:"SOFT" 100,"WONK" 0}.h-l{font:600 clamp(28px,3.4vw,40px)/1.12 var(--font-display);letter-spacing:-.015em;margin:0}.h-m{font:600 22px/1.25 var(--font-display);margin:0}.h-s{font:650 16px/1.35 var(--font-ui);margin:0}.lede{font-size:19px;line-height:1.55;color:var(--ink-2);margin:0;max-width:60ch}.t-s{font-size:14px;color:var(--muted)}.t-xs{font-size:12px;color:var(--muted);letter-spacing:.02em}.eyebrow{font:650 12px/1 var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}.mono{font-family:var(--font-mono);font-size:.92em}.num{font-variant-numeric:tabular-nums}b.hl,.hl{color:var(--acc)}p{margin:0}.wrap{width:min(1200px,100% - 40px);margin-inline:auto}.sec{padding-block:48px}.sec+.sec{border-top:1px solid var(--edge)}.sec-head{display:grid;gap:10px;margin-bottom:24px;max-width:760px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.stack{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}.split{display:grid;gap:24px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.split.wide-l{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.split.wide-r{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.grid-3{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:960px){.split,.split.wide-l,.split.wide-r{grid-template-columns:minmax(0,1fr)}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:minmax(0,1fr)}}@media(max-width:520px){.grid-4{grid-template-columns:minmax(0,1fr)}.sec{padding-block:36px}}.card{background:var(--panel);border:1px solid var(--edge);border-radius:var(--r-l);padding:24px;box-shadow:var(--shadow)}.card.tight{padding:16px;border-radius:var(--r-m)}.card.link{transition:transform var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease);color:inherit;display:grid;gap:10px}.card.link:hover{transform:translateY(-3px);border-color:var(--acc);text-decoration:none}.inset{background:var(--panel-2);border:1px solid var(--edge);border-radius:var(--r-m);padding:16px}.divider{height:1px;background:var(--edge);margin:16px 0}.btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--edge);background:var(--panel);color:var(--ink);font-weight:600;font-size:15px;cursor:pointer;text-decoration:none;transition:transform var(--t-fast) var(--ease),background-color var(--t-fast),border-color var(--t-fast)}.btn:hover{text-decoration:none;border-color:var(--acc);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn.primary{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}.btn.primary:hover{background:var(--acc-2);border-color:var(--acc-2)}.btn.sm{height:36px;padding:0 14px;font-size:14px}.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}.icon-btn{width:40px;height:40px;display:grid;place-items:center;border-radius:999px;border:1px solid var(--edge);background:var(--panel);cursor:pointer;color:var(--ink);transition:border-color var(--t-fast)}.icon-btn:hover{border-color:var(--acc)}.chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;font-size:13px;font-weight:550;background:var(--panel-2);border:1px solid var(--edge);color:var(--ink-2);white-space:nowrap}.chip.acc{background:var(--acc-soft);border-color:transparent;color:var(--acc)}.chip.good{background:var(--good-soft);border-color:transparent;color:var(--good)}.chip.bad{background:var(--bad-soft);border-color:transparent;color:var(--bad)}.chip .dot{width:7px;height:7px;border-radius:50%;background:currentColor}.seg{display:inline-flex;padding:3px;gap:2px;background:var(--panel-2);border:1px solid var(--edge);border-radius:999px}.seg button{border:0;background:transparent;height:32px;padding:0 14px;border-radius:999px;cursor:pointer;font-size:14px;font-weight:600;color:var(--muted)}.seg button[aria-pressed=true]{background:var(--panel);color:var(--ink);box-shadow:var(--shadow-s)}input[type=range]{accent-color:var(--acc);width:100%}textarea,input[type=text],input[type=number]{width:100%;font:15px/1.5 var(--font-ui);color:var(--ink);background:var(--panel-2);border:1px solid var(--edge);border-radius:var(--r-s);padding:10px 12px;resize:vertical}textarea:focus,input:focus{outline:2px solid var(--acc);outline-offset:0;border-color:transparent}label.field{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--muted)}.hdr{position:sticky;top:0;z-index:50;height:var(--hdr);background:var(--hdr-bg);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--edge)}.hdr>.wrap{height:100%;display:flex;align-items:center;gap:20px}.brand{display:inline-flex;align-items:center;gap:10px;font:650 19px/1 var(--font-display);color:var(--ink);letter-spacing:-.01em}.brand:hover{text-decoration:none}.menu{display:flex;gap:2px;margin-left:12px;height:100%}.menu-item{position:relative;height:100%;display:flex;align-items:center}.menu-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border:0;background:transparent;border-radius:999px;cursor:pointer;font-weight:600;font-size:14.5px;color:var(--ink-2)}.menu-btn:hover,.menu-item.open .menu-btn{background:var(--panel-2);color:var(--ink)}.menu-btn.on{color:var(--acc)}.menu-btn svg{transition:transform var(--t-fast) var(--ease)}.menu-item.open .menu-btn svg{transform:rotate(180deg)}.submenu{position:absolute;top:100%;left:-8px;padding-top:6px;min-width:330px}.submenu-inner{background:var(--panel);border:1px solid var(--edge);border-radius:var(--r-m);box-shadow:var(--shadow);padding:8px;display:grid;gap:2px}.submenu a{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;padding:10px;border-radius:10px;color:var(--ink)}.submenu a:hover,.submenu a:focus-visible{background:var(--panel-2);text-decoration:none}.submenu a b{display:block;font-size:14.5px;font-weight:650}.submenu a span span{display:block;font-size:13px;color:var(--muted);line-height:1.4}.submenu .ico{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--acc-soft);color:var(--acc)}.hdr-right{margin-left:auto;display:flex;align-items:center;gap:8px}.burger{display:none}.mobile-panel{position:absolute;top:var(--hdr);left:0;right:0;background:var(--panel);border-bottom:1px solid var(--edge);padding:16px 20px 24px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));max-height:calc(100vh - var(--hdr));overflow:auto;box-shadow:var(--shadow)}.mobile-panel h4{margin:0 0 6px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}.mobile-panel a{display:block;padding:6px 0;color:var(--ink);font-weight:550}@media(max-width:1060px){.menu{display:none}.burger{display:grid}.hdr-cta{display:none}}.theme-btn{position:relative;overflow:hidden}.theme-btn .orb{transition:transform .42s var(--ease)}.sky{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;background:linear-gradient(180deg,var(--sky-top),var(--sky-bot) 78%,var(--bg))}.sky .star{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;opacity:calc(var(--star) * .7);animation:twinkle var(--d, 4s) ease-in-out var(--delay, 0s) infinite}.sky .star.big{width:3px;height:3px;box-shadow:0 0 8px #fff0c8cc}.sky .cloud{position:absolute;height:46px;border-radius:999px;background:#fff;opacity:calc((1 - var(--star)) * .7);filter:blur(1px);animation:drift var(--d, 60s) linear var(--delay, 0s) infinite}.sky .moon{position:absolute;left:44%;top:4%;width:104px;height:104px}.sky .shoot{position:absolute;width:120px;height:1.5px;background:linear-gradient(90deg,transparent,#fff);opacity:0;transform:rotate(-24deg);animation:shoot 9s ease-in 3s infinite}:root[data-theme=light] .sky .shoot{display:none}@keyframes twinkle{0%,to{opacity:calc(var(--star) * .15);transform:scale(.8)}50%{opacity:calc(var(--star) * .95);transform:scale(1.15)}}@keyframes drift{0%{transform:translate(-30vw)}to{transform:translate(130vw)}}@keyframes shoot{0%{opacity:0;translate:0 0}3%{opacity:.9}9%{opacity:0;translate:-340px 150px}to{opacity:0;translate:-340px 150px}}@keyframes glow{0%,to{opacity:.55;transform:scale(1)}50%{opacity:.9;transform:scale(1.06)}}@keyframes breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.hero{position:relative;isolation:isolate;padding-block:56px 48px}.hero>.wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:40px;align-items:center}.hero .copy{display:grid;gap:22px}.hero .facts{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:960px){.hero>.wrap{grid-template-columns:minmax(0,1fr)}.sky .moon{display:none}}.box{position:relative;background:var(--panel);border:1px solid var(--edge);border-radius:28px;box-shadow:var(--shadow);overflow:hidden}.box-top{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--edge);background:var(--panel-2)}.box-led{width:9px;height:9px;border-radius:50%;background:var(--acc);box-shadow:0 0 12px var(--acc);animation:glow 2.4s ease-in-out infinite}.box-body{padding:22px 24px;display:grid;gap:14px;position:relative}.box-title{font:600 24px/1.2 var(--font-display)}.reader{font:400 18px/1.75 var(--font-display);color:var(--ink-2);min-height:220px;max-height:300px;overflow:hidden;mask-image:linear-gradient(180deg,#000 78%,transparent)}.reader .w{transition:color .22s var(--ease),opacity .22s;opacity:.38}.reader .w.read{opacity:1;color:var(--ink)}.reader .w.now{color:var(--acc);opacity:1}.box-foot{display:flex;align-items:center;gap:12px;padding:14px 18px;border-top:1px solid var(--edge)}.progress{flex:1;height:6px;border-radius:999px;background:var(--panel-2);overflow:hidden}.progress>i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--acc),var(--acc-2));border-radius:inherit}.progress.seekable{height:8px;cursor:pointer;touch-action:none;position:relative}.progress.seekable:hover,.progress.seekable:focus-visible{height:10px}.reader .w{cursor:pointer}.reader .w:hover{text-decoration:underline;text-decoration-color:var(--acc);text-underline-offset:4px}.play{width:44px;height:44px;border-radius:50%;border:0;background:var(--acc);color:var(--acc-ink);display:grid;place-items:center;cursor:pointer;flex:none;transition:transform var(--t-fast) var(--ease)}.play:hover{transform:scale(1.06)}.stat{display:grid;gap:4px;padding:20px;border-radius:var(--r-l);background:var(--panel);border:1px solid var(--edge)}.stat .v{font:600 40px/1 var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums}.stat .v .u{font-size:18px;color:var(--muted);margin-left:4px}.stat .k{font-size:14px;color:var(--muted)}.stat.acc .v{color:var(--acc)}.loop-wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px;align-items:center}.loop-steps{display:grid;gap:8px;counter-reset:s}.loop-step{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:12px 14px;border-radius:var(--r-m);border:1px solid transparent;cursor:pointer;text-align:left;background:transparent;transition:background-color var(--t-fast),border-color var(--t-fast)}.loop-step.on{background:var(--panel);border-color:var(--edge);box-shadow:var(--shadow-s)}.loop-step .n{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font:650 14px var(--font-ui);background:var(--panel-2);color:var(--muted);border:1px solid var(--edge)}.loop-step.on .n{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}@media(max-width:960px){.loop-wrap{grid-template-columns:minmax(0,1fr)}}.heat{display:grid;grid-template-columns:70px repeat(6,minmax(0,1fr));gap:6px;align-items:center}.heat .hd{font-size:12px;color:var(--muted);text-align:center;font-weight:600}.heat .rl{font-size:12px;color:var(--muted);font-weight:600;text-align:right;padding-right:6px}.cell{aspect-ratio:1.5;border-radius:9px;display:grid;place-items:center;font:600 12.5px var(--font-ui);font-variant-numeric:tabular-nums;position:relative;border:1px solid transparent;transition:background-color .3s var(--ease),transform .2s var(--ease);color:var(--ink);cursor:default}.cell.best{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft),0 0 18px var(--acc-soft);transform:scale(1.06);z-index:1}.cell.scan{outline:2px solid var(--ink);outline-offset:-2px}.legend{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.legend .ramp{width:140px;height:8px;border-radius:999px}table.data{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}table.data th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:650;padding:8px 10px;border-bottom:1px solid var(--edge)}table.data td{padding:8px 10px;border-bottom:1px solid var(--edge);vertical-align:middle}table.data tr:last-child td{border-bottom:0}table.data td.n,table.data th.n{text-align:right;font-variant-numeric:tabular-nums}table.data input[type=number]{width:72px;padding:4px 8px;text-align:right}.tbl-scroll{overflow-x:auto}.mark{background:var(--bad-soft);color:var(--bad);border-radius:4px;padding:0 2px;box-shadow:inset 0 -2px 0 var(--bad)}.preview{font:400 16px/1.7 var(--font-display);white-space:pre-wrap;word-break:break-word;max-height:260px;overflow:auto}.verdict{display:flex;align-items:center;gap:12px;padding:16px;border-radius:var(--r-m);font-weight:650}.verdict.ok{background:var(--good-soft);color:var(--good)}.verdict.no{background:var(--bad-soft);color:var(--bad)}.preset{display:grid;gap:2px;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid var(--edge);background:var(--panel);cursor:pointer}.preset[aria-pressed=true]{border-color:var(--acc);background:var(--acc-soft)}.preset b{font-size:14px}.preset span{font-size:12.5px;color:var(--muted)}.nights{display:grid;gap:6px}.night{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid var(--edge);background:var(--panel);cursor:pointer;text-align:left;transition:border-color var(--t-fast),transform var(--t-fast) var(--ease)}.night:hover{border-color:var(--acc)}.night[aria-pressed=true]{border-color:var(--acc);background:var(--acc-soft)}.night .idx{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--panel-2);font:650 13px var(--font-ui);border:1px solid var(--edge)}.night.fail .idx{color:var(--bad);border-color:var(--bad)}.night b{display:block;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.night span{font-size:12.5px;color:var(--muted)}.book{perspective:2000px;display:grid;place-items:center;padding:24px 0}.spread{width:min(860px,100%);aspect-ratio:1.55;position:relative;transform-style:preserve-3d}.page{position:absolute;top:0;bottom:0;width:50%;background:#fffdf7;color:#24201a;padding:34px 32px;font:400 15px/1.7 var(--font-display);overflow:hidden;box-shadow:0 20px 50px -20px #00000080}.page.l{left:0;border-radius:16px 4px 4px 16px;background:linear-gradient(90deg,#fffdf7 86%,#efe7d6)}.page.r{right:0;border-radius:4px 16px 16px 4px;background:linear-gradient(270deg,#fffdf7 86%,#efe7d6)}.page h3{font:600 22px/1.2 var(--font-display);margin:0 0 6px;color:#1b1712}.page .pn{position:absolute;bottom:16px;left:0;right:0;text-align:center;font-size:11px;color:#8a8070;letter-spacing:.1em}.page .night-tag{font:600 10.5px var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:#9a6a20;margin-bottom:16px}@media(max-width:720px){.spread{aspect-ratio:auto;height:520px}.page.l{display:none}.page.r{width:100%;border-radius:16px}}.code{position:relative;background:#0b0f1f;color:#e3e6f3;border-radius:var(--r-m);border:1px solid var(--edge);font:13.5px/1.65 var(--font-mono);overflow:hidden}:root[data-theme=light] .code{background:#14182b}.code pre{margin:0;padding:16px 18px;overflow-x:auto}.code .c{color:#8a92b5}.code .k{color:#f4c46a}.code .s{color:#8fdcb3}.code button{position:absolute;top:8px;right:8px;height:30px;padding:0 10px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:#e3e6f3;cursor:pointer;font:600 12px var(--font-ui)}.bar{height:10px;border-radius:999px;background:var(--panel-2);overflow:hidden;border:1px solid var(--edge)}.bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--acc),var(--acc-2));transition:width .2s linear}.stream{font:400 17px/1.75 var(--font-display);white-space:pre-wrap;min-height:160px}.caret{display:inline-block;width:2px;height:1.1em;background:var(--acc);vertical-align:-3px;margin-left:2px;animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.skeleton{border-radius:var(--r-l);background:linear-gradient(100deg,var(--panel) 30%,var(--panel-2) 50%,var(--panel) 70%);background-size:300% 100%;animation:shimmer 1.4s linear infinite;border:1px solid var(--edge)}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.empty{display:grid;gap:12px;place-items:center;text-align:center;padding:56px 24px;border:1px dashed var(--edge);border-radius:var(--r-l)}.badge-sample{display:inline-flex;align-items:center;gap:6px;font:650 11px var(--font-ui);letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:6px;background:var(--bad-soft);color:var(--bad)}.badge-real{display:inline-flex;align-items:center;gap:6px;font:650 11px var(--font-ui);letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:6px;background:var(--good-soft);color:var(--good)}.kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 16px;font-size:14px}.kv dt{color:var(--muted)}.kv dd{margin:0;font-variant-numeric:tabular-nums}.tick{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start}.tick svg{color:var(--good);margin-top:2px}.cross svg{color:var(--bad)}.pagehead{padding-block:48px 8px;position:relative;isolation:isolate}.pagehead .wrap{position:relative;z-index:1;display:grid;gap:12px}.subnav{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.foot{border-top:1px solid var(--edge);padding-block:40px;background:var(--bg-2);margin-top:24px}.foot .wrap{display:grid;grid-template-columns:1.4fr repeat(4,minmax(0,1fr));gap:24px;font-size:14px;color:var(--muted)}.foot h4{margin:0 0 8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}.foot a{display:block;color:var(--muted);padding:3px 0}.foot a:hover{color:var(--acc)}@media(max-width:860px){.foot .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media print{.hdr,.foot,.no-print,.sky{display:none!important}body{background:#fff;color:#000}}@media(max-width:520px){.box-top .chip.acc{display:none}.box-top>span.t-s{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.box-top{flex-wrap:nowrap}}.breathe{animation:breathe 7s ease-in-out infinite}.breathe:hover,.breathe:focus-within{animation-play-state:paused}.the-end{position:absolute;inset:0;z-index:2;display:grid;place-content:center;justify-items:center;gap:8px;text-align:center;padding:24px;background:color-mix(in oklab,var(--panel) 90%,transparent);backdrop-filter:blur(3px)}.the-end-title{font:600 30px/1.1 var(--font-display);color:var(--ink)}.ask>.wrap.ask-wrap{display:block}.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:880px;margin:0 auto;width:100%}.tile{display:grid;justify-items:center;gap:8px;padding:22px 12px;border-radius:22px;border:1px solid var(--edge);background:var(--panel);box-shadow:var(--shadow);cursor:pointer;font:650 16px/1.2 var(--font-ui);color:var(--ink)}.tile:hover{border-color:var(--acc)}.tile:disabled{opacity:.55;cursor:wait}.tile-emoji{font-size:46px;line-height:1;filter:drop-shadow(0 6px 10px rgba(0,0,0,.18))}.ask-form{display:flex;gap:10px;max-width:640px;margin:0 auto;width:100%}.ask-form input{height:52px;font-size:17px;border-radius:999px;padding:0 22px}.ask-form .btn{height:52px;flex:none}.soft-note{text-align:center;color:var(--acc);font-weight:600;font-size:15px;max-width:620px;margin:0 auto;overflow:hidden}.working{display:grid;justify-items:center;gap:14px;text-align:center;padding-top:48px}.working .orb{filter:drop-shadow(0 0 30px var(--acc))}.dots{display:flex;gap:8px}.dots span{width:9px;height:9px;border-radius:50%;background:var(--acc)}@media(max-width:720px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.ask-form{flex-direction:column}.tile-emoji{font-size:38px}}.tap-hint{text-align:center;font:600 18px/1.4 var(--font-display);color:var(--acc)}.box .play.pulse{animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 0 var(--acc-soft)}50%{box-shadow:0 0 0 12px transparent}}@media(max-width:520px){.box-foot{flex-wrap:wrap;row-gap:10px}.box-foot .progress{flex:1 1 calc(100% - 120px)}.box-foot .chip{flex:1 1 0;justify-content:center}}.length{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.length-btn{display:grid;justify-items:center;gap:2px;min-width:210px;padding:12px 18px;border-radius:18px;border:1px solid var(--edge);background:var(--panel);cursor:pointer;color:var(--ink);transition:border-color var(--t-fast),background-color var(--t-fast)}.length-btn b{font-size:16px}.length-btn[aria-pressed=true]{border-color:var(--acc);background:var(--acc-soft);box-shadow:0 0 0 3px var(--acc-soft)}@media(max-width:520px){.length-btn{min-width:0;flex:1 1 0;padding:10px}}.reader .para-gap{display:block;height:.9em}
