:root{color-scheme:light;--paper:oklch(.978 .003 250);--paper-2:oklch(.957 .006 250);--paper-3:oklch(.928 .009 250);--line:oklch(.895 .008 250);--line-2:oklch(.815 .012 252);--ink:oklch(.2 .025 260);--ink-2:oklch(.43 .022 258);--ink-3:oklch(.52 .018 255);--night:oklch(.205 .04 258);--night-2:oklch(.245 .045 258);--night-3:oklch(.3 .045 256);--night-line:oklch(.355 .04 255);--night-ink:oklch(.955 .008 240);--night-ink-2:oklch(.79 .028 240);--night-ink-3:oklch(.68 .032 245);--cyan:oklch(.84 .14 210);--cyan-ink:oklch(.49 .11 232);--advise:oklch(.83 .15 82);--compact:oklch(.74 .16 55);--restart:oklch(.68 .19 27);--advise-g:oklch(.68 .15 75);--compact-g:oklch(.62 .17 48);--restart-g:oklch(.56 .2 27);--advise-t:oklch(.5 .12 68);--compact-t:oklch(.5 .15 45);--restart-t:oklch(.48 .18 27);--focus:oklch(.55 .15 235);--sans:"Schibsted Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;--mono:"Fragment Mono","SF Mono",ui-monospace,Menlo,Consolas,"Liberation Mono",monospace;--ease-out:cubic-bezier(.22,1,.36,1);--ease-out-strong:cubic-bezier(.16,1,.3,1);--ease-move:cubic-bezier(.65,0,.35,1);--ease-spring:linear(0,.066,.218,.402,.581,.736,.858,.946,1.004,1.037,1.052,1.054,1.049,1.04,1.03,1.02,1.012,1.006,1.002,.999,.998,.997,.997,.997,1);--gutter:clamp(16px,4.4vw,64px);--maxw:1320px;--gap:32px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.6 var(--sans);font-kerning:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::selection{background:#6ee5f98c;color:var(--ink)}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em;transition:text-underline-offset .15s var(--ease-out),color .12s linear,text-decoration-color .12s linear}a:hover{text-underline-offset:.3em}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}.on-night :focus-visible{outline-color:var(--cyan)}code,kbd,pre,samp{font-family:var(--mono);font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0}button{font:inherit;color:inherit}img,svg{display:block}.sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.wrap{width:min(100% - 2*var(--gutter),var(--maxw));margin-inline:auto}.skip{position:absolute;inset-inline-start:16px;inset-block-start:-60px;z-index:100;background:var(--night);color:var(--night-ink);padding:10px 16px;border-radius:8px;text-decoration:none;transition:inset-block-start .15s var(--ease-out)}.skip:focus{inset-block-start:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 28px;border-radius:12px;font:600 18px/1 var(--sans);text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .14s var(--ease-out),background-color .12s linear,box-shadow .16s var(--ease-out),border-color .12s linear;white-space:nowrap}.btn-primary{background:var(--night);color:var(--night-ink)}.btn-quiet{background:transparent;color:var(--ink);border-color:var(--line-2)}.btn .arr{transition:transform .16s var(--ease-out)}@media(hover:hover)and (pointer:fine){.btn:hover{transform:translateY(-2px)}.btn-primary:hover{box-shadow:0 10px 22px -12px #0a1628a6;background:var(--night-2)}.btn-quiet:hover{border-color:var(--ink-3);background:var(--paper-2)}.btn:hover .arr{transform:translate(3px)}}.btn:active{transform:translateY(0) scale(.98);transition-duration:60ms}.copy{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:84px;min-height:36px;padding:0 12px;border-radius:8px;border:1px solid var(--line-2);background:var(--paper);color:var(--ink-2);font:500 14px/1 var(--sans);cursor:pointer;transition:background-color .12s linear,color .12s linear,border-color .12s linear,transform .12s var(--ease-out)}.copy:hover{color:var(--ink);border-color:var(--ink-3)}.copy:active{transform:scale(.96)}.copy .ok{display:none}.copy.done{color:var(--ink);border-color:var(--ink-3)}.copy.done .ok{display:inline}.copy.done .lbl-c{display:none}.copy .ok svg{width:14px;height:14px}.on-night .copy{background:transparent;border-color:var(--night-line);color:var(--night-ink-2)}.on-night .copy:hover,.on-night .copy.done{color:var(--night-ink);border-color:var(--night-ink-3)}.copy.done .ok{animation:pop .26s var(--ease-out)}@keyframes pop{0%{transform:scale(.6);opacity:0}}.hx{width:28px;height:28px;flex:none;overflow:visible}.hx polygon{fill:none;stroke:var(--hx-off,var(--line-2));stroke-width:2.6;stroke-linejoin:round;transition:stroke .2s linear,fill .2s linear}.hx[data-level="1"]{--hx-on:var(--advise-g)}.hx[data-level="2"]{--hx-on:var(--compact-g)}.hx[data-level="3"]{--hx-on:var(--restart-g)}.on-night .hx{--hx-off:var(--night-line)}.on-night .hx[data-level="1"]{--hx-on:var(--advise)}.on-night .hx[data-level="2"]{--hx-on:var(--compact)}.on-night .hx[data-level="3"]{--hx-on:var(--restart)}.hx[data-level="1"] .h3,.hx[data-level="2"] :is(.h2,.h3),.hx[data-level="3"] polygon{stroke:var(--hx-on)}.hx:is([data-level="1"],[data-level="2"],[data-level="3"]) .h3{fill:var(--hx-on)}.hx.bump{animation:bump .42s var(--ease-spring)}@keyframes bump{0%{transform:scale(.82)}}.vw-0{color:var(--ink-2)}.vw-1{color:var(--advise-t)}.vw-2{color:var(--compact-t)}.vw-3{color:var(--restart-t)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font:800 23px/1 var(--sans);letter-spacing:-.025em;padding:6px 4px;margin-inline-start:-4px;border-radius:8px}kbd{font:12px/1 var(--mono);padding:4px 6px 3px;border:1px solid var(--line-2);border-bottom-width:2px;border-radius:5px;color:var(--ink-2);background:var(--paper)}.icon{width:17px;height:17px;flex:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}@media(forced-colors:active){.hx polygon{stroke:CanvasText}.btn,.copy,.chip,.tab{border:1px solid ButtonText}}.site-head{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line)}.head-in{display:flex;align-items:center;gap:20px;height:64px}.head-nav{display:flex;gap:2px;margin-inline-start:10px}.head-nav a{display:inline-flex;align-items:center;min-height:40px;padding:0 12px;border-radius:8px;color:var(--ink-2);text-decoration:none;font-size:16px;font-weight:500;transition:background-color .12s linear,color .12s linear}.head-nav a:hover{color:var(--ink);background:var(--paper-2)}.head-end{margin-inline-start:auto;display:flex;align-items:center;gap:10px}.ver{font:13px/1 var(--mono);color:var(--ink-2);padding:8px 9px;border:1px solid var(--line);border-radius:7px;text-decoration:none;font-variant-numeric:tabular-nums;transition:border-color .12s linear,color .12s linear}.ver:hover{border-color:var(--ink-3);color:var(--ink)}.search-btn{display:inline-flex;align-items:center;gap:10px;height:42px;padding:0 9px 0 13px;border:1px solid var(--line-2);border-radius:10px;background:var(--paper);color:var(--ink-2);font:15px/1 var(--sans);cursor:pointer;min-width:210px;transition:border-color .12s linear,background-color .12s linear}.search-btn:hover{border-color:var(--ink-3);background:var(--paper-2)}.search-btn .lbl{flex:1;text-align:start}.search-btn svg{width:17px;height:17px;flex:none}@media(max-width:860px){.head-nav .wide{display:none}.search-btn{min-width:0}.search-btn .lbl,.search-btn kbd{display:none}.search-btn{width:44px;height:44px;justify-content:center;padding:0}}@media(max-width:520px){.head-nav{margin-inline-start:0}.head-nav a{padding:0 9px}.ver{display:none}.head-in{gap:8px}}.hero{position:relative;padding-block:clamp(32px,5vw,76px) 0;overflow-x:clip}.hero-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:start}.display{grid-column:1/-1;margin:0 0 clamp(28px,3.2vw,44px);font-size:clamp(2.75rem,1.05rem + 6.2vw,6.6rem);line-height:.93;letter-spacing:-.036em;font-weight:820;text-wrap:balance}.display span{display:block}.display .d2{font-weight:400;font-style:italic;letter-spacing:-.03em;padding-inline-start:.95em}.display .clip{display:block;overflow-x:visible;overflow-y:clip;padding-block-end:.24em;margin-block-end:-.24em}.hero-copy{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:calc(var(--gap) * 2);align-items:end}.hero-copy .lede{grid-row:1/4;margin:0;max-width:46ch}.hero-copy>:not(.lede){grid-column:2}.lede{font-size:clamp(19px,1.05rem + .3vw,21.5px);line-height:1.55;color:var(--ink-2);max-width:40ch;margin:0 0 30px;text-wrap:pretty}.lede b{color:var(--ink);font-weight:600}.cmdline{display:flex;align-items:center;gap:6px;background:var(--night);color:var(--night-ink);border-radius:12px;padding:6px 6px 6px 16px;max-width:600px;box-shadow:inset 0 1px #ffffff0f}.cmdline .pr{color:var(--cyan);font:15px/1 var(--mono);flex:none}.cmdline code{flex:1;min-width:0;overflow-x:auto;white-space:nowrap;font:14.5px/46px var(--mono);scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);padding-inline-end:24px}.cmdline code::-webkit-scrollbar{display:none}.cmd-meta{font-size:15px;color:var(--ink-3);margin:12px 0 0}.cmd-meta a{color:var(--ink-2)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.twin{grid-column:1/-1;margin:clamp(36px,4vw,56px) 0 -120px;position:relative;z-index:2;background:var(--night);color:var(--night-ink);border-radius:18px;overflow:hidden;box-shadow:inset 0 1px #ffffff12,0 40px 80px -40px #0a162899}.tw-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;padding:12px 18px;border-bottom:1px solid var(--night-line)}.tw-dots{display:flex;gap:7px}.tw-dots i{width:11px;height:11px;border-radius:50%;background:var(--night-3)}.ins-cmd{font:14px/1.4 var(--mono);color:var(--night-ink)}.ins-cmd .pr{color:var(--night-ink-3)}.tw-size{margin-inline-start:auto;font:12.5px var(--mono);color:var(--night-ink-3)}.twin.compact .tw-body{background:#15181e}.tw-body{--term-fg:#d5d9e0;--term-bg:#15181e;background:#101216;padding:16px;overflow-x:auto;container-type:inline-size;scrollbar-width:thin;scrollbar-color:var(--night-line) transparent}.tw-body:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--cyan)}.zr{margin:0;font-family:Cascadia Mono,ui-monospace,Menlo,Consolas,monospace;font-size:inherit;font-weight:400;line-height:1.2;white-space:pre;color:var(--term-fg);background:var(--term-bg);width:max-content}.zr .w{display:inline-block;width:2ch}.zr .g1{display:inline-block;width:1ch;height:1.2em;vertical-align:top;text-align:center}.fr{position:relative;width:max-content;font-family:Cascadia Mono,ui-monospace,Menlo,Consolas,monospace;line-height:1.2}.tw-wide .fr{font-size:clamp(12px,calc(100cqw / 70.4),18px);margin-inline:auto}.tw-narrow{display:none}.tw-narrow .fr{font-size:clamp(12px,calc(100cqw / 42.3),15px)}@container (max-width:639px){.tw-wide{display:none}.tw-narrow{display:block}}.hot{position:absolute;left:calc(var(--c) * 1ch);top:calc(var(--r) * 1.2em);width:calc(var(--w) * 1ch);height:1.2em;margin:0;padding:0;border:0;border-radius:2px;background:transparent;font:inherit;cursor:pointer;transition:background-color .12s linear,box-shadow .12s linear}.hot:hover{background:#27e3fd33;box-shadow:0 0 0 1.5px var(--cyan)}.hot:active{background:#27e3fd5c}.hot:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.tw-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 28px;padding:14px 18px 16px;font-size:14px;line-height:1.5;color:var(--night-ink-3)}.tw-foot p{margin:0}.tw-cap{max-width:72ch}.tw-act{color:var(--night-ink-2)}.tw-act b{color:var(--night-ink);font:400 13px var(--mono)}.tw-pan{display:none}.twin.pans .tw-pan{display:inline}.linkbtn{background:none;border:0;padding:0;margin-inline-start:8px;color:var(--night-ink);text-decoration:underline;text-decoration-color:var(--cyan);text-underline-offset:.2em;cursor:pointer;font:inherit;min-height:32px}@media(prefers-reduced-motion:no-preference){.display .clip>span{animation:rise .72s var(--ease-out-strong) both}.display .clip:nth-child(2)>span{animation-delay:90ms}.hero-copy{animation:rise-s .52s var(--ease-out) .3s both}.twin{animation:rise-s .64s var(--ease-out) .42s both}.fr-b:not([hidden]),.fr-a.back{animation:fade-in .24s var(--ease-out)}}@keyframes fade-in{0%{opacity:.25}}@keyframes rise{0%{transform:translateY(130%)}}@keyframes rise-s{0%{transform:translateY(14px);opacity:0}}.sec{padding-block:clamp(64px,8.5vw,136px)}.sec-label{display:inline-flex;align-items:center;gap:8px;font:13.5px/1.3 var(--mono);color:var(--ink-3);margin:0 0 20px}.sec-label:before{content:"";flex:none;width:8px;height:9px;background:currentColor;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.on-night .sec-label{color:var(--night-ink-3)}.sec-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:end;margin-bottom:clamp(40px,5vw,72px)}.sec-head .ttl{grid-column:1/8}.sec-head h2,.h2{margin:0;font-size:clamp(2.1rem,1.25rem + 2.7vw,3.6rem);line-height:1.02;letter-spacing:-.032em;font-weight:760;text-wrap:balance}.sec-head .aside{grid-column:8/-1;margin:0;color:var(--ink-2);font-size:18px;line-height:1.55;max-width:44ch;text-wrap:pretty}@media(max-width:900px){.sec-head .ttl,.sec-head .aside{grid-column:1/-1}.sec-head .aside{margin-top:18px}}.sec code.i,.sec p code,.sec dd code{font-size:.86em;background:var(--paper-3);padding:.08em .36em;border-radius:4px;color:var(--ink)}.go-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:14px;font-size:16px;font-weight:600;text-decoration:none;color:var(--ink)}.go-link .arr{transition:transform .16s var(--ease-out)}.go-link:hover .arr{transform:translate(3px)}.go-link:hover{text-decoration:underline;text-decoration-color:var(--cyan-ink)}.scripts{border-bottom:1px solid var(--line)}.sessions,.safety{background:var(--paper-2);border-bottom:1px solid var(--line)}.spec-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:40px;align-items:start}.feats-w{grid-column:7/-1}.feats{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--gap)}.feats>div{padding:16px 0 18px;border-top:1px solid var(--line-2)}.feats dt{font:14.5px/1.5 var(--mono);color:var(--ink);margin-bottom:4px}.feats dd{margin:0;font-size:16px;line-height:1.5;color:var(--ink-2)}.keymap{display:flex;flex-wrap:wrap;align-items:center;gap:16px 30px;background:var(--night);color:var(--night-ink-2);border-radius:18px;padding:22px 26px;margin-bottom:clamp(40px,5vw,64px);box-shadow:inset 0 1px #ffffff12}.km-t{margin:0;display:flex;align-items:center;gap:6px;font-size:15px;color:var(--night-ink)}.km{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px 24px}.km li{display:flex;align-items:center;gap:8px;font-size:15px}.cap{display:inline-grid;place-items:center;min-width:30px;height:32px;padding:0 8px;border:1px solid var(--night-line);border-bottom-width:3px;border-radius:7px;background:var(--night-2);color:var(--night-ink);font:13px var(--mono)}.sess-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:40px;align-items:start}.trio{grid-column:1/6}.verb{padding:20px 0 22px;border-top:1px solid var(--line-2)}.verb h3{margin:0 0 8px;font:15px/1.45 var(--mono);color:var(--ink)}.verb p{margin:0;font-size:16.5px;line-height:1.55;color:var(--ink-2)}.verb a{display:inline-block;margin-top:8px;font-size:15px;color:var(--ink-2)}.tblock{grid-column:6/-1}.tbl-h{margin:0 0 6px;font-size:21px;font-weight:720;letter-spacing:-.012em}.tbl-p{margin:0 0 18px;font-size:16.5px;line-height:1.55;color:var(--ink-2);max-width:58ch}.workflows{border-bottom:1px solid var(--line)}.lc{list-style:none;margin:0 0 clamp(44px,5vw,72px);padding:0;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));position:relative}.lc:before{content:"";position:absolute;top:15px;inset-inline:8px 0;height:2px;background:var(--line-2)}.lc li{position:relative;padding-top:36px;padding-inline-end:12px}.lc li:before{content:"";position:absolute;top:10px;inset-inline-start:0;width:12px;height:12px;border-radius:50%;border:2px solid var(--ink-3);background:var(--paper);box-sizing:border-box}.lc li.g:before{top:6px;width:4px;height:20px;border-radius:2px;border:0;background:var(--ink);inset-inline-start:4px}.lc .st{display:block;font-size:20px;font-weight:720;letter-spacing:-.012em}.lc .gt{display:block;margin-top:6px;font:13px/1.45 var(--mono);color:var(--ink-3)}.lc li.g .gt{color:var(--ink-2)}.lc-key{display:flex;flex-wrap:wrap;gap:6px 22px;margin:-28px 0 clamp(40px,5vw,60px);font-size:14px;color:var(--ink-3)}.lc-key span{display:inline-flex;align-items:center;gap:8px}.lc-key i{width:12px;height:12px;border-radius:50%;border:2px solid var(--ink-3);box-sizing:border-box}.lc-key i.g{width:4px;height:16px;border-radius:2px;border:0;background:var(--ink);margin-inline:4px}.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}.cols3>div{border-top:1px solid var(--line-2);padding-top:20px;min-width:0}.cols3 h3{margin:0 0 10px;font-size:20px;font-weight:720;letter-spacing:-.012em}.cols3 p{margin:0 0 12px;font-size:16px;line-height:1.55;color:var(--ink-2)}.tiers{list-style:none;margin:0;padding:0;display:grid;gap:10px}.tiers li{display:grid;grid-template-columns:11ch minmax(0,1fr);gap:12px;font-size:15.5px;line-height:1.5;color:var(--ink-2)}.tiers b{font:500 14px/1.6 var(--mono);color:var(--ink)}.cmdbar{margin-top:clamp(44px,5vw,72px)}.ladder{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line-2);border-radius:18px;overflow:hidden;background:var(--paper)}.rung{padding:24px 26px 26px;border-inline-start:1px solid var(--line)}.rung:first-child{border-inline-start:0}.rung h3{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:23px;font-weight:720;letter-spacing:-.015em}.rung .mk{flex:none;width:13px;height:13px;border-radius:50%;box-sizing:border-box}.r0 .mk{border:2px solid var(--ink-3)}.r1 .mk{background:var(--advise-g)}.r2 .mk{background:var(--restart-g)}.r1 h3{color:var(--advise-t)}.r2 h3{color:var(--restart-t)}.rung p{margin:0;font-size:16px;line-height:1.6;color:var(--ink-2)}.rung .where{margin-top:14px;font:13.5px/1.5 var(--mono);color:var(--ink-3)}.trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);margin-top:clamp(36px,4vw,56px);align-items:start}.trust h3{margin:0 0 8px;font-size:19px;font-weight:720;letter-spacing:-.01em}.trust p{margin:0;font-size:16px;line-height:1.55;color:var(--ink-2)}.trust .term{font-size:13.5px}.runs{background:var(--paper)}.run3{display:flex;flex-direction:column;gap:14px;min-width:0}.cols3>.run3{border-top:0;padding-top:0}.run3 h3{margin:0;font-size:22px;font-weight:720;letter-spacing:-.015em}.run3 p{margin:0;font-size:16px;line-height:1.55;color:var(--ink-2)}.run3 .go-link{margin-top:0}.viz{background:var(--night);color:var(--night-ink-2);border-radius:14px;padding:16px 18px;font:12.5px/1.55 var(--mono);min-height:168px;display:flex;flex-direction:column;justify-content:space-between;gap:12px;box-shadow:inset 0 1px #ffffff12}.viz .vh{display:flex;justify-content:space-between;gap:8px;color:var(--night-ink-3)}.viz b{font-weight:400;color:var(--night-ink)}.ubar{position:relative;height:12px;border-radius:6px;background:var(--night-3);margin-top:22px}.ubar .f{position:absolute;inset:0 auto 0 0;width:99%;border-radius:6px;background:linear-gradient(to right in oklch,oklch(.6 .1 220),var(--cyan))}.ubar .m{position:absolute;top:-22px;bottom:-4px;left:99%;border-inline-start:1.5px dashed var(--advise)}.ubar .m span{position:absolute;top:-2px;right:6px;white-space:nowrap;color:var(--advise)}.hand{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px}.hbox{border:1px solid var(--night-line);border-radius:8px;padding:8px 10px;background:var(--night-2)}.hbox b{display:block}.hand .ar{color:var(--cyan)}.vlad{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.vlad div{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.vlad .hx{width:24px;height:24px}.vlad .w0{color:var(--night-ink-2)}.vlad .w1{color:var(--advise)}.vlad .w2{color:var(--compact)}.vlad .w3{color:var(--restart)}.vgate{border-top:1px solid var(--night-line);padding-top:10px}@media(max-width:1100px){.feats-w,.trio,.tblock{grid-column:1/-1}}@media(max-width:900px){.lc{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:28px}.lc:before{display:none}.lc-key{margin-top:0}.cols3,.trust{grid-template-columns:1fr}.cols3>.run3{padding-top:0}.ladder{grid-template-columns:1fr}.rung{border-inline-start:0;border-top:1px solid var(--line)}.rung:first-child{border-top:0}}@media(max-width:560px){.feats{grid-template-columns:1fr}.lc{grid-template-columns:repeat(2,minmax(0,1fr))}.keymap{padding:18px;gap:14px}.km{gap:10px 18px}.rung{padding:20px 18px 22px}}.htable-w{grid-column:5/-1;overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.htable{width:100%;border-collapse:collapse;font-size:15.5px;min-width:560px}.htable caption{caption-side:bottom;text-align:start;padding:14px 18px 16px;font-size:14px;color:var(--ink-3);border-top:1px solid var(--line);line-height:1.5}.htable th,.htable td{padding:0 18px;height:46px;text-align:start;border-bottom:1px solid var(--line)}.htable thead th{font-weight:600;font-size:14px;color:var(--ink-2);height:50px;background:var(--paper-2)}.htable tbody tr{transition:background-color .12s linear}.htable tbody tr:hover{background:var(--paper-2)}.htable tbody tr:last-child td,.htable tbody tr:last-child th{border-bottom:0}.htable th[scope=row]{font:400 15px var(--mono);white-space:nowrap}.htable th[scope=row] small{font:13.5px var(--sans);color:var(--ink-3);margin-inline-start:8px}.htable .y,.htable .n{white-space:nowrap}.htable .y:before,.htable .n:before{content:"";display:inline-block;width:10px;height:10px;margin-inline-end:8px;vertical-align:0;border-radius:50%}.htable .y:before{background:var(--ink)}.htable .n{color:var(--ink-3)}.htable .n:before{border:1.5px solid var(--line-2);box-sizing:border-box}.htable .depth{font:14px var(--mono);color:var(--ink-2);text-align:end;font-variant-numeric:tabular-nums}.htable thead .depth{text-align:end}.dbar{display:inline-flex;gap:3px;margin-inline-end:10px;vertical-align:-1px}.dbar i{width:6px;height:12px;border-radius:1.5px;background:var(--line)}.dbar i.on{background:var(--cyan-ink)}.htable .sm{display:none}@media(max-width:640px){.htable{min-width:0;font-size:15px}.htable .lg,.htable .depth,.htable th[scope=row] small{display:none}.htable .sm{display:inline}.htable th,.htable td{padding:0 8px;height:44px}.htable th:first-child{padding-inline-start:14px}.htable .t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.htable .y:before,.htable .n:before{width:12px;height:12px;margin:0}.htable caption{padding:12px 14px 14px}}.measured{background:var(--paper-2);padding-block:calc(120px + clamp(64px,7vw,112px)) 0;border-bottom:1px solid var(--line);overflow-x:clip}.msetup{grid-column:8/-1;margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 18px;align-self:end;font-size:16px;line-height:1.45;color:var(--ink)}.msetup dt{font:13.5px/1.6 var(--mono);color:var(--ink-3)}.msetup dd{margin:0}.figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);margin:0 0 clamp(44px,5vw,72px);padding:0;list-style:none}.fig{border-top:2px solid var(--ink);padding-top:22px}.fig .big{display:block;font:820 clamp(4.4rem,2.2rem + 6.6vw,9.6rem)/.88 var(--sans);letter-spacing:-.05em;font-variant-numeric:lining-nums;white-space:nowrap;color:var(--ink)}.fig .big .q{font-weight:400;font-style:italic;font-size:max(20px,.25em);letter-spacing:-.01em;color:var(--ink-2);display:block;margin-bottom:.32em;white-space:normal;line-height:1.25}.fig p{margin:16px 0 0;font-size:17px;line-height:1.5;color:var(--ink-2);max-width:32ch}.fig:first-child{border-top-color:var(--cyan-ink)}.quote{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}.quote blockquote{grid-column:1/9;margin:0;font-size:clamp(19px,1rem + .5vw,22px);line-height:1.6;color:var(--ink);text-wrap:pretty}.quote blockquote p{margin:0}.quote blockquote a{color:var(--ink);text-decoration-color:var(--cyan-ink)}.quote .src{grid-column:9/-1;align-self:end;font-size:15px;line-height:1.5;color:var(--ink-3);margin:0}.mband{margin-top:clamp(56px,7vw,104px);background:var(--night);color:var(--night-ink);padding-block:clamp(48px,6vw,88px)}.mb-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 32px;margin-bottom:30px}.mb-t{margin:0 0 8px;font-size:clamp(26px,1.2rem + 1.2vw,36px);line-height:1.1;font-weight:760;letter-spacing:-.022em;color:var(--night-ink)}.mb-sub{margin:0;font-size:16.5px;line-height:1.55;color:var(--night-ink-2);max-width:62ch}.mb-sub b{color:var(--night-ink);font-weight:600}.seg{display:inline-flex;padding:4px;border-radius:12px;background:var(--night-2);gap:2px}.seg button{min-height:44px;padding:0 16px;border:0;border-radius:9px;background:transparent;color:var(--night-ink-2);font:500 15.5px var(--sans);cursor:pointer;transition:background-color .16s linear,color .16s linear,transform .12s var(--ease-out)}.seg button span{font:12.5px var(--mono);color:var(--night-ink-3);margin-inline-start:8px}.seg button:hover{color:var(--night-ink)}.seg button:active{transform:scale(.97)}.seg button[aria-checked=true]{background:var(--cyan);color:var(--night)}.seg button[aria-checked=true] span{color:var(--night)}.mt{width:100%;border-collapse:collapse;table-layout:fixed}.mt th,.mt td{padding:18px 14px;border-top:1px solid var(--night-line);text-align:start;vertical-align:middle}.mt thead th{border-top:0;padding-top:0;padding-bottom:14px;font-size:15px;font-weight:600;color:var(--night-ink)}.mt thead th:first-child{width:22%}.mt th small{display:block;margin-top:3px;font:400 13px var(--mono);color:var(--night-ink-3)}.mt tbody th{font-size:16.5px;font-weight:650;color:var(--night-ink)}.cellv{display:flex;flex-direction:column;gap:9px;padding-inline-end:10px}.cellv .vv{order:-1;min-height:40px}.bar{--z:64.2857%;position:relative;height:26px;background:linear-gradient(var(--night-line),var(--night-line)) 7.143% 0/1px 100% no-repeat,linear-gradient(var(--night-line),var(--night-line)) 35.714% 0/1px 100% no-repeat,linear-gradient(var(--night-line),var(--night-line)) 92.857% 0/1px 100% no-repeat}.bar:before{content:"";position:absolute;left:var(--z);top:-6px;bottom:-6px;border-inline-start:1.5px solid var(--night-ink-2);z-index:1}.bar .h{position:absolute;top:0;bottom:0;box-sizing:border-box;border-radius:3px;transform:scaleX(var(--s,0));transition:transform .42s var(--ease-out),background-color .2s linear,border-color .2s linear}.bar .n{right:calc(100% - var(--z));width:var(--z);transform-origin:right center}.bar .p{left:var(--z);width:calc(100% - var(--z));transform-origin:left center}.ticks{position:relative;display:block;height:16px;margin:8px 10px 0 0;font:12px var(--mono);color:var(--night-ink-3)}.ticks i{position:absolute;top:0;font-style:normal;transform:translate(-50%)}.bar.good .h{background:var(--cyan);border:1.5px solid var(--cyan)}.bar.bad .h{background:var(--advise);border:1.5px solid var(--advise)}.bar.ns .h{background:transparent}.vv{font:15px/1.4 var(--mono);color:var(--night-ink);font-variant-numeric:tabular-nums;white-space:nowrap}.vv .sg{display:inline-block;margin-inline-start:8px;padding:1px 7px;border-radius:5px;background:var(--night-3);font-size:12.5px;color:var(--night-ink)}.vv .x{display:block;font-size:12.5px;color:var(--night-ink-3);white-space:normal}.m-legend{display:flex;flex-wrap:wrap;gap:8px 26px;margin:24px 0 0;font-size:14.5px;color:var(--night-ink-2)}.m-legend i{display:inline-block;width:22px;height:12px;border-radius:3px;vertical-align:-1px;margin-inline-end:8px;box-sizing:border-box}.m-legend .lg{background:var(--cyan)}.m-legend .lb{background:var(--advise)}.m-legend .lf{background:var(--night-ink-2)}.m-legend .ln{border:1.5px solid var(--night-ink-2)}.m-legend b{font-weight:400;font-family:var(--mono);color:var(--night-ink)}.m-notes{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:8px;font-size:14.5px;line-height:1.55;color:var(--night-ink-2);max-width:100ch}.m-notes code{font-size:.9em;background:var(--night-3);padding:.05em .35em;border-radius:4px;color:var(--night-ink)}.m-links{margin:24px 0 0;display:flex;flex-wrap:wrap;gap:4px 32px}.on-night .go-link{color:var(--night-ink)}.on-night .go-link:hover{text-decoration-color:var(--cyan)}@media(max-width:900px){.figs{grid-template-columns:1fr}.msetup{grid-column:1/-1;margin-top:18px}.quote blockquote,.quote .src{grid-column:1/-1}.quote .src{margin-top:20px}}@media(max-width:760px){.mt,.mt tbody,.mt tr,.mt th,.mt td{display:block;width:auto}.mt thead{display:none}.mt tbody tr{padding:16px 0 10px;border-top:1px solid var(--night-line)}.mt tbody th{border:0;padding:0 0 8px;width:auto}.mt td{border:0;padding:8px 0}.mt td:before{content:attr(data-label);display:block;margin-bottom:6px;font-size:13.5px;color:var(--night-ink-3)}.cellv{padding-inline-end:0}}.files{grid-column:1/6;display:grid;gap:16px}.file{border:1px solid var(--line-2);border-radius:14px;overflow:hidden;background:var(--paper)}.file-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--paper-2);font:13px var(--mono);color:var(--ink-2)}.file pre{margin:0;padding:16px 18px;font:14px/1.7 var(--mono);overflow-x:auto;color:var(--ink)}.term{background:var(--night);color:var(--night-ink);border-radius:14px;padding:16px 18px;font:14px/1.7 var(--mono);overflow-x:auto;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}@media(min-width:1101px){.files{position:sticky;top:96px}}.term .pr{color:var(--cyan)}.term .err{color:var(--night-ink-2)}.term .cm{color:var(--night-ink-3)}@media(max-width:1100px){.files{grid-column:1/-1}}.install{background:var(--paper-2);border-top:1px solid var(--line)}.inst-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:40px;align-items:start}.inst-copy{grid-column:1/5}.inst-copy .display2{margin:0;font-size:clamp(3rem,1.6rem + 4.6vw,6.4rem);line-height:.92;letter-spacing:-.04em;font-weight:820}.inst-copy p:not(.sec-label){margin:22px 0 0;color:var(--ink-2);font-size:18px;max-width:30ch}.inst-box{grid-column:5/-1;background:var(--night);color:var(--night-ink);border-radius:20px;padding:10px 10px 22px;box-shadow:inset 0 1px #ffffff12}.tabs{position:relative;display:flex;gap:2px;padding:4px;background:var(--night-2);border-radius:13px;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{position:relative;z-index:1;flex:1 0 auto;min-height:44px;padding:0 16px;border:0;background:transparent;color:var(--night-ink-2);font:500 15.5px/1 var(--sans);border-radius:10px;cursor:pointer;transition:color .14s linear;white-space:nowrap}.tab:hover{color:var(--night-ink)}.tab[aria-selected=true]{color:var(--night)}.tab-ink{position:absolute;z-index:0;top:0;left:0;width:var(--w,100px);height:var(--h,44px);transform:translate(var(--x,4px),var(--y,4px));background:var(--cyan);border-radius:10px;transition:transform .32s var(--ease-move),width .32s var(--ease-move),height .32s var(--ease-move)}@media(max-width:560px){.tabs{display:grid;grid-template-columns:1fr 1fr}.shell code{font-size:13.5px}}.tabpanel{padding:22px 16px 0}.tabpanel[hidden]{display:none}.tabpanel.in{animation:rise-s .26s var(--ease-out)}.tp-note{margin:0 0 12px;font-size:15px;color:var(--night-ink-2);line-height:1.5}.tp-note code{background:var(--night-3);padding:.08em .36em;border-radius:4px;color:var(--night-ink);font-size:.9em}.shell{display:flex;align-items:flex-start;gap:10px;background:#060f1e;border:1px solid var(--night-line);border-radius:12px;padding:8px 8px 8px 16px;margin:0 0 16px}.shell code{flex:1;min-width:0;overflow-x:auto;font:14.5px/1.85 var(--mono);white-space:pre;padding:6px 0;scrollbar-width:thin}.shell code .ln{display:block}.shell code .ln:before{content:"$ ";color:var(--cyan)}.shell .copy{margin-top:4px}.then{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);margin:8px 0 0;padding:0;list-style:none;counter-reset:then}.then li{border-top:1px solid var(--line-2);padding-top:18px;counter-increment:then}.then li:before{content:counter(then);display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--ink-3);font:13px var(--mono);color:var(--ink-2);margin-bottom:12px}.then code.c{display:block;font:16px var(--mono);margin-bottom:6px;color:var(--ink)}.then p{margin:0;font-size:16px;color:var(--ink-2);line-height:1.5}.startdocs{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);border-top:1px solid var(--line-2);padding-top:32px;margin-top:12px}.startdocs h3{grid-column:1/5;margin:0;font-size:24px;font-weight:720;letter-spacing:-.015em}.startdocs h3 small{display:block;margin-top:8px;font-size:16px;font-weight:400;color:var(--ink-3);letter-spacing:0}.dlinks{grid-column:5/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--gap);list-style:none;margin:0;padding:0}.dlinks a{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;border-bottom:1px solid var(--line-2);text-decoration:none;font-size:18px;font-weight:600;padding:0 4px;transition:padding .16s var(--ease-out),color .12s linear}.dlinks a span{font:13px var(--mono);font-weight:400;color:var(--ink-3)}.dlinks a:hover{padding-inline-start:10px}@media(max-width:1100px){.inst-copy,.inst-box,.startdocs h3,.dlinks{grid-column:1/-1}.dlinks{margin-top:16px}}@media(max-width:760px){.then,.dlinks{grid-template-columns:1fr}}.tp-foot{padding:6px 16px 0;margin:0}.tp-foot a{color:var(--night-ink)}.foot{background:var(--night);color:var(--night-ink-2);padding-block:64px 40px;font-size:15.5px}.foot-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:36px}.foot .brand{color:var(--night-ink)}.foot-id{grid-column:1/5}.foot-id p{margin:16px 0 0;max-width:34ch;line-height:1.55}.foot-col{grid-column:span 2}.foot-col:first-of-type{grid-column:7/span 2}.foot-col h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--night-ink)}.foot-col ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}.foot-col a{display:inline-flex;align-items:center;min-height:34px;color:var(--night-ink-2);text-decoration:none}.foot-col a:hover{color:var(--night-ink);text-decoration:underline;text-decoration-color:var(--cyan)}.foot-base{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid var(--night-line);padding-top:24px;font-size:14px;color:var(--night-ink-3)}.foot-base a{color:var(--night-ink-2)}@media(max-width:900px){.foot-id{grid-column:1/-1}.foot-col,.foot-col:first-of-type{grid-column:span 4}}@media(max-width:560px){.foot-col,.foot-col:first-of-type{grid-column:span 6}}@media(max-width:1100px){.hero-copy{display:block}.twin{margin-block-end:-72px}.hero-copy .lede{margin-bottom:26px}.measured{padding-block-start:calc(72px + clamp(56px,7vw,96px))}.lede{max-width:56ch}}@media(max-width:560px){.display .d2{padding-inline-start:0}.twin{margin-inline:calc(-1*var(--gutter) + 8px);border-radius:16px;margin-top:32px}.tw-body{padding:12px}.tw-bar,.tw-foot{padding-inline:14px}.hero{padding-block-start:24px}.display{margin-bottom:22px}.lede{font-size:18px;line-height:1.5;margin-bottom:22px}.cmd-meta{margin-top:8px}.actions{margin-top:20px;gap:10px;flex-wrap:nowrap}.actions .btn{flex:1 1 0;min-width:0;padding:0 14px;font-size:17px;min-height:52px}}html:has(.docs){scroll-padding-top:0}.docs,.docs *,.docs *:before,.docs *:after{box-sizing:border-box}.docs{background:var(--paper);color:var(--ink);font:400 18px/1.6 var(--sans);min-height:100dvh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.docs a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em;transition:text-underline-offset .15s var(--ease-out),color .12s linear,text-decoration-color .12s linear}.docs a:hover{text-underline-offset:.3em}.docs :focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}.docs code,.docs kbd,.docs pre,.docs samp{font-family:var(--mono);font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0}.docs button{font:inherit;color:inherit}.docs svg,.docs img{display:block}.docs .icon{width:17px;height:17px;flex:none}.docs .sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.docs kbd{font:12px/1 var(--mono);padding:4px 6px 3px;border:1px solid var(--line-2);border-bottom-width:2px;border-radius:5px;color:var(--ink-2);background:var(--paper)}.docs .skip{position:absolute;inset-inline-start:16px;inset-block-start:-60px;z-index:100;background:var(--night);color:var(--night-ink);padding:10px 16px;border-radius:8px;text-decoration:none;transition:inset-block-start .15s var(--ease-out)}.docs .skip:focus{inset-block-start:12px}.docs .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:12px;font:600 16px/1 var(--sans);text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .14s var(--ease-out),background-color .12s linear,border-color .12s linear;white-space:nowrap}.docs .btn-quiet{background:transparent;color:var(--ink);border-color:var(--line-2)}@media(hover:hover)and (pointer:fine){.docs .btn:hover{transform:translateY(-2px)}.docs .btn-quiet:hover{border-color:var(--ink-3);background:var(--paper-2)}}.docs .btn:active{transform:translateY(0) scale(.98);transition-duration:60ms}.docs-head{position:sticky;top:0;z-index:60;background:var(--paper);border-bottom:1px solid var(--line)}.dh-in{display:flex;align-items:center;gap:16px;height:64px;padding-inline:clamp(16px,2.2vw,32px)}.docs-head .brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font:800 21px/1 var(--sans);letter-spacing:-.025em;padding:6px 4px;margin-inline-start:-4px;border-radius:8px}.docs-head .ver{font:13px/1 var(--mono);color:var(--ink-2);padding:8px 9px;border:1px solid var(--line);border-radius:7px;text-decoration:none;font-variant-numeric:tabular-nums;transition:border-color .12s linear,color .12s linear}.docs-head .ver:hover{border-color:var(--ink-3);color:var(--ink)}.dh-label{font:500 15px/1 var(--sans);color:var(--ink-3);padding-inline-start:14px;border-inline-start:1px solid var(--line-2);height:22px;display:inline-flex;align-items:center;text-decoration:none}.dsearch{position:relative;flex:0 1 560px;margin-inline-start:clamp(8px,4vw,64px)}.dsearch .field{display:flex;align-items:center;gap:10px;height:44px;padding:0 10px 0 14px;border:1px solid var(--line-2);border-radius:11px;background:var(--paper);transition:border-color .12s linear,box-shadow .16s var(--ease-out)}.dsearch .field:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px #007bb22e;box-shadow:0 0 0 3px oklch(.55 .15 235 / .18)}.dsearch input{flex:1;min-width:0;border:0;background:transparent;font:16px var(--sans);color:var(--ink);outline:none;height:100%}.docs .dsearch input{outline:none}.dsearch input::placeholder{color:var(--ink-3)}.dsearch input::-webkit-search-cancel-button{-webkit-appearance:none}.dsearch .icon{color:var(--ink-3)}.dsearch .x{display:none;border:0;background:transparent;color:var(--ink-3);cursor:pointer;min-width:36px;min-height:36px;border-radius:8px;font-size:14px}.dsearch .x:hover{color:var(--ink);background:var(--paper-2)}.results{position:absolute;top:calc(100% + 8px);left:0;width:max(100%,600px);max-height:min(70vh,640px);overflow:auto;background:var(--paper);border:1px solid var(--line-2);border-radius:14px;box-shadow:0 2px 4px #1922300f,0 28px 56px -24px #19223059;padding:6px;transform-origin:top left;animation:ddrop .2s var(--ease-out)}@keyframes ddrop{0%{opacity:0;transform:translateY(-4px) scale(.985)}}.results[hidden]{display:none}.r-head{display:flex;justify-content:space-between;gap:12px;padding:8px 12px 6px;font-size:13px;color:var(--ink-3)}.hit{display:block;padding:10px 12px;border-radius:9px;text-decoration:none;color:var(--ink);scroll-margin:6px}.hit[aria-selected=true],.hit:hover{background:var(--paper-2)}.hit[aria-selected=true]{box-shadow:inset 2px 0 0 var(--cyan-ink)}.hit .hp{display:block;font-size:13.5px;color:var(--ink-3);margin-bottom:2px}.hit .hp b{color:var(--ink);font-weight:600}.hit .hs{display:block;font-size:15px;line-height:1.45;color:var(--ink-2);overflow-wrap:anywhere}.hit mark{background:#73edfa8c;color:inherit;border-radius:2px;padding:0 1px}.r-empty{padding:18px 14px 16px}.r-empty p{margin:0 0 6px;font-size:15.5px;color:var(--ink-2)}.r-empty p.t{font-size:17px;color:var(--ink);font-weight:600}.r-foot{display:flex;gap:16px;flex-wrap:wrap;padding:8px 12px;border-top:1px solid var(--line);margin-top:6px;font-size:12.5px;color:var(--ink-3)}.dh-end{margin-inline-start:auto;display:flex;align-items:center;gap:8px}.dh-end a.lk{display:inline-flex;align-items:center;min-height:40px;padding:0 10px;border-radius:8px;color:var(--ink-2);text-decoration:none;font-size:15px}.dh-end a.lk:hover{background:var(--paper-2);color:var(--ink)}.ib{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line-2);border-radius:10px;background:var(--paper);cursor:pointer;color:var(--ink);transition:background-color .12s linear}.ib:hover{background:var(--paper-2)}.ib:active{transform:scale(.96)}.docs-body{display:grid;grid-template-columns:minmax(250px,290px) minmax(0,1fr) minmax(200px,250px);gap:0 clamp(28px,3vw,56px);max-width:1520px;margin-inline:auto;padding-inline:clamp(16px,2.2vw,32px)}.dnav{position:sticky;top:64px;align-self:start;height:calc(100dvh - 64px);overflow-y:auto;padding:28px 12px 48px 0;border-inline-end:1px solid var(--line);scrollbar-width:thin}.dnav .ng{margin-bottom:22px}.dnav .nh{margin:0 0 6px;padding-inline-start:12px;font-size:13.5px;font-weight:600;color:var(--ink)}.dnav ul{list-style:none;margin:0;padding:0}.dnav a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;padding:5px 12px;border-radius:8px;color:var(--ink-2);text-decoration:none;font-size:15px;line-height:1.35;transition:background-color .12s linear,color .12s linear}.dnav a:hover{background:var(--paper-2);color:var(--ink)}.dnav a[aria-current=page]{background:var(--paper-2);color:var(--ink);font-weight:600;box-shadow:inset 2px 0 0 var(--cyan-ink)}.dnav a .tg{font:11.5px var(--mono);color:var(--ink-3);font-weight:400}.dmain{min-width:0;padding:40px 0 96px}.doc{max-width:74ch;margin-inline:auto;outline:none;font-size:17px;line-height:1.68}.crumb{margin:0 0 14px;font-size:14px;color:var(--ink-3);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.crumb a{color:var(--ink-3);text-decoration:none}.crumb a:hover{color:var(--ink);text-decoration:underline}.doc h1{margin:0;font-size:clamp(2.1rem,1.5rem + 1.8vw,3rem);line-height:1.06;letter-spacing:-.03em;font-weight:780;text-wrap:balance;overflow-wrap:anywhere}.doc h1 code{font-size:.82em}.meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:16px 0 36px;padding-bottom:22px;border-bottom:1px solid var(--line);font:13.5px/1.4 var(--mono);color:var(--ink-3)}.meta a{color:var(--ink-2)}.meta .kind{font:600 12.5px/1 var(--sans);padding:5px 8px;border-radius:6px;background:var(--paper-3);color:var(--ink-2)}.doc h2{margin:56px 0 14px;font-size:27px;line-height:1.2;letter-spacing:-.02em;font-weight:720;text-wrap:balance;scroll-margin-top:88px}.doc h3{margin:38px 0 10px;font-size:21px;line-height:1.3;letter-spacing:-.012em;font-weight:700;scroll-margin-top:88px}.doc h4,.doc h5,.doc h6{margin:28px 0 8px;font-size:17.5px;line-height:1.35;font-weight:700;scroll-margin-top:88px}.doc :is(h2,h3,h4){position:relative}.doc .anc{position:absolute;inset-inline-start:-1.1em;top:0;width:1em;text-decoration:none;color:var(--ink-3);opacity:0;transition:opacity .12s linear;font-weight:400}.doc :is(h2,h3,h4):hover .anc,.doc .anc:focus-visible{opacity:1}.doc p{margin:0 0 18px;text-wrap:pretty}.doc ul,.doc ol{margin:0 0 20px;padding-inline-start:1.4em}.doc li{margin:6px 0}.doc li::marker{color:var(--ink-3)}.doc li>p{margin:0 0 8px}.doc li>ul,.doc li>ol{margin:6px 0 8px}.doc a{color:var(--ink);text-decoration-color:#0069908c;text-decoration-color:oklch(.49 .11 232 / .55);overflow-wrap:anywhere}.doc a:hover{text-decoration-color:var(--cyan-ink)}.doc a.ext:after{content:"";display:inline-block;width:.62em;height:.62em;margin-inline-start:.2em;background:currentColor;opacity:.55;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M3 1h6v6M9 1 1 9' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M3 1h6v6M9 1 1 9' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") center/contain no-repeat}.doc code{font-size:.86em;background:var(--paper-3);padding:.1em .36em;border-radius:4px;overflow-wrap:anywhere}.doc pre code{background:none;padding:0;font-size:inherit;border-radius:0;overflow-wrap:normal}.doc strong{font-weight:650;color:var(--ink)}.doc img{max-width:100%;height:auto;border-radius:8px;margin:0 0 18px}.doc input[type=checkbox]{margin-inline-end:6px}.doc blockquote{margin:0 0 22px;padding:14px 20px;border:1px solid var(--line);background:var(--paper-2);border-radius:12px;color:var(--ink-2)}.doc blockquote p:last-child{margin-bottom:0}.doc hr{border:0;border-top:1px solid var(--line);margin:40px 0}.code{margin:0 0 22px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2);overflow:hidden}.code-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 6px 6px 14px;border-bottom:1px solid var(--line);font:12.5px var(--mono);color:var(--ink-3)}.code-bar .copy{min-height:30px;min-width:72px;font-size:13px}.code pre{margin:0;padding:14px 16px;overflow-x:auto;font:13.8px/1.7 var(--mono);color:var(--ink);tab-size:4}.hl-k{color:var(--ink)}.hl-s{color:var(--cyan-ink)}.hl-c{color:var(--ink-3);font-style:italic}.hl-z{color:var(--cyan-ink)}.hl-p{color:var(--ink-3)}.tw{margin:0 0 24px;overflow-x:auto;border:1px solid var(--line);border-radius:12px}.tw table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.5}.tw th,.tw td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top;text-align:start}.tw thead th{background:var(--paper-2);font-weight:600;font-size:14px;white-space:nowrap}.tw tbody tr:last-child td{border-bottom:0}.tw td code{font-size:.88em;overflow-wrap:normal;white-space:nowrap}.tw td:first-child code{white-space:nowrap}.flash{animation:dflash 1.6s var(--ease-out)}@keyframes dflash{0%,30%{background:#92f0fa8c}to{background:transparent}}.pager{max-width:74ch;margin:64px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:16px}.pager a{display:block;padding:16px 18px;border:1px solid var(--line-2);border-radius:12px;text-decoration:none;transition:border-color .12s linear,transform .14s var(--ease-out)}.pager a:hover{border-color:var(--ink-3);transform:translateY(-1px)}.pager a small{display:block;font-size:13.5px;color:var(--ink-3);margin-bottom:2px}.pager a b{font-weight:650}.pager .nx{text-align:end;grid-column:2}.toc{position:sticky;top:64px;align-self:start;max-height:calc(100dvh - 64px);overflow-y:auto;padding:40px 0;font-size:14px;scrollbar-width:thin}.toc h2{margin:0 0 10px;font-size:13.5px;font-weight:600;color:var(--ink)}.toc ol{list-style:none;margin:0;padding:0;border-inline-start:1px solid var(--line)}.toc a{display:block;padding:5px 0 5px 14px;margin-inline-start:-1px;border-inline-start:2px solid transparent;color:var(--ink-3);text-decoration:none;line-height:1.4;overflow-wrap:anywhere;transition:color .12s linear,border-color .12s linear}.toc a:hover{color:var(--ink)}.toc a.l3{padding-inline-start:26px;font-size:13.5px}.toc a.on{color:var(--ink);border-inline-start-color:var(--cyan-ink)}.toc .top{display:inline-block;margin-top:16px;border:0;padding:0;color:var(--ink-3);font-size:13.5px}.doc.home,.doc.home+.pager{max-width:1000px}.dhome-grid{columns:3 260px;column-gap:40px;margin-top:8px}.dhome-grid section{break-inside:avoid;margin-bottom:36px}.dhome-grid h2{margin:0 0 8px;font-size:15px;font-weight:650;color:var(--ink);letter-spacing:0;padding-bottom:8px;border-bottom:1px solid var(--line)}.dhome-grid ul{list-style:none;margin:0;padding:0}.dhome-grid li{margin:0}.dhome-grid a{display:block;padding:9px 0;text-decoration:none;border-bottom:1px solid var(--line)}.dhome-grid a b{display:block;font-weight:600;font-size:16px}.dhome-grid a span{display:-webkit-box;font-size:14.5px;color:var(--ink-3);line-height:1.45;margin-top:2px;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dhome-grid a:hover b{text-decoration:underline;text-decoration-color:var(--cyan-ink)}.dhome-lede{font-size:19px;color:var(--ink-2);margin:0 0 28px;max-width:56ch}.counts{display:flex;flex-wrap:wrap;gap:8px 22px;font:13.5px var(--mono);color:var(--ink-3);margin:0 0 36px}.e404 .term{margin:6px 0 24px}.e404 .sug{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px}.docs .term{background:var(--night);color:var(--night-ink);border-radius:14px;padding:16px 18px;font:14px/1.7 var(--mono);overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere}.dskel{display:grid;gap:14px;margin-top:8px}.dskel i{display:block;height:14px;border-radius:7px;background:var(--paper-3);animation:dpulse 1.4s ease-in-out infinite}.dskel i:nth-child(odd){width:92%}.dskel i:nth-child(3n){width:64%}@keyframes dpulse{50%{opacity:.45}}.scrim{position:fixed;inset:0;background:#0a162859;z-index:58;opacity:0;pointer-events:none;transition:opacity .2s linear}.navopen .scrim{opacity:1;pointer-events:auto}.nf{display:grid;place-items:center;min-height:100dvh;padding:32px var(--gutter,24px)}.nf .doc{margin:0}.formula{margin:0;background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:20px 22px;font:14px/1.75 var(--mono);color:var(--ink-2);overflow-x:auto;white-space:pre}.formula .k{color:var(--ink)}.formula .v{color:var(--cyan-ink)}.formula .t{color:var(--ink);font-variant-numeric:tabular-nums}.formula .z{color:var(--ink-3)}.calc{background:var(--paper);border:1px solid var(--line-2);border-radius:20px;overflow:hidden;box-shadow:0 1px 2px #1922300d,0 24px 48px -28px #19223040}.calc-out{padding:26px 28px 24px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;column-gap:28px;row-gap:12px;align-items:center}.calc-score{display:flex;align-items:baseline;gap:6px;grid-row:1/3}.calc-score .num{font:400 clamp(84px,7vw,124px)/.86 var(--mono);letter-spacing:-.06em;font-variant-numeric:tabular-nums;display:inline-block;min-width:2.1ch;text-align:end}.calc-score .of{font:15px var(--mono);color:var(--ink-3)}.num.tick{animation:dtick .2s var(--ease-out)}@keyframes dtick{0%{transform:translateY(6px);opacity:.35}}.calc-verdict{display:flex;align-items:center;gap:12px}.calc-verdict .hx{width:46px;height:46px}.calc-verdict .vw{font:760 34px/1 var(--sans);letter-spacing:-.02em}.calc-why{margin:0;font-size:15.5px;line-height:1.5;color:var(--ink-2);text-wrap:pretty}.cg{grid-column:1/-1;margin-top:10px}.cg-track{position:relative;height:8px;border-radius:4px;background:linear-gradient(to right,var(--paper-3) 0 50%,var(--line-2) 50% 80%,oklch(.62 .17 48 / .45) 80%)}.cg-dot{position:absolute;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:var(--ink);border:3px solid var(--paper);box-shadow:0 0 0 1px var(--ink);left:calc(var(--c,.6)*100%);transition:left .16s var(--ease-out)}.cg-l{position:relative;height:20px;margin-top:8px;font:12.5px var(--mono);color:var(--ink-3)}.cg-l span{position:absolute;top:0;white-space:nowrap}.cg-l span:nth-child(1){left:0}.cg-l span:nth-child(2){left:50%;transform:translate(-50%)}.cg-l span:nth-child(3){left:80%;transform:translate(-50%)}.calc-in{padding:12px 28px 26px}.ctl{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2px 16px;padding:14px 0;border-bottom:1px solid var(--line)}.ctl label.l{font-size:16.5px;font-weight:600}.ctl output{font:15px var(--mono);font-variant-numeric:tabular-nums;color:var(--ink)}.ctl .hint{grid-column:1/-1;margin:0;font-size:14px;color:var(--ink-3);line-height:1.45}.ctl input[type=range]{grid-column:1/-1}.ctl.off label.l,.ctl.off output{color:var(--ink-3)}.calc input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:32px;margin:6px 0 2px;background:transparent;cursor:pointer;--p:50%}.calc input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(to right,var(--ink) 0 var(--p),var(--line-2) var(--p))}.calc input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:linear-gradient(to right,var(--ink) 0 var(--p),var(--line-2) var(--p))}.calc input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-9px;border-radius:50%;background:var(--paper);border:2px solid var(--ink);box-shadow:0 1px 3px #0d162440;transition:transform .16s var(--ease-spring)}.calc input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--paper);border:2px solid var(--ink)}.calc input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.12)}.calc input[type=range]:active::-webkit-slider-thumb{transform:scale(1.2)}.calc input[type=range]:focus-visible{outline:none}.calc input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px #007bb259;box-shadow:0 0 0 4px oklch(.55 .15 235 / .35)}.calc input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px #007bb259;box-shadow:0 0 0 4px oklch(.55 .15 235 / .35)}.calc input[type=range]:disabled{cursor:not-allowed;opacity:.45}.sw{display:inline-flex;align-items:center;gap:10px;grid-column:1/-1;font-size:14.5px;color:var(--ink-2);cursor:pointer;min-height:32px;width:max-content}.sw input{appearance:none;-webkit-appearance:none;width:36px;height:22px;border-radius:11px;background:var(--line-2);position:relative;margin:0;cursor:pointer;transition:background-color .16s linear;flex:none}.sw input:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--paper);transition:transform .38s var(--ease-spring)}.sw input:checked{background:var(--ink)}.sw input:checked:after{transform:translate(14px)}.presets{display:flex;flex-wrap:wrap;gap:8px;padding-top:18px}.presets p{width:100%;margin:0 0 2px;font-size:14px;color:var(--ink-3)}.chip{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line-2);background:var(--paper);font:500 14.5px/1 var(--sans);color:var(--ink-2);cursor:pointer;transition:border-color .12s linear,color .12s linear,background-color .12s linear,transform .14s var(--ease-out)}.chip:hover{border-color:var(--ink-3);color:var(--ink)}.chip:active{transform:scale(.96)}.chip[aria-pressed=true]{background:var(--night);border-color:var(--night);color:var(--night-ink)}@media(max-width:560px){.calc-out{grid-template-columns:1fr;padding:22px 18px}.calc-score{grid-row:auto}.calc-in{padding:6px 18px 22px}.formula{font-size:12.5px;padding:16px}}.try{margin-top:56px}.try .try-note{font-size:15px;color:var(--ink-3)}.try .formula{margin:16px 0 20px}.docs .calc{position:static;grid-column:auto}.doc .calc p{margin:0}.doc .calc .presets p{margin:0 0 2px}@media(min-width:1241px){.docs-body:has(.toc:empty){grid-template-columns:minmax(250px,290px) minmax(0,1fr)}.docs-body:has(.toc:empty) .toc{display:none}}@media(max-width:1240px){.docs-body{grid-template-columns:minmax(240px,270px) minmax(0,1fr)}.toc{display:none}}@media(max-width:1000px){.dh-end a.lk{display:none}.dsearch{min-width:0;margin-inline-start:8px}.docs-body{grid-template-columns:minmax(0,1fr)}.dnav{position:fixed;top:64px;left:0;height:calc(100dvh - 64px);width:min(330px,88vw);z-index:59;background:var(--paper);padding:20px 16px 48px;border-inline-end:1px solid var(--line);transform:translate(-104%);transition:transform .3s var(--ease-out);visibility:hidden}.navopen .dnav{transform:none;visibility:visible}.ib.menu{display:inline-flex}}@media(max-width:760px){.dh-label{display:none}.ib.sopen{display:inline-flex}.dsearch{display:none}.searchmode .dsearch{display:block;position:fixed;inset:0 0 auto;z-index:70;margin:0;padding:10px 12px;background:var(--paper);border-bottom:1px solid var(--line)}.searchmode .dsearch .x{display:inline-flex;align-items:center;justify-content:center}.searchmode .results{position:fixed;inset:66px 0 0;width:auto;max-height:none;border-radius:0;border:0;border-top:1px solid var(--line);box-shadow:none;padding:6px 10px 40px}.dsearch kbd{display:none}.dmain{padding-top:28px}.doc{font-size:16.5px}.doc .anc{display:none}.pager{grid-template-columns:1fr}.pager .nx{grid-column:1}.tw table:has(th:nth-child(3)){min-width:600px}}@media(prefers-reduced-motion:reduce){.docs *,.docs *:before,.docs *:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}@media(forced-colors:active){.docs .btn,.docs .chip{border:1px solid ButtonText}}
