@font-face{font-family:Manrope;src:url(/fonts/manrope.woff2)format("woff2");font-weight:200 800;font-display:block}:root{--bg:#141311;--bg-soft:#181714;--panel:#1c1b18;--panel-soft:#262420;--hover:#302d27;--line:#3a3732;--line-soft:#2a2824;--line-strong:#686158;--text:#f6f3ed;--text-soft:#d1ccc3;--muted:#b4aea4;--dim:#969087;--faint:#686158;--green:#72ce93;--green-soft:#1c2d22;--red:#ff6b85;--amber:#e9b765;--font:"Manrope", "Avenir Next", "Segoe UI", -apple-system, BlinkMacSystemFont, system-ui, sans-serif}@layer base{*{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}body{color:var(--text);font:500 14px/22px var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}img{max-width:100%;display:block}p{margin:0}:focus-visible{outline:2px solid var(--text);outline-offset:2px;border-radius:6px}[hidden]{display:none!important}svg.i{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.wrap{max-width:1224px;margin:0 auto;padding:0 32px}.grow{flex:1}.display{letter-spacing:-.055em;margin:0;font-weight:500;line-height:1.03}h1.display{font-size:62px}h1.display.sm{letter-spacing:-.05em;font-size:46px;line-height:1.06}h2.display{letter-spacing:-.04em;font-size:32px;line-height:1.12}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--dim);font-size:11px;font-weight:600;line-height:16px}.lede{color:var(--text-soft);font-size:16px;line-height:26px}.quiet{color:var(--muted)}.arrow-link{align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.arrow-link svg{width:14px;height:14px;transition:transform .15s}.arrow-link:hover svg{transform:translate(3px)}.btn{background:var(--panel-soft);height:36px;color:var(--text);white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.btn:hover{background:var(--hover)}.btn.primary{background:var(--text);color:var(--bg)}.btn.primary:hover{background:#fff}.btn.lg{height:42px;padding:0 16px}.btn.sm{border-radius:7px;height:28px;padding:0 10px;font-size:12px}.btn svg{width:14px;height:14px}.v{color:var(--text);white-space:nowrap;border-radius:4px;padding:1px 5px;font-weight:600}.v-f{box-shadow:inset 0 -1px 0 var(--line-strong);border-radius:0;padding:0}.v-s{background:var(--hover)}.v-r{border:1px dashed var(--line-strong);padding:0 4px}.tag{background:var(--panel-soft);height:22px;color:var(--text-soft);white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.tag.dash{border:1px dashed var(--line-strong);color:var(--muted);background:0 0}.tags{flex-wrap:wrap;gap:6px;display:flex}.note-dash{border:1px dashed var(--line-strong);color:var(--muted);border-radius:8px;padding:14px 16px;font-size:13px;line-height:20px}.note-dash b{color:var(--text);font-weight:600}.pull{border-left:2px solid var(--text);color:var(--text);background:#f6f3ed0e;margin:18px 0;padding:12px 16px;font-size:15px;font-weight:600;line-height:24px}.dot{border-radius:50%;flex:none;width:8px;height:8px}.dot.ok{background:var(--green)}.sec{border-top:1px solid var(--line);padding:52px 0}.sec-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.split{grid-template-columns:420px minmax(0,1fr);align-items:start;gap:56px;display:grid}.stack>*+*{margin-top:14px}.frame{border:1px solid var(--line);background:var(--bg-soft);border-radius:8px;overflow:hidden}.frame-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;height:44px;padding:0 14px 0 16px;font-size:13px;font-weight:600;display:flex}.frame-foot{border-top:1px solid var(--line-soft);color:var(--muted);align-items:center;gap:12px;padding:10px 16px;font-size:12px;display:flex}.hero{padding:30px 0 56px;position:relative}.hero:before{content:"";pointer-events:none;background:radial-gradient(60% 100% at 78% 0,#f6f3ed12,#0000 70%);height:420px;position:absolute;inset:0 0 auto}.hero-top{grid-template-columns:minmax(0,1fr) 468px;align-items:end;gap:56px;display:grid;position:relative}.hero-top .lede{margin-top:0}.how-grid{grid-template-columns:468px minmax(0,1fr);align-items:start;gap:56px;display:grid}.hero .lede{max-width:44ch;margin-top:20px}.cta{gap:8px;margin-top:24px;display:flex}.under{color:var(--muted);margin-top:14px;font-size:13px}.under a{color:var(--text);text-underline-offset:3px;text-decoration:underline}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width<=1100px){.hero-top,.how-grid,.split{grid-template-columns:1fr}}.m-only{display:none}@media (width<=1100px){.hero-top{gap:22px}.how-grid,.split{gap:28px}}@media (width<=900px){h1.display{font-size:50px}h1.display.sm{font-size:40px}.sec-head{flex-direction:column;align-items:flex-start;gap:10px}.sec-head>div{flex-wrap:wrap;gap:4px 20px!important}.frame-head{flex-wrap:wrap;gap:2px 10px;height:auto;min-height:44px;padding-top:8px;padding-bottom:8px}.frame-head .grow,.frame-foot .grow{display:none}.frame-foot{flex-wrap:wrap;gap:6px 10px}.note-dash[style*=flex]{flex-direction:column;align-items:flex-start!important;gap:8px!important}.note-dash[style*=flex] .grow{display:none}}@media (width<=640px){.wrap{padding:0 20px}.m-only{display:block}html{scroll-padding-top:76px}h1.display{letter-spacing:-.05em;font-size:clamp(34px,10.4vw,44px);line-height:1.05}h1.display.sm{font-size:clamp(29px,8.4vw,36px);line-height:1.08}h2.display{font-size:26px}.lede{font-size:16px;line-height:25px}.sec{padding:40px 0}.hero{padding:24px 0 40px}.btn,.btn.sm{height:40px}.btn.sm{padding:0 12px}.btn.lg{height:46px}.arrow-link{min-height:40px}.cta{flex-wrap:wrap}.cta .btn{flex:auto;justify-content:center}.under a{margin:-11px 0;padding:11px 0;display:inline-block}}::selection{color:#141311;-webkit-text-fill-color:#141311;background:#f6f3ed}.bd-light ::selection{color:#f6f3ed;-webkit-text-fill-color:#f6f3ed;background:#15140f}}@layer nav{.nav{z-index:20;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#141311e0;position:sticky;top:0}.nav .wrap{align-items:center;gap:28px;height:64px;display:flex}.nav .logo img{width:auto;height:26px}.nav-links{gap:4px;margin:0 auto;display:flex}.nav-links a{height:34px;color:var(--text-soft);border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-size:14px;font-weight:500;display:inline-flex}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--text);background:var(--panel)}.nav-links svg{width:13px;height:13px;color:var(--dim)}.theme-btn{border:1px solid var(--line-strong);border-radius:50%;place-items:center;width:36px;height:36px;display:grid}@media (width<=1100px){.nav-links{display:none}}.nav-toggle{display:none}@media (width<=1100px){.nav .wrap{gap:10px}.nav .logo{margin-right:auto}.nav-toggle{border:1px solid var(--line);border-radius:8px;flex:none;place-items:center;width:40px;height:40px;display:grid}.nav-toggle svg{width:18px;height:18px}.nav-toggle .nav-x,.nav.open .nav-toggle .nav-bars{display:none}.nav.open .nav-toggle .nav-x{display:block}.nav.open{background:var(--bg)}.nav.open .nav-links{background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;gap:0;max-height:calc(100vh - 64px);margin:0;padding:4px 32px 12px;display:flex;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 24px 40px -20px #000c}.nav.open .nav-links a{height:52px;color:var(--text);border-bottom:1px solid var(--line-soft);background:0 0;border-radius:0;justify-content:space-between;padding:0;font-size:16px;font-weight:600}.nav.open .nav-links a:last-child{border-bottom:0}.nav.open .nav-links svg{width:16px;height:16px;transform:rotate(-90deg)}}@media (width<=640px){.nav.open .nav-links{padding-left:20px;padding-right:20px}.nav .logo{align-items:center;min-height:40px;display:inline-flex}}.nav-item{position:relative}.nav-trig{height:34px;color:var(--text-soft);border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-size:14px;font-weight:500;display:inline-flex}.nav-trig:hover,.nav-trig[data-current],.nav-item.open>.nav-trig{color:var(--text);background:var(--panel)}.nav-trig svg{transition:transform .15s}.nav-item.open>.nav-trig svg{transform:rotate(180deg)}.nav-menu{z-index:25;padding-top:10px;display:none;position:absolute;top:100%;left:50%;transform:translate(-50%)}.nav-menu:before{content:"";background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;position:absolute;inset:10px 0 0;box-shadow:0 24px 48px -16px #000000bf}.nav-menu>*{position:relative}.nav-menu{gap:0}.nav-item.open>.nav-menu{display:flex}@media (hover:hover) and (width>=1101px){.nav-item:hover>.nav-menu,.nav-item:focus-within>.nav-menu{display:flex}}.nm-col{flex-direction:column;width:264px;padding:10px;display:flex}.nm-col.wide{width:380px}.nm-col+.nm-col{border-left:1px solid var(--line-soft);width:220px}.nm-col h6{letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin:8px 10px 6px;font-size:11px;font-weight:600;line-height:16px}.nm-col h6:not(:first-child){margin-top:16px}.nav-links .nm-link,.nav-links .nm-cap{height:auto;color:var(--text);background:0 0;border-radius:8px;gap:12px;padding:8px 10px;display:flex}.nav-links .nm-link{flex-direction:column;align-items:flex-start;gap:1px}.nav-links .nm-cap{align-items:center}.nav-links .nm-link:hover,.nav-links .nm-cap:hover{background:var(--panel-soft)}.nm-link b,.nm-t b{font-size:14px;font-weight:600;line-height:20px}.nm-link small,.nm-t small{color:var(--muted);font-size:12px;font-weight:500;line-height:18px;display:block}.nm-t{flex:1;min-width:0}.nm-g{border:1px solid var(--line);background:linear-gradient(180deg, #34312b, var(--panel-soft));border-radius:8px;flex:none;place-items:center;width:32px;height:32px;display:grid}.nav-links .nm-g svg{fill:none;width:17px;height:17px;stroke:var(--text-soft);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.nm-g svg .fill{fill:var(--text-soft);stroke:none}@media (width<=1100px){.nav.open .nav-item{border-bottom:1px solid var(--line-soft)}.nav.open .nav-trig{width:100%;height:52px;color:var(--text);background:0 0;border-radius:0;justify-content:space-between;padding:0;font-size:16px;font-weight:600}.nav.open .nav-links .nav-trig svg{width:16px;height:16px;transform:none}.nav.open .nav-links .nav-item.open>.nav-trig svg{transform:rotate(180deg)}.nav-menu{flex-direction:column;padding:0 0 10px;position:static;transform:none}.nav-menu:before{display:none}.nm-col,.nm-col.wide,.nm-col+.nm-col{border:0;width:auto;padding:0}.nav.open .nav-links .nm-link,.nav.open .nav-links .nm-cap{border:0;justify-content:flex-start;height:auto;min-height:44px;padding:6px 0;font-size:15px}.nav.open .nav-links .nm-link{justify-content:center}.nav.open .nav-links .nm-g svg{width:17px;height:17px;transform:none}.nm-col h6{margin-left:0}}.nm-g[data-p] svg .fill{fill:var(--h)}.nav-links .nm-g[data-p] svg{stroke:none}.nav-links .nm-g svg{width:20px;height:20px}.nav-links .nm-g[data-p] svg{fill:var(--h)}}@layer footer{.footer{border-top:1px solid var(--line);padding:36px 0 28px;font-size:13px}.footer-grid{grid-template-columns:1.5fr repeat(5,1fr);gap:24px;display:grid}.footer .logo img{width:auto;height:24px}.footer .tagline{color:var(--muted);max-width:26ch;margin-top:14px;line-height:20px}.footer .legal{color:var(--muted);margin-top:12px;font-size:12px;line-height:18px}.footer .legal b{color:var(--text-soft);font-weight:600}.footer h5{margin:0 0 8px;font-size:13px;font-weight:600}.footer ul{margin:0;padding:0;list-style:none}.footer li{color:var(--muted);line-height:28px}.footer li a:hover{color:var(--text)}.footer-base{border-top:1px solid var(--line-soft);color:var(--muted);align-items:center;gap:24px;margin-top:28px;padding-top:16px;font-size:12px;display:flex}.footer-base .arrow-link{font-size:12px;font-weight:500}@media (width<=1100px){.footer-grid{grid-template-columns:1fr 1fr 1fr}}.theme-seg{border:1px solid var(--line-soft);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.theme-seg button{height:24px;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 10px;font-size:12px;font-weight:500}.theme-seg button:hover{color:var(--text)}.theme-seg button[aria-checked=true]{background:var(--panel);color:var(--text)}@media (width<=900px){.footer-grid{gap:28px 24px}.footer-grid>div:first-child{grid-column:1/-1}.footer .tagline{max-width:none}.footer-base{flex-wrap:wrap;gap:6px 22px}.footer-base .grow{flex:0 0 100%;height:0}}@media (width<=640px){.footer-grid{grid-template-columns:1fr 1fr}.footer{padding-top:32px}.footer li a{padding:6px 0;display:block}.footer-base a{align-items:center;min-height:40px;display:inline-flex}.theme-seg button{height:40px;padding:0 12px}.footer .logo{align-items:center;min-height:40px;display:inline-flex}}}@layer components{.appwin{border:1px solid var(--line);background:var(--bg);border-radius:10px;margin-top:28px;font-size:13px;line-height:20px;position:relative;overflow:hidden;box-shadow:0 24px 60px -30px #000000b3}.appwin-bar{border-bottom:1px solid var(--line);background:var(--bg-soft);align-items:center;gap:12px;height:38px;padding:0 10px 0 14px;font-size:12px;display:flex}.lights{gap:6px;display:flex}.lights i{border:1px solid var(--line-strong);border-radius:50%;width:9px;height:9px}.appwin-url{color:var(--muted);margin-left:6px;font-weight:600}.dashui{grid-template-columns:176px minmax(0,1fr);display:grid}.dash-side{border-right:1px solid var(--line);flex-direction:column;gap:2px;padding:14px 10px 12px;display:flex}.dash-logo{width:24px;height:19px;fill:var(--text);margin:2px 0 14px 8px}.dash-nav{height:34px;color:var(--text-soft);border-radius:8px;align-items:center;gap:12px;padding:0 10px;font-weight:600;display:flex}.dash-nav svg{color:var(--muted)}.dash-nav.on{background:var(--panel-soft);color:var(--text)}.dash-nav.on svg{color:var(--text)}.dash-sep{border-top:1px solid var(--line);margin:8px 0}.dash-main{min-width:0}.dash-top{border-bottom:1px solid var(--line);align-items:center;gap:10px;height:48px;padding:0 14px 0 18px;display:flex}.dash-scope{align-items:center;gap:8px;margin-left:6px;font-weight:600;display:inline-flex}.dash-scope b{background:var(--panel-soft);width:20px;height:20px;color:var(--muted);border-radius:5px;place-items:center;font-size:10px;font-weight:700;display:grid}.dash-scope svg{width:12px;height:12px;color:var(--dim)}.dash-caret{color:var(--dim)}.dash-crumb{font-size:14px;font-weight:600}.dash-search{border:1px solid var(--line);width:216px;height:30px;color:var(--muted);border-radius:8px;align-items:center;gap:8px;padding:0 6px 0 10px;font-size:12px;display:inline-flex}.dash-search svg{width:14px;height:14px}.dash-search kbd{font:600 10px/16px var(--font);background:var(--panel-soft);color:var(--muted);border-radius:4px;margin-left:auto;padding:0 5px}.dash-avatar{border:1px solid var(--line);width:30px;height:30px;color:var(--text-soft);border-radius:8px;place-items:center;font-size:11px;font-weight:600;display:grid}.dash-body{padding:16px 20px 20px}.dash-h{letter-spacing:-.02em;margin-bottom:12px;font-size:20px;font-weight:500;line-height:28px}.dash-panel{border:1px solid var(--line);background:var(--bg-soft);border-radius:8px;overflow:hidden}.dash-panel .metrics{border-bottom:1px solid var(--line);padding:4px 0}.dash-panel .metric{padding:10px 20px}.dash-panel .metric .sub{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dash-cols{grid-template-columns:minmax(0,1fr) 316px;display:grid}.dash-chart{min-width:0;padding:16px 20px 0}.dash-break{border-left:1px solid var(--line);padding:16px 20px}.dash-chead{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dash-title{font-size:15px;font-weight:600;line-height:22px}.dash-total{letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin-top:2px;font-size:22px;font-weight:500;line-height:30px}.dash-total span{letter-spacing:0;color:var(--muted);margin-left:8px;font-size:12px;font-weight:500}.dash-cap{color:var(--muted);font-size:12px;line-height:18px}.dash-range{border:1px solid var(--line);color:var(--muted);border-radius:9px;gap:2px;padding:3px;font-size:12px;font-weight:600;display:inline-flex}.dash-range>*{border-radius:6px;place-items:center;min-width:36px;height:24px;padding:0 8px;display:grid}.dash-range b{background:var(--panel-soft);color:var(--text);font-weight:600}.dash-plot{height:186px;margin:10px 4px 0 52px;position:relative}.dash-grid i{border-top:1px solid var(--line-soft);position:absolute;left:0;right:0}.dash-grid span{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;padding-right:10px;font-size:11px;font-style:normal;position:absolute;top:0;right:100%;transform:translateY(-50%)}.dash-svg{width:100%;height:100%;animation:1.5s cubic-bezier(.45,.05,.25,1) .25s both dash-draw;position:absolute;inset:0;overflow:visible}.dash-line{fill:none;stroke:var(--text);stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round}.dash-point{background:var(--text);border-radius:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;animation:.3s ease-out 1.7s both dash-pop;position:absolute}.dash-point:after{content:"";border:1px solid var(--text);opacity:0;border-radius:50%;animation:2.8s ease-out 2s infinite dash-ping;position:absolute;inset:-5px}.dash-axis{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;margin:8px 4px 0 52px;font-size:11px;line-height:16px;display:flex}.dash-foot{border-top:1px solid var(--line);justify-content:space-between;margin-top:12px;padding:11px 0 12px;display:flex}.dash-foot .arrow-link{font-size:12px;font-weight:500}.dash-break .eyebrow{margin-top:14px}.dash-break .bar{border:0;padding:8px 0 0}.dash-break .bar .track{margin-top:6px}.dash-break .bar .track i{transform-origin:0;animation:.9s cubic-bezier(.2,.7,.2,1) .5s both dash-grow}.geo{margin-top:4px}.geo>div{border-top:1px solid var(--line-soft);grid-template-columns:26px minmax(0,1fr) 40px 46px 30px;align-items:center;gap:8px;height:29px;font-size:12px;display:grid}.geo>div:first-child{border-top:0}.geo b{background:var(--panel-soft);height:18px;color:var(--muted);border-radius:4px;place-items:center;font-size:10px;font-weight:700;display:grid}.geo span{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.geo i{background:var(--panel-soft);border-radius:2px;height:3px;overflow:hidden}.geo u{background:var(--dim);border-radius:2px;height:100%;display:block}.geo em{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;font-style:normal}@keyframes dash-draw{0%{clip-path:inset(-10px 100% -10px 0)}to{clip-path:inset(-10px -10px -10px 0)}}@keyframes dash-pop{0%{opacity:0;transform:scale(.3)}}@keyframes dash-ping{0%{opacity:.55;transform:scale(.4)}60%,to{opacity:0;transform:scale(1.5)}}@keyframes dash-grow{0%{transform:scaleX(0)}}.rail{border-bottom:1px solid var(--line);margin:28px 0 0;padding:0;list-style:none}.rail li{border-top:1px solid var(--line)}.rail-head{text-align:left;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;min-height:46px;display:grid}.mark{border:1px solid var(--line-strong);width:22px;height:22px;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid}.rail-title{color:var(--text-soft);font-size:14px;font-weight:600}.rail-hint{color:var(--dim);font-size:12px}.rail li.active .mark{background:var(--text);border-color:var(--text);color:var(--bg)}.rail li.active .rail-title,.rail-head:hover .rail-title{color:var(--text)}.rail-body{color:var(--text-soft);padding:0 0 14px 36px;font-size:13px;line-height:20px}.rail li:not(.active) .rail-body{display:none}.rail-foot{margin-top:14px}.bench{border:1px solid var(--line);background:var(--bg-soft);border-radius:8px;flex-direction:column;height:684px;font-size:13px;line-height:20px;display:flex;overflow:hidden}.bench-head{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:10px;height:48px;padding:0 10px 0 12px;display:flex}.bench-title{padding-left:4px;font-weight:600}.tabs{align-items:center;gap:2px;display:flex}.tab{height:28px;color:var(--muted);border-radius:6px;padding:0 10px;font-size:13px;font-weight:600}.tab:hover{color:var(--text);background:var(--panel-soft)}.tab[aria-selected=true]{background:var(--text);color:var(--bg)}.ctx{border-bottom:1px solid var(--line-soft);min-height:36px;color:var(--muted);flex:none;align-items:center;gap:10px;padding:0 16px;font-size:12px;display:flex}.ctx .method{color:var(--text);background:var(--panel-soft);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700}.ctx .url{color:var(--text-soft);font-weight:600}.code{flex:1;min-height:0;padding:10px 0;font-size:13px;line-height:22px;overflow:auto}.ln{border-left:2px solid #0000;grid-template-columns:46px minmax(0,1fr);padding-right:16px;display:grid}.ln .no{text-align:right;color:var(--faint);font-variant-numeric:tabular-nums;user-select:none;padding-right:14px;font-size:12px}.ln .tx{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-soft);min-height:22px}.ln .ind{display:inline-block}.ln .s{color:var(--muted)}.ln .c{color:#7f796e}.ln.dim .tx,.ln.dim .tx .s{color:var(--faint)}.ln.hl{border-left-color:var(--text);background:#f6f3ed0e}.code .v{padding-top:0;padding-bottom:0}.legend{border-top:1px solid var(--line-soft);min-height:38px;color:var(--muted);flex-wrap:wrap;flex:none;align-items:center;gap:4px 18px;padding:6px 16px;font-size:12px;display:flex}.legend .item{align-items:center;gap:7px;display:inline-flex}.conn{border-top:1px solid var(--line);background:var(--bg);flex:none;padding:12px 16px 14px}.conn-head{align-items:center;gap:10px;height:24px;margin-bottom:8px;font-weight:600;display:flex}.conn-grid{grid-template-columns:1fr 1fr 1.3fr;display:grid}.cell{border-left:1px solid var(--line-soft);min-width:0;padding:0 16px}.cell:first-child{border-left:0;padding-left:0}.cell .lbl{color:var(--muted);font-size:12px}.cell .valr{white-space:nowrap;align-items:center;gap:8px;margin-top:2px;font-weight:600;display:flex}.cell .sub{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.observe-view{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.checks{margin:0;padding:0 20px;list-style:none}.checks li{border-bottom:1px solid var(--line-soft);grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;display:grid}.checks .dot{justify-self:center}.checks .t{font-size:14px;font-weight:600}.checks .d{color:var(--muted);font-size:12px}.checks .r{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.checks .r small{color:var(--muted);font-size:12px;font-weight:500;display:block}.pane{flex-direction:column;flex:1;min-height:0;display:flex}.pane-fill{flex:1;min-height:0;overflow:auto}.pane-note{border-top:1px solid var(--line-soft);color:var(--muted);flex:none;padding:12px 16px 14px;font-size:12px;line-height:18px}.table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);vertical-align:middle;height:34px;padding:0 12px 0 0;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--line-soft);vertical-align:top;padding:10px 12px 10px 0}.table td:first-child{color:var(--text);font-weight:600}.rows{border-top:1px solid var(--line)}.row{border-radius:6px;align-items:center;gap:20px;margin:0 -8px;padding:13px 8px;display:grid;position:relative}.row:after{content:"";border-bottom:1px solid var(--line-soft);position:absolute;bottom:0;left:8px;right:8px}.row:hover{background:var(--panel)}.row .date{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.row .title{color:var(--text);font-size:15px;font-weight:600;line-height:22px}.row .desc{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;line-height:20px;overflow:hidden}.row>svg{color:var(--dim)}.row:hover>svg{color:var(--text)}.featured-on{border-top:1px solid var(--line)}.featured-on .wrap{height:52px;color:var(--muted);white-space:nowrap;align-items:center;gap:32px;font-size:13px;display:flex;overflow:hidden}.featured-on b{color:var(--text-soft);font-weight:600}.featured-on.under-dash{color:var(--muted);border-top:0;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 32px;margin-top:18px;font-size:13px;display:flex}.featured-on .has-logo{color:var(--text-soft);align-items:center;gap:8px;display:inline-flex}.featured-on img{object-fit:contain;width:20px;height:20px;box-shadow:0 0 0 1px var(--line);border-radius:5px}.flow{grid-template-columns:1fr 104px 1fr 104px 1fr;display:grid}.flow .node{padding:16px}.flow .node h3{margin:0;font-size:14px;font-weight:600}.flow .node .sub{color:var(--muted);margin-bottom:10px;font-size:12px}.flow .node .tags{gap:5px}.flow .link{border-left:1px solid var(--line-soft);border-right:1px solid var(--line-soft);flex-direction:column;justify-content:center;gap:10px;padding:0 8px;display:flex}.flow .hop{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:4px;font-size:11px;font-weight:600;display:flex}.flow .hop i{border-top:1px dashed var(--line-strong);width:100%;display:block;position:relative}.flow .hop i:after{content:"";border-top:1px solid var(--muted);border-right:1px solid var(--muted);width:6px;height:6px;position:absolute;top:-4px}.flow .hop.fwd i:after{right:0;transform:rotate(45deg)}.flow .hop.back i:after{left:0;transform:rotate(-135deg)}.eco-grid{grid-template-columns:1fr 1fr;gap:24px;padding:16px;display:grid}.eco-label{margin-bottom:8px;font-size:12px}.metrics{grid-template-columns:repeat(4,1fr);display:grid}.metric{border-left:1px solid var(--line-soft);padding:14px 16px}.metric:first-child{border-left:0}.metric .lbl{color:var(--muted);font-size:12px}.metric .num{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:500;line-height:32px}.metric .sub{color:var(--muted);font-size:12px}.bars{border-top:1px solid var(--line-soft);grid-template-columns:repeat(3,1fr);display:grid}.bar{border-left:1px solid var(--line-soft);padding:12px 16px}.bar:first-child{border-left:0}.bar .top{justify-content:space-between;font-size:13px;font-weight:600;display:flex}.bar .top span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.bar .track{background:var(--panel-soft);border-radius:2px;height:3px;margin-top:8px;overflow:hidden}.bar .track i{border-radius:2px;height:100%;display:block}.plans{grid-template-columns:repeat(4,1fr);display:grid}.plan{border-left:1px solid var(--line);flex-direction:column;min-height:248px;padding:20px;display:flex}.plan:first-child{border-left:0}.plan h3{margin:0;font-size:16px;font-weight:600}.plan .what{color:var(--muted);min-height:40px;margin-top:4px;font-size:13px;line-height:20px}.plan .price{letter-spacing:-.03em;margin-top:16px;font-size:28px;font-weight:500;line-height:36px}.plan .terms{min-height:22px;color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:6px;font-size:12px;display:flex}.plan .btn{justify-content:space-between;margin-top:auto}@media (width<=1100px){.dashui,.dash-cols{grid-template-columns:1fr}.dash-side,.dash-search{display:none}.dash-break{border-left:0;border-top:1px solid var(--line)}.plans,.metrics{grid-template-columns:1fr 1fr}.flow{grid-template-columns:1fr}.plan,.metric{border-left:0}.plan:nth-child(2n),.metric:nth-child(2n){border-left:1px solid var(--line)}.metric:nth-child(2n){border-left-color:var(--line-soft)}.plan:nth-child(n+3){border-top:1px solid var(--line)}.dash-panel .metrics{padding:0}.dash-panel .metric:nth-child(n+3){border-top:1px solid var(--line-soft)}.flow .link{border:0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);flex-direction:row;justify-content:center;gap:28px;padding:8px 16px}.flow .hop{flex-direction:row;gap:10px}.flow .hop i{border-top:0;border-left:1px dashed var(--line-strong);width:0;height:26px}.flow .hop.fwd{flex-direction:row-reverse}.flow .hop.fwd i:after{inset:auto auto 1px -4px;transform:rotate(135deg)}.flow .hop.back i:after{top:1px;left:-4px;transform:rotate(-45deg)}.featured-on .wrap{white-space:normal;flex-wrap:wrap;gap:6px 24px;height:auto;padding-top:14px;padding-bottom:14px}}@media (width<=640px){.tab{white-space:nowrap;flex:none;height:40px;padding:0 12px}.dash-foot .arrow-link,.appwin .arrow-link{min-height:0}.appwin{margin-top:24px}.appwin-bar{gap:8px;padding:0 10px 0 12px}.appwin-bar .quiet,.appwin-url{display:none}.appwin-bar .tag{text-overflow:ellipsis;min-width:0;line-height:22px;display:block;overflow:hidden}.dash-top{gap:8px;padding:0 12px}.dash-scope{margin-left:2px}.dash-crumb{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.dash-scope,.dash-top>svg,.dash-avatar{flex:none}.dash-body{padding:14px 12px 12px}.dash-panel .metric{padding:10px 14px}.dash-panel .metric .sub{white-space:normal}.metric .num{font-size:22px;line-height:30px}.dash-chart{padding:14px 14px 0}.dash-break{padding:14px}.dash-total span{margin-left:0;line-height:18px;display:block}.dash-plot{height:168px;margin-left:46px}.dash-axis{margin-left:46px}.dash-axis span:nth-child(2){display:none}.bench{height:auto}.bench-head{flex-wrap:wrap;gap:4px 6px;height:auto;min-height:52px;padding:6px 6px 6px 10px}.bench-head .tabs{scrollbar-width:none;min-width:0;overflow-x:auto}.bench-head .tabs::-webkit-scrollbar{display:none}.bench-head .grow{flex:1 0 0;min-width:0}.ctx{flex-wrap:wrap;gap:2px 10px;padding:8px 14px;line-height:18px}.ctx .grow{display:none}.ctx .url{overflow-wrap:anywhere}.code{-webkit-overflow-scrolling:touch;flex:none;max-height:372px}.ln{grid-template-columns:36px max-content;width:max-content;min-width:100%}.ln .no{padding-right:12px}.ln .tx{white-space:pre;overflow-wrap:normal}.legend{gap:6px 16px;padding:8px 14px}.conn{padding:10px 14px 6px}.conn-grid{grid-template-columns:1fr}.cell,.cell:first-child{border-left:0;border-top:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;min-height:36px;padding:6px 0;display:grid}.cell .valr{justify-content:flex-end;margin-top:0}.cell .sub{text-align:right;grid-column:2}.observe-view{overflow:visible}.checks{padding:0 14px}.checks li{gap:10px;padding:9px 0}.checks .r{max-width:104px}.rail-head{gap:12px;min-height:52px}.rail-hint{text-align:right}.pane-fill{overflow:visible}.pane-note{padding:12px 14px 14px}.plans{grid-template-columns:1fr}.plan,.plan:nth-child(2n){border-left:0;min-height:0;padding:18px 16px}.plan+.plan{border-top:1px solid var(--line)}.plan .what{min-height:0}.plan .terms{min-height:0;margin-bottom:16px}.plan .terms:empty{margin-top:0}.eco-grid{grid-template-columns:1fr;gap:16px}}.pbadge{--h:var(--text);letter-spacing:-.02em;text-transform:none;white-space:nowrap;vertical-align:.06em;color:var(--text);background:linear-gradient(180deg, #34312b, var(--panel-soft));border:1px solid var(--line);border-radius:.38em;align-items:center;gap:.34em;margin:0 .1em;padding:.2em .55em .22em .42em;font-size:.8em;font-weight:600;line-height:1.15;display:inline-flex;box-shadow:inset 0 1px #ffffff1a,0 .12em #0c0b0a}.pbadge svg{fill:none;width:1.05em;height:1.05em;stroke:var(--h);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none}.pbadge svg .fill{fill:var(--h);stroke:none}.hero-badge{margin:4px 0 10px;font-size:25px;line-height:1}.hero-badge .pbadge{margin:0}.fit-name .pbadge{margin:0;font-size:14px}.hero-badge{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hero-status{gap:6px;font-size:12px;display:inline-flex}.mark{box-sizing:border-box;text-box:trim-both cap alphabetic;flex:none;line-height:1}.pbadge svg{stroke:none;width:1.12em;height:1.12em;fill:var(--h)}}@layer pages{.page-head{padding:40px 0 0}.page-head .crumb{align-items:center;gap:14px;margin-bottom:16px;display:flex}.page-head .back{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.page-head .back:hover{color:var(--text)}.page-head .back svg{width:14px;height:14px}.page-head .lede{max-width:60ch;margin-top:14px}.head-grid{grid-template-columns:minmax(0,1fr) 372px;align-items:end;gap:56px;display:grid}.head-art{border:1px solid var(--line);aspect-ratio:16/9;background:#0e0d0c;border-radius:8px;overflow:hidden}.head-art img{object-fit:cover;width:100%;height:100%}.meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:18px;font-size:12px;display:flex}.meta b{color:var(--text-soft);font-weight:600}.subnav{border-bottom:1px solid var(--line);align-items:center;gap:2px;margin-top:28px;padding-bottom:12px;display:flex}.subnav a{height:30px;color:var(--muted);border-radius:7px;align-items:center;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.subnav a:hover{color:var(--text);background:var(--panel)}.subnav a[aria-current=page]{background:var(--text);color:var(--bg)}.filter{border:1px solid var(--line);width:260px;height:32px;color:var(--muted);border-radius:8px;align-items:center;gap:8px;margin-left:auto;padding:0 10px;display:flex}.filter input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:13px}.filter input::placeholder{color:var(--dim)}.filter svg{width:14px;height:14px}.article-grid{border-top:1px solid var(--line);grid-template-columns:212px minmax(0,640px) 200px;justify-content:space-between;align-items:start;gap:40px;margin-top:28px;padding:36px 0 64px;display:grid}.sticky{position:sticky;top:88px}.toc-title{color:var(--muted);margin-bottom:4px;font-size:12px;font-weight:600}.toc{border-bottom:1px solid var(--line-soft);margin:0;padding:0;list-style:none}.toc li{border-top:1px solid var(--line-soft)}.toc a{color:var(--muted);grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;padding:8px 0;font-size:13px;font-weight:500;line-height:20px;display:grid}.toc a .mark{width:20px;height:20px;font-size:10px}.toc a:hover{color:var(--text)}.toc a.active{color:var(--text);font-weight:600}.toc a.active .mark{background:var(--text);border-color:var(--text);color:var(--bg)}.toc a.later{opacity:.55}.prose{color:var(--text-soft);font-size:16px;line-height:27px}.prose>*+*{margin-top:16px}.prose h2{letter-spacing:-.03em;color:var(--text);border-top:1px solid var(--line-soft);margin:40px 0 0;padding-top:28px;font-size:24px;font-weight:550;line-height:30px}.prose h2:first-child,.prose .key+h2{border-top:0;margin-top:20px;padding-top:0}.prose h2:first-child{margin-top:0}.prose h3{color:var(--text);margin:26px 0 0;font-size:17px;font-weight:600;line-height:24px}.prose .v{font-size:.92em}.prose .table{font-size:13px;line-height:20px}.key{color:var(--muted);border-bottom:1px solid var(--line-soft);flex-wrap:wrap;gap:6px 16px;padding-bottom:14px;font-size:12px;line-height:20px;display:flex}.key span.item{align-items:center;gap:7px;display:inline-flex}.aside-block+.aside-block{border-top:1px solid var(--line-soft);margin-top:22px;padding-top:18px}.aside-block h4{margin:0 0 8px;font-size:13px;font-weight:600}.aside-block p,.aside-block li{color:var(--muted);font-size:13px;line-height:20px}.aside-block ol{counter-reset:q;margin:0;padding:0;list-style:none}.aside-block ol li{counter-increment:q;border-top:1px solid var(--line-soft);color:var(--text-soft);grid-template-columns:22px 1fr;gap:8px;padding:7px 0;display:grid}.aside-block ol li:before{content:counter(q);color:var(--dim);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700;line-height:20px}.aside-block .links a{border-top:1px solid var(--line-soft);color:var(--text-soft);padding:7px 0;font-size:13px;font-weight:600;line-height:20px;display:block}.aside-block .links a:hover{color:var(--text)}.notes .row{grid-template-columns:28px 232px minmax(0,1fr) 16px;align-items:center;gap:24px;padding:18px 8px}.notes .thumb{border:1px solid var(--line);aspect-ratio:16/9;background:#0e0d0c;border-radius:6px;overflow:hidden}.notes .thumb img{object-fit:cover;width:100%;height:100%}.notes .n{color:var(--dim);font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.notes .title{letter-spacing:-.03em;margin-top:8px;font-size:22px;font-weight:550;line-height:28px}.notes .desc{white-space:normal;max-width:70ch;margin-top:6px;font-size:14px;line-height:22px}@media (width<=1100px){.head-grid,.article-grid{grid-template-columns:1fr}.head-grid{gap:24px}.sticky{position:static}.article-grid{gap:28px}.article-grid>.prose{max-width:680px}}@media (width<=900px){.subnav{scrollbar-width:none;grid-template-rows:auto;grid-auto-columns:max-content;grid-auto-flow:column;justify-content:start;gap:2px;margin-right:-32px;padding-right:32px;display:grid;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 32px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 32px),#0000)}.subnav::-webkit-scrollbar{display:none}.subnav a{grid-row:1;height:40px}.subnav .grow{display:none}.subnav>.quiet{grid-row:1;align-self:center;margin-left:12px}.subnav .filter{grid-area:2/1/auto/span 5;justify-self:start;width:calc(100vw - 64px);height:40px;margin:8px 0 0;position:sticky;left:0}.notes .row{grid-template-columns:28px minmax(0,1fr);align-items:start;gap:12px;padding:20px 8px}.notes .row>span:last-of-type{grid-column:1/-1}.notes .row>svg{display:none}.notes .n{padding-top:2px}}@media (width<=640px){.page-head{padding-top:28px}#articles .row{gap:6px 12px;padding:14px 8px;grid-template-columns:auto minmax(0,1fr)!important}#articles .row>span:nth-child(3){grid-column:1/-1}#articles .row>span:nth-child(2){min-width:0;overflow:hidden}#articles .row>svg{display:none}#articles .row .desc{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;display:-webkit-box!important}main>section.wrap{padding-left:20px!important;padding-right:20px!important}.subnav{margin-right:-20px;padding-right:20px}.subnav .filter{width:calc(100vw - 40px)}.page-head .crumb{flex-wrap:wrap;gap:6px 14px}.page-head .back{min-height:40px}.article-grid{gap:26px;margin-top:24px;padding:24px 0 44px}.article-grid>nav{border:1px solid var(--line);background:var(--bg-soft);border-radius:8px;padding:12px 14px 4px}.toc{border-bottom:0}.toc a{padding:10px 0}.prose h2{margin-top:32px;padding-top:24px;font-size:22px;line-height:28px}.article-grid>aside{border-top:1px solid var(--line);padding-top:22px}.aside-block .links a{padding:10px 0}}}
