.nr{--bg: #f5f4f0;--sf: #ffffff;--sf2: #efede8;--bd: #e3e0d8;--bd2: #d3cfc5;--fg: #1b1a17;--fg2: #6d6a63;--fg3: #93908a;--acc: #14509e;--accs: #e6eefa;--accfg: #ffffff;--acc2: #0f766e;--acc2s: #dff3f0;--ok: #0e8a5f;--oks: #e2f4ec;--warn: #a97407;--warns: #fbf0da;--bad: #c33b3b;--bads: #fae9e9;--sh: 0 1px 2px rgba(20, 18, 14, .05), 0 10px 30px rgba(20, 18, 14, .06);--ease: cubic-bezier(.16, 1, .3, 1);--nr-head: 57px;background:var(--bg);color:var(--fg);font-family:Public Sans,system-ui,sans-serif;min-height:100vh;color-scheme:light;-webkit-text-size-adjust:100%}html.site-dark .nr{--bg: #0d0e10;--sf: #15171a;--sf2: #1c1f24;--bd: #282c32;--bd2: #343941;--fg: #e9eaec;--fg2: #939aa3;--fg3: #6b727b;--acc: #3d82e8;--accs: #132844;--accfg: #ffffff;--acc2: #2dd4bf;--acc2s: #0e2a2a;--ok: #3ddc97;--oks: #102420;--warn: #e3a83e;--warns: #2a2114;--bad: #f2696c;--bads: #2b1618;--sh: 0 1px 2px rgba(0, 0, 0, .5), 0 10px 30px rgba(0, 0, 0, .35);color-scheme:dark}.nr *,.nr *:before,.nr *:after{box-sizing:border-box}.nr,.nr *{scrollbar-width:thin;scrollbar-color:var(--bd2) transparent}.nr ::-webkit-scrollbar,html:has(.nr)::-webkit-scrollbar{width:8px;height:8px}.nr ::-webkit-scrollbar-track,html:has(.nr)::-webkit-scrollbar-track{background:transparent}.nr ::-webkit-scrollbar-thumb,html:has(.nr)::-webkit-scrollbar-thumb{background:#cdc9bf;border-radius:999px}html.site-dark .nr ::-webkit-scrollbar-thumb,html.site-dark:has(.nr)::-webkit-scrollbar-thumb{background:#343941}html:has(.nr){scrollbar-width:thin;scrollbar-color:#cdc9bf transparent}html.site-dark:has(.nr){scrollbar-color:#343941 transparent}.nr ::selection{background:var(--acc);color:var(--accfg)}.nr button{font:inherit;letter-spacing:normal}.nr :focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:6px}@keyframes nr-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.nr-enter{animation:nr-rise .4s var(--ease) backwards}.nr[data-snapshot] .nr-prose>section,.nr[data-snapshot] .nr-prose>article{content-visibility:auto;contain-intrinsic-size:auto 1600px}.nr-head{position:sticky;top:0;z-index:40;background:linear-gradient(180deg,color-mix(in srgb,#fff 14%,var(--bg) 38%),color-mix(in srgb,var(--bg) 30%,transparent));-webkit-backdrop-filter:blur(20px) saturate(1.6);backdrop-filter:blur(20px) saturate(1.6);border-bottom:1px solid color-mix(in srgb,var(--bd) 45%,transparent);box-shadow:inset 0 1px color-mix(in srgb,#fff 45%,transparent),0 4px 18px -12px #00000040;transition:transform .32s var(--ease)}.nr-head-row{display:flex;align-items:center;gap:12px;height:56px;padding:0 16px;max-width:1180px;margin:0 auto}.nr-back,.nr-icon{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none;height:36px;border:1px solid var(--bd);background:var(--sf);color:var(--fg);border-radius:999px;cursor:pointer;font-size:13.5px;font-weight:600;transition:background .16s,border-color .16s,transform .16s var(--ease)}.nr-back{padding:0 14px 0 11px;text-decoration:none}a.nr-back{font:inherit}.nr-icon{width:36px}.nr-back:hover,.nr-icon:hover{background:var(--sf2);border-color:var(--bd2)}.nr-back:active,.nr-icon:active{transform:scale(.96)}.nr-back svg,.nr-icon svg{width:16px;height:16px;flex:none}.nr-back svg{transition:transform .2s var(--ease)}.nr-back:hover svg{transform:translate(-2px)}.nr-title{min-width:0;flex:1;display:flex;flex-direction:column;line-height:1.2}.nr-title-k{font:600 10.5px JetBrains Mono,ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--fg3)}.nr-title-t{font-size:14px;font-weight:650;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nr-ctrls{display:flex;align-items:center;gap:8px;flex:none}.nr-ctrls-row,.nr-only-sm{display:none}.nr-seg{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:3px;border-radius:12px;background:var(--sf2);border:1px solid var(--bd)}.nr-seg-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px) / var(--n));border-radius:9px;background:var(--sf);box-shadow:0 1px 2px #00000014,0 0 0 1px var(--bd);transform:translate(calc(var(--i) * 100%));transition:transform .32s var(--ease)}.nr-seg button{position:relative;z-index:1;border:0;background:none;cursor:pointer;height:28px;padding:0 12px;border-radius:9px;font-size:13px;font-weight:600;color:var(--fg2);white-space:nowrap;transition:color .2s}.nr-seg button[aria-pressed=true]{color:var(--fg)}.nr-seg button:not([aria-pressed=true]):hover{color:var(--fg)}.nr-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;pointer-events:none}.nr-progress i{display:block;height:100%;background:var(--acc);transform-origin:0 50%;transform:scaleX(0)}.nr-shell{max-width:1180px;margin:0 auto;padding:0 16px 96px;display:grid;grid-template-columns:minmax(0,1fr);gap:0 44px}.nr-side{display:none}.nr-main{min-width:0}@media(min-width:1024px){.nr-shell{grid-template-columns:252px minmax(0,1fr);padding-top:8px}.nr-side{display:block;position:sticky;top:calc(var(--nr-head) + 20px);align-self:start;max-height:calc(100vh - var(--nr-head) - 40px);overflow-y:auto;padding:18px 0 8px}.nr-fab{display:none!important}}.nr-prose{max-width:740px;font-size:16.5px;line-height:1.78}.nr-swap{animation:nr-rise .32s var(--ease) both}.nr-toc-h{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px;padding:0 4px 0 10px}.nr-toc-h b{font:600 10.5px JetBrains Mono,ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--fg3)}.nr-ring{display:inline-flex;align-items:center;gap:7px}.nr-ring svg{width:24px;height:24px;transform:rotate(-90deg)}.nr-ring circle{fill:none;stroke-width:2.6}.nr-ring-bg{stroke:var(--bd)}.nr-ring-fg{stroke:var(--acc);stroke-linecap:round;transition:stroke-dashoffset .25s linear}.nr-ring em{min-width:32px;text-align:right;font:700 12px JetBrains Mono,ui-monospace,monospace;font-style:normal;font-variant-numeric:tabular-nums;color:var(--acc)}.nr-toc-wrap{position:relative}.nr-toc{list-style:none;margin:0;padding:0;position:relative;z-index:1}.nr-toc-rail,.nr-toc-fill{position:absolute;left:7px;top:0;width:2px;border-radius:2px}.nr-toc-rail{bottom:0;background:var(--bd)}.nr-toc-fill{background:var(--acc);transition:height .3s var(--ease)}.nr-toc-ind{position:absolute;left:20px;right:0;top:0;z-index:0;border-radius:10px;background:var(--accs);pointer-events:none;transition:transform .4s var(--ease),height .4s var(--ease),opacity .2s}.nr-toc-i{position:relative;animation:nr-rise .5s var(--ease) backwards;animation-delay:calc(var(--i, 0) * 55ms)}.nr-toc-i:before{content:"";position:absolute;left:3px;top:17px;width:10px;height:10px;border-radius:50%;z-index:2;background:var(--bg);border:2px solid var(--bd2);transition:background .3s,border-color .3s,transform .3s var(--ease)}.nr-toc-i.is-done:before{background:var(--acc);border-color:var(--acc)}.nr-toc-i.is-now:before{background:var(--sf);border-color:var(--acc);transform:scale(1.25);animation:nr-pulse 2.2s ease-out infinite}@keyframes nr-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--acc) 45%,transparent)}70%,to{box-shadow:0 0 0 8px transparent}}.nr-toc button{position:relative;width:100%;display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:baseline;margin-left:20px;width:calc(100% - 20px);text-align:left;border:0;background:none;cursor:pointer;border-radius:10px;padding:8px 10px;color:var(--fg2);font-size:13.5px;line-height:1.35;transition:color .25s,transform .25s var(--ease),background .2s}.nr-toc button i{font:600 11.5px JetBrains Mono,ui-monospace,monospace;font-style:normal;color:var(--fg3);transition:color .3s}.nr-toc button small{display:block;font-size:11.5px;color:var(--fg3);margin-top:1px}.nr-toc button:hover{color:var(--fg);transform:translate(3px)}.nr-toc-i:not(.is-now) button:hover{background:color-mix(in srgb,var(--sf2) 70%,transparent)}.nr-toc button:active{transform:translate(3px) scale(.985)}.nr-toc-i.is-done button i{color:var(--acc)}.nr-toc-i.is-now button{color:var(--fg);font-weight:650}.nr-toc-i.is-now button i{color:var(--acc)}.nr-switch{margin:14px 0 0;padding:12px 10px 0;border-top:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:var(--fg2)}.nr-switch button{position:relative;width:38px;height:22px;border-radius:999px;border:1px solid var(--bd2);background:var(--sf2);cursor:pointer;flex:none;transition:background .2s,border-color .2s}.nr-switch button:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--fg3);transition:transform .28s var(--ease),background .2s}.nr-switch button:active:after{width:21px}.nr-switch button[aria-checked=true]:active:after{transform:translate(11px)}.nr-switch button[aria-checked=true]{background:var(--acc);border-color:var(--acc)}.nr-switch button[aria-checked=true]:after{transform:translate(16px);background:var(--accfg)}.nr-fab{position:fixed;right:16px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:35;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px 0 14px;border-radius:999px;border:1px solid var(--bd2);background:var(--sf);color:var(--fg);font-size:13.5px;font-weight:650;cursor:pointer;box-shadow:var(--sh);transition:transform .2s var(--ease)}.nr-fab:active{transform:scale(.96)}.nr-fab svg{width:16px;height:16px;color:var(--acc)}.nr-sheet-bd{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#08090b80}.nr-sheet{position:fixed;left:0;right:0;bottom:0;z-index:61;max-height:78vh;overflow-y:auto;background:var(--sf);border-top:1px solid var(--bd);border-radius:20px 20px 0 0;padding:10px 16px calc(20px + env(safe-area-inset-bottom));box-shadow:0 -20px 50px #00000040}.nr-sheet-grip{width:38px;height:4px;border-radius:4px;background:var(--bd2);margin:0 auto 14px}.nr-prose p{margin:.75em 0}.nr-prose strong,.nr-prose b{font-weight:650;color:var(--fg)}.nr-prose a{color:var(--acc)}.nr-prose .tl,.nr-prose .pp{color:var(--acc);font-weight:600}.nr-prose .bl{color:var(--acc2);font-weight:600}.nr-prose .rd{color:var(--bad);font-weight:600}.nr-prose .gr{color:var(--ok);font-weight:600}.nr-prose .katex{font-size:1.05em}.nr-prose .katex-display{margin:.5em 0;overflow-x:auto;overflow-y:hidden;padding:2px 0}.nr-prose .chapter,.nr-prose .scard,.nr-prose .shead,.nr-prose .cover{scroll-margin-top:calc(var(--nr-head) + 16px)}.nr-prose .chapter{padding-top:72px}.nr-prose .cover+.chapter{padding-top:56px}.nr-prose .ch-head{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.nr-prose .ch-num{justify-self:start;display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:8px;background:var(--accs);color:var(--acc);font:700 12.5px JetBrains Mono,ui-monospace,monospace;letter-spacing:.06em}.nr-prose .ch-k{margin-bottom:4px;font:600 11px JetBrains Mono,ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--fg3)}.nr-prose .ch-head h2{margin:0;font-size:clamp(28px,6.4vw,38px);line-height:1.12;font-weight:750;letter-spacing:-.025em}.nr-prose .ch-rule{height:1px;background:var(--bd);margin:20px 0 24px;position:relative}.nr-prose .ch-rule:before{content:"";position:absolute;left:0;top:-1px;height:3px;width:64px;border-radius:3px;background:var(--acc);transform-origin:0 50%}.nr-prose h3.sh{display:flex;align-items:center;gap:12px;margin:40px 0 12px;font-size:clamp(20px,5vw,24px);line-height:1.25;font-weight:700;letter-spacing:-.015em;scroll-margin-top:calc(var(--nr-head) + 16px)}.nr-prose h3.sh .bd{flex:none;padding:2px 8px;border-radius:7px;background:var(--accs);color:var(--acc);font:700 11.5px JetBrains Mono,ui-monospace,monospace;letter-spacing:.04em}.nr-prose h4.lab{margin:28px 0 8px;font:600 11px JetBrains Mono,ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--fg3)}.nr-prose ul.dots{list-style:none;padding:0;margin:.7em 0}.nr-prose ul.dots>li{position:relative;padding-left:22px;margin:.5em 0}.nr-prose ul.dots>li:before{content:"";position:absolute;left:4px;top:.7em;width:6px;height:6px;border-radius:50%;background:var(--acc)}.nr-prose ul.dots ul.dots>li:before{background:var(--fg3);width:5px;height:5px}.nr-prose .numlist{list-style:none;padding:0;margin:14px 0;counter-reset:n}.nr-prose .numlist li{counter-increment:n;display:flex;gap:14px;align-items:center;background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:12px 16px;margin:8px 0;transition:border-color .2s}.nr-prose .numlist li:hover{border-color:var(--bd2)}.nr-prose .numlist li:before{content:counter(n);flex:none;width:28px;height:28px;border-radius:50%;background:var(--accs);color:var(--acc);display:grid;place-items:center;font:700 12px JetBrains Mono,ui-monospace,monospace}.nr-prose .cover{padding:40px 0 8px}.nr-prose .cover .kick{display:inline-flex;align-items:center;height:26px;padding:0 12px;border-radius:999px;background:var(--accs);color:var(--acc);font:700 11px JetBrains Mono,ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase}.nr-prose .cover h1{margin:18px 0 14px;font-size:clamp(38px,9.5vw,58px);line-height:1.04;font-weight:800;letter-spacing:-.035em}.nr-prose .cover h1 .tl{font-family:"Source Serif 4",Georgia,serif;font-style:italic;font-weight:600;letter-spacing:-.02em}.nr-prose .cover .lede{margin:0 0 18px;font-size:18px;line-height:1.6;color:var(--fg2);max-width:36em}.nr-prose .nr-stats{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 18px;font-size:13.5px;color:var(--fg2)}.nr-prose .nr-stats b{color:var(--fg);font-weight:700;font-family:JetBrains Mono,ui-monospace,monospace;margin-right:3px}.nr-prose .cover .tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px}.nr-prose .cover .tags span{padding:5px 12px;border-radius:999px;border:1px solid var(--bd);background:var(--sf);color:var(--fg2);font-size:12.5px;font-weight:550}.nr-prose .nr-toc-title{margin:0 0 12px;font:600 11px JetBrains Mono,ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--fg3)}.nr-prose .toc{list-style:none;margin:0;padding:0;display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}@media(min-width:640px){.nr-prose .toc{grid-template-columns:repeat(2,minmax(0,1fr))}}.nr-prose .toc a{display:grid;grid-template-columns:34px 1fr auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:13px 14px;border-radius:14px;background:var(--sf);border:1px solid var(--bd);color:var(--fg);text-decoration:none;transition:border-color .18s,transform .22s var(--ease),box-shadow .22s}.nr-prose .toc a:hover{border-color:var(--acc);transform:translateY(-2px);box-shadow:var(--sh);color:var(--fg)}.nr-prose .toc a i{grid-row:1 / span 2;font:700 12.5px JetBrains Mono,ui-monospace,monospace;font-style:normal;color:var(--acc)}.nr-prose .toc a span{font-size:15px;font-weight:650;line-height:1.3}.nr-prose .toc a small{grid-column:2;font-size:12px;color:var(--fg3)}.nr-prose .toc a .nr-arrow{grid-row:1 / span 2;grid-column:3}.nr-cta{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 32px}.nr-btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 20px;border-radius:12px;cursor:pointer;border:1px solid var(--bd2);background:var(--sf);color:var(--fg);font-size:14.5px;font-weight:650;transition:transform .16s var(--ease),border-color .16s,background .16s,box-shadow .2s}.nr-btn:hover{border-color:var(--acc);box-shadow:var(--sh)}.nr-btn:active{transform:scale(.97)}.nr-btn-primary{background:var(--acc);border-color:var(--acc);color:var(--accfg)}.nr-btn-primary:hover{background:var(--acc);filter:brightness(1.08)}.nr-btn .nr-arrow{transition:transform .2s var(--ease)}.nr-btn:hover .nr-arrow{transform:translate(3px)}@media(min-width:1024px){.nr-prose .cover .toc,.nr-prose .cover .nr-toc-title{display:none}}.nr-prose .nr-credit{margin:22px 0 0;font-size:12.5px;color:var(--fg3)}.nr-arrow,.nr-chev{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.nr-prose .toc a .nr-arrow{color:var(--fg3);transition:transform .22s var(--ease),color .18s}.nr-prose .toc a:hover .nr-arrow{transform:translate(3px);color:var(--acc)}.nr-prose code{padding:1px 6px;border:1px solid var(--bd);border-radius:6px;background:var(--sf2);color:var(--fg);font:600 .86em JetBrains Mono,ui-monospace,monospace;font-variant-ligatures:none;white-space:nowrap}.nr-prose code.nt{padding:.15em .42em;border:0;border-radius:4px;background:#87837826;color:#eb5757;font-weight:500;font-size:.85em}html.site-dark .nr-prose code.nt{background:#ffffff1a;color:#ff7369}.nr-prose code.nt.err{white-space:normal;overflow-wrap:anywhere}@media(max-width:640px){.nr-prose :is(li,p,.note,.rule) code.nt{white-space:normal;overflow-wrap:anywhere}}.nr-prose .cb{margin:16px 0;border:1px solid var(--bd);border-radius:14px;background:var(--sf);overflow:hidden;box-shadow:var(--sh)}.nr-prose .cb-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 8px 5px 14px;background:var(--sf2);border-bottom:1px solid var(--bd);font:700 10px JetBrains Mono,ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--fg3)}.nr-prose .cb-copy{height:26px;padding:0 10px;border:1px solid var(--bd2);border-radius:999px;background:var(--sf);color:var(--fg2);font:600 11px Public Sans,system-ui,sans-serif;letter-spacing:0;text-transform:none;cursor:pointer;transition:border-color .16s,color .16s,transform .16s var(--ease)}.nr-prose .cb-copy:hover{border-color:var(--acc);color:var(--acc)}.nr-prose .cb-copy:active{transform:scale(.96)}.nr-prose .cb pre{margin:0;padding:12px 16px;overflow-x:auto;font:500 13.5px/1.7 JetBrains Mono,ui-monospace,monospace;color:var(--fg);-moz-tab-size:4;tab-size:4;font-variant-ligatures:none}.nr-prose .cb pre code{padding:0;border:0;border-radius:0;background:none;color:inherit;font:inherit;white-space:pre}.nr-prose .cb-out{border-top:1px dashed var(--bd2);background:color-mix(in srgb,var(--oks) 60%,transparent)}.nr-prose .cb-out-l{padding:7px 16px 0;font:700 9.5px JetBrains Mono,ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--ok)}.nr-prose .cb-out pre{padding-top:4px}.nr-prose .cb-err .cb-out{background:color-mix(in srgb,var(--bads) 70%,transparent)}.nr-prose .cb-err .cb-out-l{color:var(--bad)}.nr-prose .iv-meter{display:inline-flex;gap:3px;vertical-align:middle}.nr-prose .iv-meter i{width:14px;height:5px;border-radius:3px;background:var(--bd2)}.nr-prose .iv-meter i.on{background:var(--acc)}.nr-prose .iv-tier{margin:14px 0;border:1px solid var(--bd);border-radius:14px;background:var(--sf);overflow:hidden;box-shadow:var(--sh)}.nr-prose .iv-tier-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;background:var(--sf2);border-bottom:1px solid var(--bd)}.nr-prose .iv-tier-n{display:inline-flex;align-items:center;gap:10px;font-size:14.5px}.nr-prose .iv-count{font:600 11px JetBrains Mono,ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--fg3)}.nr-prose .iv-row{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.25fr) auto;gap:6px 16px;align-items:center;padding:11px 16px;border-top:1px solid var(--bd)}.nr-prose .iv-row:first-of-type{border-top:0}.nr-prose .iv-row .t{font-weight:650;line-height:1.4}.nr-prose .iv-row .q{color:var(--fg2);font-size:14.5px;line-height:1.45}.nr-prose .iv-row .ref,.nr-prose .iv-ref{display:inline-block;padding:3px 9px;border-radius:999px;background:var(--accs);color:var(--acc);font:600 11px JetBrains Mono,ui-monospace,monospace;white-space:nowrap}.nr-prose .iv-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 10px}.nr-prose .iv-tag{padding:3px 9px;border-radius:6px;background:var(--sf2);border:1px solid var(--bd);font:700 10.5px JetBrains Mono,ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--fg2)}.nr-prose .iv-chance{font-size:13px;color:var(--fg2);font-weight:600}.nr-prose .iv-ask{margin:0 0 8px;color:var(--fg2)}.nr-prose .iv-sub{margin:16px 0 4px;font:700 10.5px JetBrains Mono,ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--fg3)}.nr-prose .iv-follow{display:flex;flex-direction:column;gap:3px;margin-top:14px;padding:10px 14px;border-left:3px solid var(--acc2);border-radius:0 10px 10px 0;background:var(--acc2s)}.nr-prose .iv-follow b{font:700 10.5px JetBrains Mono,ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--acc2)}.nr-prose .sm-glance{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin:14px 0}.nr-prose .sm-tile{padding:12px 14px;border:1px solid var(--bd);border-left:3px solid var(--acc);border-radius:12px;background:var(--sf)}.nr-prose .sm-tile .n{display:block;margin-bottom:4px;font:700 11px JetBrains Mono,ui-monospace,monospace;letter-spacing:.12em;color:var(--acc)}.nr-prose .sm-tile b{display:block;font-size:15.5px}.nr-prose .sm-tile p{margin:4px 0 0;font-size:14px;line-height:1.5;color:var(--fg2)}.nr-prose .sm-defs{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px;margin:14px 0}.nr-prose .sm-def dl{margin:6px 0 2px;display:grid;gap:0}.nr-prose .sm-def dt{margin-top:10px;font-weight:700;font-size:14.5px}.nr-prose .sm-def dd{margin:1px 0 0;color:var(--fg2);font-size:14px;line-height:1.5}.nr-prose .sm-chk ul{list-style:none;margin:6px 0 2px;padding:0}.nr-prose .sm-chk li{position:relative;margin:0;padding:7px 0 7px 26px;border-top:1px solid var(--bd);font-size:14.5px;line-height:1.5}.nr-prose .sm-chk li:first-child{border-top:0}.nr-prose .sm-chk li:before{content:"✓";position:absolute;left:0;top:8px;width:17px;height:17px;border-radius:5px;background:var(--oks);color:var(--ok);font:700 11px/17px system-ui,sans-serif;text-align:center}.nr-prose .sm-pairs{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:10px;margin:14px 0}.nr-prose .sm-vs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);border:1px solid var(--bd);border-radius:12px;overflow:hidden;background:var(--sf)}.nr-prose .sm-vs>div{padding:10px 14px}.nr-prose .sm-vs b{display:block;font-size:14.5px;color:var(--acc)}.nr-prose .sm-vs>div:last-child b{color:var(--acc2)}.nr-prose .sm-vs span{display:block;margin-top:2px;font-size:13.5px;line-height:1.45;color:var(--fg2)}.nr-prose .sm-vs .vs{display:grid;place-items:center;padding:0 9px;background:var(--sf2);border-left:1px solid var(--bd);border-right:1px solid var(--bd);font:700 10px JetBrains Mono,ui-monospace,monospace;letter-spacing:.1em;color:var(--fg3)}.nr-prose .sm-badge{display:inline-block;padding:2px 9px;border-radius:999px;font:700 10.5px JetBrains Mono,ui-monospace,monospace;letter-spacing:.06em;white-space:nowrap}.nr-prose .sm-badge.c{background:var(--accs);color:var(--acc)}.nr-prose .sm-badge.r{background:var(--warns);color:var(--warn)}@media(max-width:640px){.nr-prose .iv-row{grid-template-columns:minmax(0,1fr);gap:4px}.nr-prose .iv-row .ref{justify-self:start;margin-top:4px}.nr-prose .sm-pairs,.nr-prose .sm-vs{grid-template-columns:minmax(0,1fr)}.nr-prose .sm-vs .vs{padding:4px 0;border:0;border-top:1px solid var(--bd);border-bottom:1px solid var(--bd)}}.nr-prose .cb.vsc{background:#1e1e1e;border:1px solid #2d2d2d;border-radius:10px;box-shadow:0 8px 22px #00000029}.nr-prose .cb.vsc .cb-h{padding:0 8px 0 0;background:#252526;border-bottom:1px solid #1a1a1a;font:500 12.5px Public Sans,system-ui,sans-serif;letter-spacing:0;text-transform:none;color:#ccc}.nr-prose .cb.vsc .cb-h>span{display:inline-flex;align-items:center;gap:8px;padding:9px 16px 9px 14px;background:#1e1e1e;color:#fff;border-top:1px solid #007acc;margin-top:-1px}.nr-prose .cb.vsc .cb-h>span:before{content:"";width:9px;height:9px;border-radius:2px;background:#e76f00}.nr-prose .cb.vsc.vsc-py .cb-h>span:before{background:linear-gradient(135deg,#3776ab 50%,#ffd43b 50%)}.nr-prose .cb.vsc .cb-copy{height:24px;padding:0 9px;border:1px solid #3c3c3c;border-radius:4px;background:transparent;color:#ccc;font:500 11.5px Public Sans,system-ui,sans-serif}.nr-prose .cb.vsc .cb-copy:hover{border-color:#007acc;color:#fff;background:#2a2d2e}.nr-prose .cb.vsc pre{padding:12px 16px 12px 0;color:#d4d4d4;font-size:13px;line-height:1.65}.nr-prose .cb.vsc pre code{counter-reset:ln}.nr-prose .cb.vsc .vl{counter-increment:ln}.nr-prose .cb.vsc .vl:before{content:counter(ln);display:inline-block;width:2.4em;margin-right:1.5em;text-align:right;color:#6e7681;-webkit-user-select:none;user-select:none}.nr-prose .cb.vsc .tk-k{color:#569cd6;font-weight:400}.nr-prose .cb.vsc .tk-kc{color:#c586c0}.nr-prose .cb.vsc .tk-f{color:#dcdcaa}.nr-prose .cb.vsc .tk-t{color:#4ec9b0;font-weight:400}.nr-prose .cb.vsc .tk-v{color:#9cdcfe}.nr-prose .cb.vsc .tk-s{color:#ce9178}.nr-prose .cb.vsc .tk-n{color:#b5cea8}.nr-prose .cb.vsc .tk-c{color:#6a9955;font-style:normal}.nr-prose .cb.vsc .cb-out{background:#181818;border-top:1px solid #2d2d2d}.nr-prose .cb.vsc .cb-out-l{padding:8px 16px 0;color:#ccc;letter-spacing:.12em}.nr-prose .cb.vsc .cb-out pre{padding:4px 16px 12px;color:#ccc}.nr-prose .cb.vsc .cb-out pre code{white-space:pre-wrap;overflow-wrap:anywhere}.nr-prose .cb.vsc.cb-err .cb-out{background:#1d1415}.nr-prose .cb.vsc.cb-err .cb-out-l,.nr-prose .cb.vsc.cb-err .cb-out pre{color:#f48771}.nr-prose .cb.vsc.vsc-c .cb-h>span:before{background:#9da5b4}.nr-prose .cb.vsc.vsc-term pre{padding:12px 16px}.nr-prose .cb.vsc.vsc-term .cb-h>span:before{background:#3fb950}.nr-prose .cb.vsc .tm-p{color:#6a9955;-webkit-user-select:none;user-select:none}.nr-prose .cb.vsc .tm-c{color:#d4d4d4}.nr-prose .cb.vsc .tm-o{color:#9da5b4}.nr-prose .iv-src{padding:3px 9px;border-radius:999px;font:700 10.5px JetBrains Mono,ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase}.nr-prose .iv-src.lec{background:var(--oks);color:var(--ok)}.nr-prose .iv-src.ext{background:var(--warns);color:var(--warn)}@media(max-width:640px){.nr-prose .cb.vsc .vl:before{width:1.6em;margin-right:1em}.nr-prose .cb.vsc pre{font-size:12.5px}}.nr-prose .tk-k{color:var(--acc);font-weight:650}.nr-prose .tk-f{color:var(--acc2)}.nr-prose .tk-s{color:var(--ok)}.nr-prose .tk-n{color:var(--warn)}.nr-prose .tk-c{color:var(--fg3);font-style:italic}.nr-prose .tk-t{color:var(--acc);font-weight:700}.nr-prose .lbl{display:flex;align-items:center;gap:7px;margin:0 0 6px;font:700 10.5px JetBrains Mono,ui-monospace,monospace;letter-spacing:.15em;text-transform:uppercase}.nr-prose .lbl:before{content:"";width:14px;height:14px;flex:none;background:currentColor;-webkit-mask:var(--ic) center / contain no-repeat;mask:var(--ic) center / contain no-repeat}.nr-prose .defbox,.nr-prose .keyidea,.nr-prose .rule,.nr-prose .note{position:relative;margin:18px 0;padding:14px 18px 12px 20px;border-radius:14px;border:1px solid color-mix(in srgb,var(--tone) 24%,transparent);background:var(--tone-bg);color:var(--fg)}.nr-prose .defbox:before,.nr-prose .keyidea:before,.nr-prose .rule:before,.nr-prose .note:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:3px;background:var(--tone)}.nr-prose .defbox{--tone: var(--acc);--tone-bg: var(--accs)}.nr-prose .keyidea{--tone: var(--warn);--tone-bg: var(--warns)}.nr-prose .rule{--tone: var(--ok);--tone-bg: var(--oks)}.nr-prose .note{--tone: var(--fg3);--tone-bg: var(--sf2);font-size:15.5px;color:var(--fg2)}.nr-prose .defbox .lbl,.nr-prose .keyidea .lbl,.nr-prose .rule .lbl{color:var(--tone)}.nr-prose .note strong,.nr-prose .note b{color:var(--fg)}.nr-prose .defbox p:last-child,.nr-prose .keyidea p:last-child,.nr-prose .rule p:last-child{margin-bottom:2px}.nr-prose .defbox .lbl{--ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z'/%3E%3Cpath d='M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z'/%3E%3C/svg%3E")}.nr-prose .keyidea .lbl{--ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5'/%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 22h4'/%3E%3C/svg%3E")}.nr-prose .rule .lbl{--ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}.nr-prose .grid2,.nr-prose .sgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:14px 0}@media(min-width:640px){.nr-prose .grid2,.nr-prose .sgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}.nr-prose .card{background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:14px 16px;box-shadow:var(--sh)}.nr-prose .card .lbl{color:var(--acc)}.nr-prose .card .lbl:before{display:none}.nr-prose .card .lbl.b{color:var(--acc2)}.nr-prose .card .lbl.r{color:var(--bad)}.nr-prose .sgrid .card{padding:12px 15px 10px}.nr-prose .sgrid .card ul.dots{margin:.35em 0 .2em}.nr-prose .sgrid .card li{margin:.32em 0;font-size:15px;line-height:1.55}.nr-prose .card h5{margin:0 0 4px;font-size:16px;font-weight:700}.nr-prose .card p{margin:.25em 0;color:var(--fg2)}.nr-prose .tw{overflow-x:auto;margin:16px 0;border:1px solid var(--bd);border-radius:14px;box-shadow:var(--sh);-webkit-overflow-scrolling:touch;background:linear-gradient(to right,var(--sf) 30%,transparent) left center / 36px 100% no-repeat local,linear-gradient(to left,var(--sf) 30%,transparent) right center / 36px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.16),transparent) left center / 12px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.16),transparent) right center / 12px 100% no-repeat scroll,var(--sf)}.nr-prose table{width:100%;border-collapse:collapse;font-size:14.5px;line-height:1.45}.nr-prose th{padding:10px 12px;background:color-mix(in srgb,var(--sf2) 92%,transparent);color:var(--fg2);font:700 10px JetBrains Mono,ui-monospace,monospace;letter-spacing:.07em;text-transform:uppercase;text-align:left;vertical-align:bottom;border-bottom:1px solid var(--bd2)}.nr-prose td{padding:10px 12px;border-top:1px solid var(--bd);vertical-align:top}.nr-prose tr:first-child>td{border-top:0}.nr-prose tr:has(th)+tr>td{border-top:0}.nr-prose tr:nth-child(2n)>td{background:color-mix(in srgb,var(--sf2) 38%,transparent)}.nr-prose tbody tr{transition:background .15s}.nr-prose tbody tr:hover>td{background:color-mix(in srgb,var(--accs) 70%,transparent)}.nr-prose td.c,.nr-prose th.c{text-align:center}.nr-prose [data-col=idx]{width:1%;text-align:center}.nr-prose td[data-col=idx]{color:var(--fg3);font:600 12px JetBrains Mono,ui-monospace,monospace}.nr-prose td[data-col=key]{font-weight:650;white-space:nowrap}.nr-prose [data-col=num]{text-align:right;font-variant-numeric:tabular-nums;padding-right:18px}.nr-prose td[data-col=num]{font-weight:550}.nr-prose td,.nr-prose th{white-space:normal}.nr-prose .tw.wide table{min-width:700px;font-size:13.5px}.nr-prose .tw.wide th,.nr-prose .tw.wide td{padding-left:8px;padding-right:8px}.nr-prose .tw.wide td{white-space:nowrap}.nr-prose .tw.wide [data-col=num]{padding-right:12px}.nr-prose .tw.wide th:first-child,.nr-prose .tw.wide td:first-child{padding-left:10px}.nr-prose .tw.wide th:last-child,.nr-prose .tw.wide td:last-child{padding-right:12px}.nr-prose .tw.mid table{min-width:520px}.nr-prose td .ok{color:var(--ok);font-weight:700}.nr-prose td .no{color:var(--bad);font-weight:700}.nr-prose .fig{margin:20px 0;padding:18px 16px 14px;background:var(--sf);border:1px solid var(--bd);border-radius:16px;box-shadow:var(--sh)}.nr-prose .fig.flat{background:var(--sf2);box-shadow:none}.nr-prose .fig svg{width:100%;height:auto;display:block;overflow:visible}.nr-prose .fig .cap{margin-top:14px;text-align:center;font:600 10.5px JetBrains Mono,ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--fg3);line-height:1.7}.nr-prose .fig .cap b{color:var(--acc)}.nr-prose .fig .two{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.nr-prose .fig .chart2{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:center}@media(min-width:640px){.nr-prose .fig .two{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:700px){.nr-prose .fig .chart2{grid-template-columns:1.45fr 1fr}}.nr-prose .cmp{padding:12px 14px;border:1px solid var(--bd);background:var(--sf2);border-radius:12px;font-size:14px;line-height:1.55}.nr-prose .cmp .h{color:var(--acc2);font-weight:700;margin-bottom:6px}.nr-prose .cmp .u{font-weight:650;margin-top:8px}.nr-prose .cmp .s{color:var(--fg2)}.nr-prose .cmp .w{color:var(--bad);font-weight:650;margin-top:8px}.nr-prose svg [fill="#a6abb6"]{fill:var(--fg2)}.nr-prose svg [stroke="#a6abb6"]{stroke:var(--fg2)}.nr-prose svg [fill="#4fd1b5"]{fill:var(--acc)}.nr-prose svg [stroke="#4fd1b5"]{stroke:var(--acc)}.nr-prose svg [fill="#e8eaee"]{fill:var(--fg)}.nr-prose svg [stroke="#e8eaee"]{stroke:var(--fg)}.nr-prose svg [fill="#2b2f3a"]{fill:var(--bd2)}.nr-prose svg [stroke="#2b2f3a"]{stroke:var(--bd2)}.nr-prose svg [fill="#6ea8fe"]{fill:var(--acc2)}.nr-prose svg [stroke="#6ea8fe"]{stroke:var(--acc2)}.nr-prose svg [fill="#f87171"]{fill:var(--bad)}.nr-prose svg [stroke="#f87171"]{stroke:var(--bad)}.nr-prose svg [fill="#0f2925"]{fill:var(--accs)}.nr-prose svg [stroke="#0f2925"]{stroke:var(--accs)}.nr-prose svg [fill="#5ee08a"]{fill:var(--ok)}.nr-prose svg [stroke="#5ee08a"]{stroke:var(--ok)}.nr-prose svg [fill="#737985"]{fill:var(--fg3)}.nr-prose svg [stroke="#737985"]{stroke:var(--fg3)}.nr-prose svg [fill="#152036"]{fill:var(--acc2s)}.nr-prose svg [stroke="#152036"]{stroke:var(--acc2s)}.nr-prose svg [fill="#2a2010"]{fill:var(--warns)}.nr-prose svg [stroke="#2a2010"]{stroke:var(--warns)}.nr-prose svg [fill="#f5b041"]{fill:var(--warn)}.nr-prose svg [stroke="#f5b041"]{stroke:var(--warn)}.nr-prose svg [fill="#13151b"]{fill:var(--sf)}.nr-prose svg [stroke="#13151b"]{stroke:var(--sf)}.nr-prose .fig svg>rect:first-of-type[fill="#152036"]{fill:var(--sf2);stroke:var(--fg3)}.nr-prose svg [stop-color="#4fd1b5"]{stop-color:var(--acc)}.nr-prose svg [stop-color="#6ea8fe"]{stop-color:var(--acc2)}.nr-prose .road{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.nr-prose .road .st{display:grid;gap:8px}.nr-prose .road .chev{padding:14px 26px 14px 18px;text-align:center;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%);background:var(--sf2)}.nr-prose .road .chev b{display:block;font-size:16px;font-weight:700;color:var(--fg2)}.nr-prose .road .chev small{color:var(--fg2);font-size:11.5px}.nr-prose .road .sub{padding:9px 12px;border:1px solid var(--bd);border-left:3px solid var(--fg3);border-radius:10px;background:var(--sf);font-size:12.5px;line-height:1.75}.nr-prose .road .s1 .chev{background:var(--accs);box-shadow:inset 0 0 0 1.5px var(--acc)}.nr-prose .road .s1 b{color:var(--acc)}.nr-prose .road .s1 .sub{border-left-color:var(--acc)}.nr-prose .road .s2 .chev{background:var(--acc2s)}.nr-prose .road .s2 b{color:var(--acc2)}.nr-prose .road .s2 .sub{border-left-color:var(--acc2)}.nr-prose .road .s3 .chev{background:var(--accs)}.nr-prose .road .s3 b{color:var(--acc)}.nr-prose .road .s3 .sub{border-left-color:var(--acc)}@media(min-width:600px){.nr-prose .road{grid-template-columns:repeat(3,1fr)}}.nr-prose .ex{margin:18px 0;background:var(--sf);border:1px solid var(--bd);border-radius:16px;box-shadow:var(--sh);overflow:hidden}.nr-prose .ex-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;background:var(--sf2);border-bottom:1px solid var(--bd)}.nr-prose .pill{padding:3px 11px;border-radius:999px;background:var(--acc);color:var(--accfg);font:700 10.5px JetBrains Mono,ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase}.nr-prose .ex-h b{font-size:15.5px;font-weight:700}.nr-prose .ex-b{padding:6px 16px 14px}.nr-prose .ex-b>p{color:var(--fg)}.nr-prose .gopts{display:grid;gap:8px;margin:12px 0 6px}.nr-prose .gopt{display:flex;align-items:flex-start;gap:12px;padding:9px 12px;border:1px solid var(--bd);background:var(--sf2);border-radius:12px}.nr-prose .gopt>b{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--accs);color:var(--acc);font:700 12px JetBrains Mono,ui-monospace,monospace}.nr-prose .gopt>div{flex:1;min-width:0;padding-top:2px;overflow-x:auto;overflow-y:hidden}.nr-prose .gopt .katex-display{margin:6px 0 2px;text-align:left}.nr-prose .gopt .katex-display>.katex{text-align:left}.nr-prose .mathbox{margin:12px 0;padding:4px 12px;border:1px solid var(--bd);background:var(--sf2);border-radius:10px;overflow-x:auto}.nr-sol{margin:12px 0 2px}.nr-sol-btn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:999px;cursor:pointer;border:1px solid color-mix(in srgb,var(--ok) 35%,transparent);background:var(--oks);color:var(--ok);font-size:13.5px;font-weight:650;transition:transform .16s var(--ease),border-color .16s}.nr-sol-btn:hover{border-color:var(--ok)}.nr-sol-btn:active{transform:scale(.97)}.nr-sol-btn .t-hide,.nr-sol.is-open .nr-sol-btn .t-show,.nr[data-sols=open] .nr-sol-btn .t-show{display:none}.nr-sol.is-open .nr-sol-btn .t-hide,.nr[data-sols=open] .nr-sol-btn .t-hide{display:inline}.nr-sol-btn .nr-chev{transition:transform .3s var(--ease)}.nr-sol.is-open .nr-sol-btn .nr-chev,.nr[data-sols=open] .nr-sol-btn .nr-chev{transform:rotate(180deg)}.nr-sol-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .36s var(--ease)}.nr-sol.is-open .nr-sol-panel,.nr[data-sols=open] .nr-sol-panel{grid-template-rows:1fr}.nr-sol-inner{overflow:hidden;min-height:0;opacity:0;transition:opacity .28s ease}.nr-sol-idle .nr-sol-inner{content-visibility:hidden}.nr[data-sols] .nr-sol-idle .nr-sol-inner{content-visibility:visible}.nr-sol.is-open .nr-sol-inner,.nr[data-sols=open] .nr-sol-inner{opacity:1;transition-delay:.06s}.nr-prose .sol{margin:12px 0 2px;padding:10px 16px 6px 18px;border-left:3px solid var(--ok);background:var(--oks);border-radius:0 12px 12px 0}.nr-prose .sol .lbl{color:var(--ok)}.nr-prose .sol .lbl:before{display:none}.nr-prose .sol p{margin:.5em 0}.nr-prose .revpill{display:inline-flex;margin:34px 0 10px;padding:4px 12px;border-radius:999px;background:var(--accs);color:var(--acc);font:700 10.5px JetBrains Mono,ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase}.nr-prose .rmap{position:relative;margin:6px 0 20px;padding:18px 14px 14px;background:var(--sf);border:1px solid var(--bd);border-radius:16px;box-shadow:var(--sh)}.nr-prose .rmap .rgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;position:relative;z-index:1}.nr-prose .rmap .rcol{display:grid;gap:10px}.nr-prose .rmap .center{order:-1;padding:12px 16px;text-align:center;border:1.5px solid var(--acc);background:var(--accs);border-radius:12px}.nr-prose .rmap .center b{display:block;font-size:15.5px;font-weight:700}.nr-prose .rmap .center small{color:var(--acc);font-size:12.5px}.nr-prose .rnode{padding:9px 12px;border:1px solid var(--bd);border-left:3px solid var(--c, var(--acc));background:var(--sf2);border-radius:10px;font-size:13px;line-height:1.55}.nr-prose .rnode b{display:block;margin-bottom:2px;color:var(--c, var(--acc));font-size:13.5px;font-weight:700}.nr-prose .rcol .rnode:nth-child(odd){--c: var(--acc) !important}.nr-prose .rcol .rnode:nth-child(2n){--c: var(--acc2) !important}.nr-prose .rmap svg.links{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;display:none}.nr-prose .rmap svg.links path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1s var(--ease) .15s}.nr-prose .rmap.nr-in svg.links path{stroke-dashoffset:0}@media(min-width:720px){.nr-prose .rmap .rgrid{grid-template-columns:1fr 190px 1fr;gap:10px 48px;align-items:center}.nr-prose .rmap .center{order:0}.nr-prose .rmap svg.links{display:block}}.nr-prose .rmap .rcap{margin-top:14px;text-align:center;font:600 10.5px JetBrains Mono,ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--fg3)}.nr-prose .rmap .rcap b{color:var(--acc)}.nr-prose .stairs{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.nr-prose .stairs .sc{padding:10px 12px;text-align:center;border:1.5px solid var(--c, var(--acc));background:var(--sf2);border-radius:12px;font-size:13px;line-height:1.5}.nr-prose .stairs .k1,.nr-prose .stairs .k3{--c: var(--acc) !important}.nr-prose .stairs .k2,.nr-prose .stairs .k4{--c: var(--acc2) !important}.nr-prose .stairs .sc b{display:block;margin-bottom:4px;padding-bottom:6px;border-bottom:1px solid var(--bd);color:var(--c);font-size:15px;font-weight:700}.nr-prose .stairs .sc small{display:block;margin-top:6px;color:var(--fg2);font-size:11.5px}.nr-prose .stairs .sc small em{display:block;font-style:normal;letter-spacing:.16em;font-size:10px;color:var(--fg3)}.nr-prose .stairs .arr{display:none}@media(min-width:640px){.nr-prose .stairs{grid-template-columns:1fr 18px 1fr 18px 1fr 18px 1fr;align-items:end;gap:4px}.nr-prose .stairs .arr{display:block;align-self:center;color:var(--fg3);text-align:center}.nr-prose .stairs .sc{display:flex;flex-direction:column;justify-content:center}.nr-prose .stairs .k1{min-height:120px}.nr-prose .stairs .k2{min-height:140px}.nr-prose .stairs .k3{min-height:160px}.nr-prose .stairs .k4{min-height:180px}}.nr-prose .stairs .sub2{grid-column:1 / -1;margin-top:6px;text-align:center;font:600 10px JetBrains Mono,ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--fg3)}.nr-prose .shead{padding:40px 0 6px}.nr-prose .shead .kick{display:inline-flex;height:26px;align-items:center;padding:0 12px;border-radius:999px;background:var(--accs);color:var(--acc);font:700 11px JetBrains Mono,ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase}.nr-prose .shead h1{margin:16px 0 10px;font-size:clamp(34px,8.5vw,50px);line-height:1.06;font-weight:800;letter-spacing:-.03em}.nr-prose .shead .lede{margin:0 0 16px;color:var(--fg2);font-size:17px;line-height:1.6}.nr-prose .schips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 4px}.nr-prose .schips a{padding:6px 12px;border-radius:999px;border:1px solid var(--bd);background:var(--sf);color:var(--fg);font-size:13px;font-weight:600;text-decoration:none;transition:border-color .16s,color .16s,transform .2s var(--ease)}.nr-prose .schips a:hover{border-color:var(--acc);color:var(--acc);transform:translateY(-1px)}.nr-prose .scard{margin:16px 0;padding:18px 18px 14px;background:var(--sf);border:1px solid var(--bd);border-radius:16px;box-shadow:var(--sh)}.nr-prose .sc-h{display:flex;align-items:center;gap:14px;margin-bottom:8px;padding-bottom:12px;border-bottom:1px solid var(--bd)}.nr-prose .sn{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--accs);color:var(--acc);font:700 14px JetBrains Mono,ui-monospace,monospace}.nr-prose .sc-h small{display:block;color:var(--fg3);font:600 10.5px JetBrains Mono,ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase}.nr-prose .sc-h h3{margin:2px 0 0;font-size:20px;line-height:1.2;font-weight:700;letter-spacing:-.015em}.nr-prose .scard .sp{color:var(--fg2);margin:.6em 0 0}.nr-prose .scard .tw{margin:12px 0;box-shadow:none}.nr-prose .grid2.tight{gap:10px;margin:12px 0}.nr-prose .grid2.tight .card{box-shadow:none}.nr-prose .grid2.tight .card p{font-size:14.5px}.nr-prose .go{display:inline-flex;align-items:center;gap:6px;margin-top:10px;height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--bd2);background:var(--sf);color:var(--fg);font-size:13.5px;font-weight:650;cursor:pointer;transition:border-color .16s,color .16s,transform .16s var(--ease)}.nr-prose .go:hover{border-color:var(--acc);color:var(--acc)}.nr-prose .go:active{transform:scale(.97)}.nr-prose .go .nr-arrow{transition:transform .2s var(--ease)}.nr-prose .go:hover .nr-arrow{transform:translate(3px)}.nr-prose .srows{display:grid;gap:8px;margin:12px 0}.nr-prose .srow{padding:10px 13px;border:1px solid var(--bd);background:var(--sf2);border-radius:12px}.nr-prose .srow .r1{display:flex;align-items:center;justify-content:space-between;gap:10px}.nr-prose .srow .r1 b{font-size:16px;font-weight:700}.nr-prose .srow .ops{padding:2px 8px;border:1px solid var(--bd);border-radius:6px;background:var(--sf);font:600 12.5px JetBrains Mono,ui-monospace,monospace;white-space:nowrap}.nr-prose .srow .r2{margin-top:3px;font-size:14.5px}.nr-prose .srow .r3{font-size:13px;color:var(--fg2)}.nr-prose .stree{margin:12px 0}.nr-prose .stree .sq{padding:8px 14px;text-align:center;font-size:14px;font-weight:650;border:1.5px solid var(--warn);background:var(--warns);border-radius:999px}.nr-prose .stree .sbr{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:10px}@media(min-width:560px){.nr-prose .stree .sbr{grid-template-columns:1fr 1fr}}.nr-prose .stree .sb{padding:10px 13px;border:1px solid var(--bd);border-left:3px solid var(--c);background:var(--sf2);border-radius:12px;font-size:14px}.nr-prose .stree .sb.y{--c: var(--ok)}.nr-prose .stree .sb.n{--c: var(--bad)}.nr-prose .stree .yn{display:inline-block;margin-right:8px;color:var(--c);font:700 10.5px JetBrains Mono,ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase}.nr-prose .stree .sb>b{color:var(--acc);font-size:15.5px;font-weight:700}.nr-prose .stree .sb em{color:var(--fg2);font-style:normal;font-size:13px}.nr-prose .stree .sq2{margin:6px 0 4px;color:var(--fg2)}.nr-prose .stree .sl{display:flex;flex-wrap:wrap;gap:6px 14px}.nr-prose .nr-next{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:14px;margin:56px 0 0;padding:16px 18px;border:1px solid var(--bd);border-radius:16px;background:var(--sf);color:var(--fg);text-decoration:none;cursor:pointer;transition:border-color .18s,transform .22s var(--ease),box-shadow .22s}.nr-prose .nr-next:hover{border-color:var(--acc);transform:translateY(-2px);box-shadow:var(--sh);color:var(--fg)}.nr-prose .nr-next-k{font:600 10.5px JetBrains Mono,ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--fg3)}.nr-prose .nr-next-t{grid-column:1;font-size:17px;font-weight:700;letter-spacing:-.01em}.nr-prose .nr-next .nr-arrow{grid-row:1 / span 2;grid-column:2;width:36px;height:36px;padding:9px;border-radius:50%;background:var(--accs);color:var(--acc);transition:transform .22s var(--ease)}.nr-prose .nr-next:hover .nr-arrow{transform:translate(4px)}.nr-prose .nr-next-end{grid-template-rows:auto;margin-top:40px}.nr-prose .nr-next-end .nr-arrow{grid-row:1}.nr-prose .nr-next-end:hover .nr-arrow{transform:translateY(-3px)}.nr[data-ready] .nr-rv{opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease),transform .5s var(--ease)}.nr[data-ready] .nr-rv.nr-in{opacity:1;transform:none}.nr[data-ready] .ch-rule.nr-rv:before{transform:scaleX(0);transition:transform .7s var(--ease) .15s}.nr[data-ready] .ch-rule.nr-in:before{transform:scaleX(1)}.nr[data-ready] .ch-num.nr-rv{transform:translateY(6px) scale(.92)}.nr[data-ready] .ch-num.nr-rv.nr-in{transform:none}@media(max-width:767px){.nr{--nr-head: 105px}.nr-head-row{gap:8px;padding:0 12px;height:56px}.nr-head-row .nr-ctrls{display:none}.nr-ctrls-row{display:flex;gap:8px;padding:0 12px 10px}.nr-ctrls-row .nr-seg{flex:1}.nr-ctrls-row .nr-seg:first-child{flex:1.1}.nr-head[data-hidden=true]{transform:translateY(-100%)}.nr-only-sm{display:inline}.nr-prose{font-size:16px}.nr-prose .chapter{padding-top:56px}.nr-prose .fig{margin-left:-4px;margin-right:-4px;padding:12px 8px 10px}.nr-prose .ex-b{padding:4px 13px 12px}}@media(min-width:768px){.nr-only-sm{display:none}.nr-only-lg{display:inline}}@media(max-width:767px){.nr-only-lg{display:none}}.nr-prose .card,.nr-prose .ex,.nr-prose .scard,.nr-prose .defbox,.nr-prose .keyidea,.nr-prose .note,.nr-prose .rule{min-width:0;overflow-wrap:anywhere}.nr-prose .card,.nr-prose .gopt>div{overflow-x:auto;overflow-y:hidden}.nr-shell{overflow-x:clip}.nr-prose .numlist li>*{min-width:0}.nr-prose .katex.nr-wide{display:inline-block;max-width:100%;overflow-x:auto;overflow-y:hidden;vertical-align:bottom;padding:2px 0}@media(max-width:380px){.nr-ctrls-row{gap:6px;padding:0 10px 10px}.nr-ctrls-row .nr-seg{min-width:0;grid-auto-columns:minmax(0,1fr)}.nr-ctrls-row .nr-seg button{min-width:0;padding:0 4px;font-size:12px;overflow:hidden;text-overflow:ellipsis}.nr-head-row{gap:6px;padding:0 10px}}@media print{.nr-head,.nr-side,.nr-fab{display:none}}@media(prefers-reduced-motion:reduce){.nr *,.nr *:before,.nr *:after{animation:none!important;transition-duration:.01ms!important;transition-delay:0s!important}.nr[data-ready] .nr-rv{opacity:1;transform:none}.nr[data-ready] .ch-rule.nr-rv:before{transform:none}.nr-prose .rmap svg.links path{stroke-dashoffset:0}}.nr-prose .tw.cmpt table{min-width:0}.nr-prose .cmpt th:nth-child(2){color:var(--acc);box-shadow:inset 0 3px 0 var(--acc)}.nr-prose .cmpt th:nth-child(3){color:var(--acc2);box-shadow:inset 0 3px 0 var(--acc2)}.nr-prose .cmpt th{font-size:11px;letter-spacing:.1em;padding-top:12px}.nr-prose .cmpt td:first-child{width:1%;white-space:nowrap;font-weight:650;color:var(--fg2)}.nr-prose .cmpt td{font-size:14.5px;line-height:1.5}.nr-prose .card .tw,.nr-prose .scard .tw.cmpt{box-shadow:none;margin:8px 0}.nr-prose .scard .sp{margin:.4em 0 .8em}.nf-btn,.nf-card{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Public Sans,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.nf-btn{position:fixed;right:16px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:34;display:inline-flex;align-items:center;justify-content:center;gap:9px;width:46px;height:46px;padding:0;border-radius:999px;border:0;cursor:pointer;color:var(--accfg);font-size:14.5px;font-weight:600;letter-spacing:-.01em;background-image:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.34) 50%,transparent 62%),linear-gradient(180deg,color-mix(in srgb,var(--acc) 82%,#fff) 0%,var(--acc) 100%);background-size:260% 100%,100% 100%;background-position:130% 0,0 0;background-repeat:no-repeat;box-shadow:0 0 0 1px color-mix(in srgb,var(--acc) 70%,#000) inset,0 1px #ffffff61 inset,0 10px 24px color-mix(in srgb,var(--acc) 38%,transparent),0 2px 6px #00000024;transition:transform .35s var(--ease),box-shadow .35s var(--ease),filter .2s,background-position .9s var(--ease);animation:nf-in .8s .9s cubic-bezier(.34,1.56,.64,1) backwards}.nf-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:0 0 color-mix(in srgb,var(--acc) 55%,transparent);pointer-events:none;animation:nf-ping 2.8s 2s ease-out infinite}@keyframes nf-ping{0%{box-shadow:0 0 color-mix(in srgb,var(--acc) 45%,transparent)}70%,to{box-shadow:0 0 0 18px transparent}}.nf-ico{position:relative;width:20px;height:20px;flex:none;display:block}.nf-ico svg{position:absolute;top:0;right:0;bottom:0;left:0;width:20px;height:20px;transition:transform .5s var(--ease),opacity .25s}.nf-ico .nf-x-ico{opacity:0;transform:rotate(-90deg) scale(.5)}.nf-btn[aria-expanded=true] .nf-ico .nf-bubble{opacity:0;transform:rotate(90deg) scale(.5)}.nf-btn[aria-expanded=true] .nf-ico .nf-x-ico{opacity:1;transform:none}@keyframes nf-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-12deg) scale(1.1)}55%{transform:rotate(8deg) scale(1.1)}80%{transform:rotate(-3deg)}}@keyframes nf-in{0%{opacity:0;transform:translateY(14px) scale(.9)}to{opacity:1;transform:none}}.nf-btn:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:inherit;background:color-mix(in srgb,var(--acc) 14%,transparent);z-index:-1;opacity:0;transition:opacity .3s}.nf-btn svg{color:inherit;stroke-width:2.1}.nf-btn>span:not(.nf-ico){display:none}.nf-bubble{animation:nf-nudge 7s 4s ease-in-out infinite;transform-origin:50% 80%}@keyframes nf-nudge{0%,14%,to{transform:none}3%{transform:rotate(-12deg) scale(1.1)}6%{transform:rotate(9deg) scale(1.1)}9%{transform:rotate(-4deg)}}.nf-btn[aria-expanded=true]:before,.nf-btn[aria-expanded=true] .nf-bubble{animation:none}.nf-btn:active{transform:scale(.94);transition-duration:.1s}@media(hover:hover){.nf-btn:hover{transform:translateY(-2px);filter:brightness(1.07);box-shadow:0 0 0 1px color-mix(in srgb,var(--acc) 70%,#000) inset,0 1px #ffffff61 inset,0 14px 30px color-mix(in srgb,var(--acc) 46%,transparent),0 3px 8px #00000029}.nf-btn:hover:after{opacity:1}.nf-btn:hover{background-position:-30% 0,0 0}.nf-btn[aria-expanded=false]:hover .nf-bubble{animation:nf-wiggle .7s var(--ease)}.nf-btn:active{transform:scale(.96)}}.nf-btn:focus-visible{outline:2px solid var(--acc);outline-offset:4px;border-radius:999px}@media(min-width:1024px){.nf-btn{right:12px;bottom:32px;width:42px;height:42px}}@media(min-width:1280px){.nf-btn{left:calc(50vw + 482px);right:auto;bottom:32px;width:auto;height:46px;padding:0 20px 0 16px}.nf-btn>span.nf-label{display:inline-block;overflow:hidden;white-space:nowrap;max-width:96px;margin-left:9px;opacity:1;transition:max-width .45s var(--ease),margin .45s var(--ease),opacity .25s;animation:nf-label .7s 1.4s var(--ease) backwards}.nf-btn{gap:0;transition:transform .35s var(--ease),box-shadow .35s var(--ease),filter .2s,background-position .9s var(--ease),padding .45s var(--ease)}.nf-btn[data-compact]{padding:0 13px}.nf-btn[data-compact]>span.nf-label{max-width:0;margin-left:0;opacity:0}}@keyframes nf-label{0%{max-width:0;margin-left:0;opacity:0}to{max-width:96px;margin-left:9px;opacity:1}}.nf-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#08090b52;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:nf-fade .25s ease both}@keyframes nf-fade{0%{opacity:0}to{opacity:1}}.nf-card{position:fixed;z-index:71;left:0;right:0;bottom:0;max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;padding:8px 18px calc(18px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;background:color-mix(in srgb,var(--sf) 86%,transparent);-webkit-backdrop-filter:saturate(180%) blur(34px);backdrop-filter:saturate(180%) blur(34px);border:1px solid color-mix(in srgb,var(--fg) 9%,transparent);border-bottom:0;box-shadow:0 -18px 60px #00000047;color:var(--fg);animation:nf-sheet .42s var(--ease) both}@keyframes nf-sheet{0%{transform:translateY(100%)}to{transform:none}}.nf-grip{width:36px;height:5px;border-radius:5px;background:color-mix(in srgb,var(--fg) 22%,transparent);margin:0 auto 14px}@media(min-width:700px){.nf-scrim{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.nf-card{left:auto;right:24px;bottom:80px;width:384px;max-height:calc(100dvh - 108px);padding:18px 18px 16px;border-radius:24px;border-bottom:1px solid color-mix(in srgb,var(--fg) 9%,transparent);box-shadow:0 1px #ffffff80 inset,0 28px 70px #00000042,0 4px 14px #0000001a;transform-origin:100% 100%;animation:nf-pop .42s var(--ease) both}html.site-dark .nf-card{box-shadow:0 1px #ffffff0f inset,0 28px 70px #0009}.nf-grip{display:none}}@media(min-width:1024px){.nf-card{right:24px;bottom:90px;max-height:calc(100dvh - 118px)}}@keyframes nf-pop{0%{opacity:0;transform:translateY(14px) scale(.92)}to{opacity:1;transform:none}}@keyframes nf-pop-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(12px) scale(.94)}}@keyframes nf-sheet-out{0%{transform:none}to{transform:translateY(100%)}}@keyframes nf-fade-out{0%{opacity:1}to{opacity:0}}.nf-card.is-closing{animation:nf-sheet-out .24s cubic-bezier(.4,0,1,1) both;pointer-events:none}.nf-card.is-closing form>*{animation:none}.nf-scrim.is-closing{animation:nf-fade-out .24s ease both;pointer-events:none}@media(min-width:700px){.nf-card.is-closing{animation:nf-pop-out .22s cubic-bezier(.4,0,1,1) both}}.nf-card form{display:grid;gap:14px}.nf-card form>*{animation:nf-up .55s var(--ease) backwards}.nf-card form>:nth-child(2){animation-delay:.05s}.nf-card form>:nth-child(3){animation-delay:.1s}.nf-card form>:nth-child(4){animation-delay:.15s}.nf-card form>:nth-child(n+6){animation-delay:.2s}@keyframes nf-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.nf-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.nf-head h2{margin:0;font-size:19px;line-height:1.2;font-weight:700;letter-spacing:-.02em}.nf-head p{margin:3px 0 0;font-size:13px;color:var(--fg2)}.nf-x{flex:none;width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:50%;cursor:pointer;background:color-mix(in srgb,var(--fg) 9%,transparent);color:var(--fg2);transition:background .2s,transform .2s var(--ease)}.nf-x svg{width:14px;height:14px;stroke-width:2.6}.nf-x:hover{background:color-mix(in srgb,var(--fg) 15%,transparent)}.nf-x:active{transform:scale(.9)}.nf-seg{position:relative;display:grid;grid-template-columns:repeat(3,1fr);padding:2px;border-radius:10px;background:color-mix(in srgb,var(--fg) 8%,transparent)}.nf-seg-thumb{position:absolute;top:2px;bottom:2px;left:2px;width:calc((100% - 4px) / 3);border-radius:8px;background:var(--sf);box-shadow:0 3px 8px #0000001f,0 1px 1px #0000001a;transform:translate(calc(var(--i) * 100%));transition:transform .4s var(--ease)}html.site-dark .nf-seg-thumb{background:var(--bd2);box-shadow:0 3px 8px #0006}.nf-seg button{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;height:32px;padding:0 4px;border:0;background:transparent;color:var(--fg2);font-size:13px;font-weight:600;letter-spacing:-.01em;cursor:pointer;transition:color .2s;white-space:nowrap}.nf-seg button svg{width:14px;height:14px}.nf-seg button[aria-checked=true]{color:var(--fg)}.nf-group{border-radius:14px;background:color-mix(in srgb,var(--fg) 5.5%,transparent);overflow:hidden}.nf-group textarea{display:block;width:100%;padding:13px 14px;border:0;outline:0;resize:none;background:transparent;color:var(--fg);font:400 16px/1.45 inherit;font-family:inherit;letter-spacing:-.01em;min-height:104px}.nf-group textarea::placeholder,.nf-row input::placeholder{color:var(--fg3)}.nf-row{display:flex;align-items:center;gap:12px;padding:0 14px;border-top:1px solid color-mix(in srgb,var(--fg) 9%,transparent)}.nf-row span{flex:none;width:48px;font-size:15px;font-weight:500;color:var(--fg)}.nf-row input{flex:1;min-width:0;height:46px;border:0;outline:0;background:transparent;color:var(--fg);font:400 16px inherit;font-family:inherit}.nf-group:focus-within{box-shadow:0 0 0 2px color-mix(in srgb,var(--acc) 55%,transparent)}.nf-card :focus-visible{outline-offset:2px}.nf-group textarea:focus-visible,.nf-row input:focus-visible{outline:0}.nf-rate{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px}.nf-rate>span{font-size:14px;color:var(--fg2);letter-spacing:-.01em}.nf-rate div{display:flex}.nf-rate button{width:32px;height:32px;display:grid;place-items:center;border:0;background:transparent;color:var(--fg3);cursor:pointer;transition:transform .25s var(--ease),color .15s}.nf-rate button svg{width:21px;height:21px;fill:transparent;transition:fill .15s}.nf-rate button[data-on]{color:var(--acc)}.nf-rate button[data-on] svg{fill:var(--acc)}.nf-rate button:active{transform:scale(.82)}@media(hover:hover){.nf-rate button:hover{transform:scale(1.18);color:var(--acc)}.nf-rate div:hover button:not(:hover){transform:none}.nf-rate button:hover svg,.nf-rate button:has(~button:hover) svg{fill:color-mix(in srgb,var(--acc) 55%,transparent)}.nf-rate button:has(~button:hover){color:var(--acc)}}.nf-rate button[aria-checked=true] svg{animation:nf-star .5s var(--ease)}@keyframes nf-star{0%{transform:scale(.6) rotate(-25deg)}60%{transform:scale(1.3) rotate(8deg)}to{transform:none}}.nf-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:48px;border:0;border-radius:14px;cursor:pointer;background:var(--acc);color:var(--accfg);font-size:16px;font-weight:600;letter-spacing:-.01em;transition:transform .25s var(--ease),opacity .2s,filter .2s}.nf-primary svg{width:16px;height:16px}.nf-primary:disabled{opacity:.38;cursor:not-allowed}.nf-primary:not(:disabled):active{transform:scale(.97);transition-duration:.1s}@media(hover:hover){.nf-primary:not(:disabled):hover{filter:brightness(1.08)}}.nf-err{margin:-4px 2px 0;font-size:13px;color:var(--bad)}.nf-fine{margin:-4px 0 0;text-align:center;font-size:12px;color:var(--fg3)}.nf-trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.nf-done{display:grid;justify-items:center;gap:8px;padding:18px 6px 4px;text-align:center}.nf-done h2{margin:6px 0 0;font-size:21px;font-weight:700;letter-spacing:-.02em}.nf-done p{margin:0 0 12px;max-width:290px;font-size:14.5px;line-height:1.5;color:var(--fg2)}.nf-check{width:60px;height:60px;display:grid;place-items:center;border-radius:50%;background:var(--acc);color:var(--accfg);animation:nf-badge .6s var(--ease) both}.nf-check svg{width:28px;height:28px;stroke-dasharray:30;stroke-dashoffset:30;animation:nf-draw .45s .2s var(--ease) forwards}@keyframes nf-badge{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:none}}@keyframes nf-draw{to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.nf-btn,.nf-btn:before,.nf-btn .nf-bubble,.nf-btn .nf-label,.nf-card,.nf-card form>*,.nf-scrim,.nf-seg-thumb,.nf-check,.nf-check svg,.nf-primary,.nf-rate svg{animation:none!important;transition:none!important}.nf-check svg{stroke-dashoffset:0}}
