@font-face{font-family:Geist;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_astro/geist-latin.BgDaEnEv.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/_astro/geist-mono-latin.XN7g48iV.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial),local(Liberation Sans),local(Helvetica);size-adjust:105.8%;ascent-override:95%;descent-override:27.9%;line-gap-override:0%}@font-face{font-family:Geist Mono Fallback;src:local(Courier New),local(Liberation Mono),local(Courier);size-adjust:100%;ascent-override:100.5%;descent-override:29.5%;line-gap-override:0%}:root{--bg:#fff;--s1:#f6f6f5;--s2:#edecea;--rule:#e7e5e2;--rule2:#d4d1cc;--tx:#0f0f0e;--tx2:#4f4c47;--tx3:#6b6761;--amb:#e58a0e;--amb-tx:#8a5000;--amb-bg:#fcf0dd;--ax:#c2483c;--ay:#3f8a4a;--az:#3366b0;--sans:"Geist", "Geist Fallback", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono", "Geist Mono Fallback", ui-monospace, Menlo, Consolas, monospace;--ease:cubic-bezier(.2, 0, 0, 1);color-scheme:light}.dk{--bg:#0b0b0b;--s1:#121212;--s2:#1b1b1b;--rule:#262626;--rule2:#3a3a3a;--tx:#f3f2ef;--tx2:#b4b1ab;--tx3:#8f8c86;--amb:#f0a43a;--amb-tx:#f3b25a;--amb-bg:#f0a43a1f;--ax:#d0675c;--ay:#7db178;--az:#6e98d0;color:var(--tx);color-scheme:dark;background:#0b0b0b}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}body{background:var(--bg);color:var(--tx);font-family:var(--sans);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0;font-size:16px;line-height:1.6;position:relative;overflow-x:clip}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--tx);outline-offset:3px;border-radius:6px}img{max-width:100%;height:auto;display:block}.skip{z-index:100;background:var(--tx);color:var(--bg);border-radius:999px;padding:10px 16px;font-size:14px;font-weight:500;position:absolute;top:-60px;left:16px}.skip:focus{top:12px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wrap{max-width:1200px;margin:0 auto;padding:0 32px}.mono{font-family:var(--mono);font-size:12px}.t2{color:var(--tx2)}.t3{color:var(--tx3)}.amb{color:var(--amb-tx)}.nav{z-index:30;background:var(--bg);border-bottom:1px solid var(--rule);position:sticky;top:0}.nav-in{grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;height:68px;display:grid}.brand{color:var(--tx);justify-self:start;align-items:center;gap:11px;display:inline-flex}.brand-name{font-family:var(--sans);letter-spacing:.02em;font-size:18px;font-weight:600;line-height:1}.brand .mark{flex:none;width:22px;height:22px;display:block}.nav-links{align-items:center;gap:2px;display:flex}.nl{color:var(--tx2);white-space:nowrap;border-radius:999px;align-items:center;height:40px;padding:0 14px;font-size:14px;font-weight:450;transition:color .12s linear,background .12s linear;display:inline-flex}.nl:hover,.nl[aria-current=page]{color:var(--tx);background:var(--s1)}.nav-r{justify-self:end;align-items:center;gap:10px;display:flex}.btn{height:46px;font-family:var(--sans);letter-spacing:-.005em;border:1px solid var(--rule2);color:var(--tx);background:var(--bg);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:15px;font-weight:500;transition:background .14s linear,border-color .14s linear,color .14s linear;display:inline-flex}.btn:hover{border-color:var(--tx)}.btn-p{background:var(--tx);color:var(--bg);border-color:var(--tx)}.btn-p:hover{background:var(--tx2);border-color:var(--tx2)}.btn-sm{height:38px;padding:0 16px;font-size:14px}.btn .ar{transition:transform .2s var(--ease);display:inline-block}.btn:hover .ar{transform:translate(3px)}.dk .btn{background:0 0}.dk .btn-p{color:#0b0b0b;background:#f3f2ef;border-color:#f3f2ef}.dk .btn-p:hover{background:#d9d7d2;border-color:#d9d7d2}.eyebrow{border:1px solid var(--rule);height:32px;color:var(--tx2);background:var(--bg);border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:13px;display:inline-flex}.eyebrow i{background:var(--amb);border-radius:50%;width:6px;height:6px;display:block}.h1{font-family:var(--sans);letter-spacing:-.045em;margin:0;font-size:76px;font-weight:500;line-height:1}.h2{font-family:var(--sans);letter-spacing:-.035em;margin:0;font-size:46px;font-weight:500;line-height:1.06}.h3{font-family:var(--sans);letter-spacing:-.02em;margin:0;font-size:24px;font-weight:500;line-height:1.2}.lead{color:var(--tx2);max-width:56ch;margin:0;font-size:19px;line-height:1.55}.lbl{font-family:var(--mono);color:var(--tx3);letter-spacing:.01em;font-size:12px}.sec{padding:128px 0}.sec-flush{padding-top:0}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:56px;display:flex}.sec-head>div{max-width:640px}.sec-head .h2{margin-top:16px}.sec-head p{color:var(--tx2);margin:16px 0 0;font-size:17px}.st{background:var(--s2);height:26px;color:var(--tx2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.st-live{background:var(--amb-bg);color:var(--amb-tx)}.st-dot{background:var(--amb);border-radius:50%;width:6px;height:6px}.tags{flex-wrap:wrap;gap:6px;display:flex}.tag{border:1px solid var(--rule);height:26px;color:var(--tx2);white-space:nowrap;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;display:inline-flex}.card{background:var(--s1);border-radius:24px;position:relative}.pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.pcard{background:var(--s1);border:1px solid #0000;border-radius:24px;flex-direction:column;padding:8px;transition:border-color .16s linear;display:flex}.pcard:hover{border-color:var(--rule2)}.pcard.wide{flex-direction:row;grid-column:1/-1}.pvis{background:var(--bg);aspect-ratio:16/9;border:1px solid var(--rule);border-radius:18px;position:relative;overflow:hidden}.pcard.wide .pvis{aspect-ratio:auto;flex:55%;min-height:300px}.pvis svg{width:100%;height:100%;position:absolute;inset:0}.pbody{flex-direction:column;flex:1;gap:14px;padding:24px 22px 22px;display:flex}.pcard.wide .pbody{flex:45%;padding:36px 36px 30px}.ptop{justify-content:space-between;align-items:center;gap:12px;display:flex}.pname{letter-spacing:-.025em;margin:0;font-size:26px;font-weight:500;line-height:1.15}.pdesc{color:var(--tx2);max-width:52ch;margin:0;font-size:15px}.pfoot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:8px;display:flex}.plink{align-items:center;gap:6px;font-size:14px;font-weight:500;display:inline-flex}.plink .ar{transition:transform .2s var(--ease)}.pcard:hover .plink .ar{transform:translate(3px)}.tk{opacity:0;width:14px;height:14px;transition:transform .3s var(--ease), opacity .16s linear;pointer-events:none;z-index:2;position:absolute}.tk.tl{border-left:1.5px solid var(--tx);border-top:1.5px solid var(--tx);top:12px;left:12px;transform:translate(10px,10px)}.tk.tr{border-right:1.5px solid var(--tx);border-top:1.5px solid var(--tx);top:12px;right:12px;transform:translate(-10px,10px)}.tk.bl{border-left:1.5px solid var(--tx);border-bottom:1.5px solid var(--tx);bottom:12px;left:12px;transform:translate(10px,-10px)}.tk.br{border-right:1.5px solid var(--tx);border-bottom:1.5px solid var(--tx);bottom:12px;right:12px;transform:translate(-10px,-10px)}.hb:hover .tk,.hb:focus-visible .tk{opacity:1;transform:none}.scan{background:var(--amb);opacity:0;pointer-events:none;z-index:2;width:1px;position:absolute;top:0;bottom:0;left:0;transform:translate(0)}.hb:hover .scan{opacity:.9;transform:translateX(var(--scanw,600px));transition:transform 1.1s var(--ease), opacity .2s linear}.pcard.wide .scan{--scanw:640px}.rlist{border:1px solid var(--rule);background:var(--bg);border-radius:24px;overflow:hidden}.rrow{border-bottom:1px solid var(--rule);grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:32px;padding:26px 28px;transition:background .12s linear;display:grid}.rrow:last-child{border-bottom:0}.rrow:hover{background:var(--s1)}.r-date{font-family:var(--mono);color:var(--tx3);font-size:13px}.r-title{letter-spacing:-.015em;margin:0;font-size:19px;font-weight:500;line-height:1.3}.r-meta{color:var(--tx3);margin-top:4px;font-size:14px}.r-links{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.lnk{border:1px solid var(--rule);height:32px;font-family:var(--sans);color:var(--tx);background:var(--bg);cursor:pointer;border-radius:999px;align-items:center;padding:0 12px;font-size:13px;font-weight:500;transition:border-color .1s linear;display:inline-flex}.lnk:hover{border-color:var(--tx)}.logg{grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:64px;display:grid}.logg .h2{margin-top:16px}.logg-intro{color:var(--tx2);margin:16px 0 0;font-size:17px}.logg-intro a{text-underline-offset:3px;text-decoration:underline}.loglist{margin:0;padding:0;list-style:none}.logrow{border-bottom:1px solid var(--rule);grid-template-columns:130px minmax(0,1fr);gap:24px;padding:22px 0;display:grid}.logrow:first-child{border-top:1px solid var(--rule)}.logrow .r-date{padding-top:3px}.log-t{letter-spacing:-.01em;font-size:16px;font-weight:500}.log-t a:hover{text-underline-offset:3px;text-decoration:underline}.log-x{color:var(--tx2);margin-top:2px;font-size:15px}.spec{margin:0}.spec-r{border-bottom:1px solid var(--rule);grid-template-columns:180px minmax(0,1fr);gap:24px;padding:16px 0;display:grid}.spec-r:last-child{border-bottom:0}.spec-r dt{color:var(--tx3);font-size:14px}.spec-r dd{color:var(--tx);overflow-wrap:anywhere;margin:0;font-size:15px;font-weight:450}.spec-r dd a{text-decoration:underline;text-decoration-color:var(--rule2);text-underline-offset:3px}.spec-r dd a:hover{text-decoration-color:var(--tx)}.spec.cap-spec .spec-r dt{font-family:var(--mono);padding-top:2px;font-size:12px}.fig{margin:0}.panel{background:var(--bg);border:1px solid var(--rule);border-radius:18px;position:relative}.cap{color:var(--tx3);gap:12px;margin-top:12px;font-size:13px;display:flex}.cap b{font-family:var(--mono);color:var(--tx3);white-space:nowrap;font-size:12px;font-weight:400}.cap-c{justify-content:center}.can{border:1px solid var(--rule2);border-radius:10px;display:flex;overflow:hidden}.can-f{border-right:1px solid var(--rule2);flex-direction:column;flex-shrink:1;flex-basis:0;gap:4px;min-width:0;padding:10px 6px 9px;display:flex}.can-f:last-child{border-right:0}.can-f b{font-family:var(--mono);color:var(--tx);white-space:nowrap;font-size:10px;font-weight:500;overflow:hidden}.can-f i{font-family:var(--mono);color:var(--tx3);font-size:10px;font-style:normal}.can-f.hl{background:var(--amb-bg)}.can-f.hl b{color:var(--amb-tx)}.g16{flex-grow:1.6}.g36{flex-grow:3.6}.g63{flex-grow:6.3}.g99{flex-grow:9.9}.g135{flex-grow:13.5}.g180{flex-grow:18}.hero{text-align:center;flex-direction:column;align-items:center;padding:96px 0 40px;display:flex}.hero .h1{margin:28px 0 24px}.hero .lead{text-align:center;margin:0 auto 36px}.lm{margin-bottom:-.08em;padding-bottom:.08em;display:block;overflow:hidden}.lm>span{display:block}.acts{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.hero-fig{padding-bottom:24px}.stage{border-radius:28px;position:relative;overflow:hidden}.viz{aspect-ratio:1000/560;cursor:crosshair;position:relative}.viz svg.sc{width:100%;height:100%;position:absolute;inset:0}.ro{font-family:var(--mono);color:var(--tx3);pointer-events:none;white-space:nowrap;font-size:11px;line-height:1.6;position:absolute}.ro-tr{text-align:right;top:22px;right:22px}.chiprow{flex-wrap:wrap;gap:6px;display:flex;position:absolute;top:18px;left:20px}.chip-d{border:1px solid var(--rule);height:28px;font-family:var(--mono);color:var(--tx2);background:#ffffff0f;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:11px;display:inline-flex}.chip-d i{border-radius:50%;width:6px;height:6px;display:block}.chip-d .dx{background:var(--ax)}.chip-d .dy{background:var(--ay)}.chip-d .dz{background:var(--az)}.metrics{border-top:1px solid var(--rule);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.metrics div{border-right:1px solid var(--rule);flex-direction:column;gap:2px;padding:18px 22px;display:flex}.metrics div:last-child{border-right:0}.metrics dt{font-family:var(--mono);color:var(--tx3);font-size:11px}.metrics dd{font-family:var(--mono);color:var(--tx);font-variant-numeric:tabular-nums;margin:0;font-size:15px;font-weight:400}.xh{pointer-events:none;opacity:0;transition:opacity .16s linear;position:absolute;inset:0}.xh.on{opacity:1}.xh-h{background:var(--rule2);width:100%;height:1px;position:absolute;top:0;left:0}.xh-v{background:var(--rule2);width:1px;height:100%;position:absolute;top:0;left:0}.xh-r{font-family:var(--mono);color:var(--tx);border:1px solid var(--rule2);white-space:nowrap;background:#1b1b1b;border-radius:999px;padding:3px 10px;font-size:11px;position:absolute;top:0;left:0}.k-tx{stroke:var(--tx)}.k-tx2{stroke:var(--tx2)}.k-tx3{stroke:var(--tx3)}.k-rule{stroke:var(--rule)}.k-rule2{stroke:var(--rule2)}.k-amb{stroke:var(--amb)}.k-ax{stroke:var(--ax)}.k-ay{stroke:var(--ay)}.k-az{stroke:var(--az)}.f-tx{fill:var(--tx)}.f-tx2{fill:var(--tx2)}.f-tx3{fill:var(--tx3)}.f-bg{fill:var(--bg)}.f-s1{fill:var(--s1)}.f-amb{fill:var(--amb)}.f-amb-tx{fill:var(--amb-tx)}.f-amb-bg{fill:var(--amb-bg)}.f-dark{fill:#0b0b0b}.svg-mono{font-family:var(--mono);font-size:11px}.svg-mono-10{font-family:var(--mono);font-size:10px}.svg-sans{font-family:var(--sans)}.bench-card{grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:40px;padding:40px;display:grid}.bench-figs{flex-direction:column;gap:16px;display:flex}.panel-pad{padding:22px}.charuco-panel{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.charuco-panel svg{width:190px;max-width:100%;height:auto}.charuco-panel p{color:var(--tx2);max-width:30ch;margin:0;font-size:14px}.about-h{letter-spacing:-.03em;max-width:26ch;margin:20px 0 0;font-size:40px;font-weight:500;line-height:1.2}.about-by{flex-wrap:wrap;align-items:center;gap:16px;margin-top:36px;font-size:15px;display:flex}.about-by b{font-weight:500}.cta-wrap{padding-bottom:96px}.cta{text-align:center;border-radius:28px;flex-direction:column;align-items:center;gap:20px;padding:88px 32px;display:flex}.cta .h2{max-width:18ch}.cta p{margin:0;font-size:17px}.cta .acts{margin-top:12px}.foot{border-top:1px solid var(--rule);padding:72px 0 48px}.foot-g{grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:32px;display:grid}.foot-desc{max-width:34ch;color:var(--tx2);margin:16px 0 0;font-size:14px}.foot-l{flex-direction:column;gap:2px;display:flex}.foot-l .fh{color:var(--tx3);margin:0 0 10px;font-size:13px;font-weight:400}.foot-l ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.foot-l a{color:var(--tx2);padding:5px 0;font-size:14px;transition:color .1s linear;display:inline-block}.foot-l a:hover{color:var(--tx)}.foot-b{border-top:1px solid var(--rule);color:var(--tx3);flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:64px;padding-top:24px;font-size:13px;display:flex}.foot-compact{padding:32px 0 40px}.foot-compact .foot-b{border-top:0;margin-top:0;padding-top:0}.vh{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:56px;padding:72px 0 48px;display:grid}.vh .h1{margin:22px 0 20px}.vh .acts{justify-content:flex-start;margin-top:32px}.vh-card{padding:8px 24px}.crumb{color:var(--tx3);gap:8px;font-size:14px;display:flex}.crumb ol{gap:8px;margin:0;padding:0;list-style:none;display:flex}.crumb li+li:before{content:"/";margin-right:8px}.crumb a:hover{color:var(--tx)}.steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;padding:0;list-style:none;display:grid}.step{background:var(--s1);border-radius:20px;flex-direction:column;gap:10px;min-height:200px;padding:24px;display:flex;position:relative}.step .n{background:var(--bg);border:1px solid var(--rule);width:28px;height:28px;font-family:var(--mono);color:var(--tx2);border-radius:999px;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.step h3{letter-spacing:-.015em;margin:6px 0 0;font-size:18px;font-weight:500}.step p{color:var(--tx2);margin:0;font-size:14px}.step .fx{font-family:var(--mono);color:var(--tx3);overflow-wrap:anywhere;margin-top:auto;font-size:12px}.camsel{flex-wrap:wrap;gap:6px;display:flex}.cb{appearance:none;font-family:var(--mono);border:1px solid var(--rule);color:var(--tx2);cursor:pointer;background:0 0;border-radius:999px;height:34px;padding:0 12px;font-size:12px;transition:border-color .1s linear,color .1s linear,background .1s linear}.cb:hover{color:var(--tx);border-color:var(--rule2)}.cb[aria-pressed=true]{background:var(--tx);border-color:var(--tx);color:var(--bg)}.plan-in{padding:24px 24px 0;position:relative}.plan-in svg{width:100%;height:auto;display:block}.plan-bar{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:18px 24px;display:flex}.plan-bar .mono{color:var(--tx2);font-size:13px}.problem{letter-spacing:-.025em;max-width:34ch;margin:0;font-size:30px;font-weight:450;line-height:1.3}.spec-card{padding:8px 28px}.stack-row{margin-top:24px}.arch{background:var(--bg);border:1px solid var(--rule);border-radius:18px;padding:24px}.arch svg{max-width:100%;height:auto;margin:0 auto;display:block}.halo{paint-order:stroke;stroke:var(--bg);stroke-width:5px;stroke-linejoin:round}.arch .arch-v{display:none}.shots{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.shot{background:var(--s1);border-radius:24px;padding:8px}.shot .in2{background:var(--bg);border:1px solid var(--rule);border-radius:18px;position:relative;overflow:hidden}.shot img{width:100%;height:auto}.rel{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.relc{background:var(--s1);border:1px solid #0000;border-radius:20px;flex-direction:column;justify-content:space-between;gap:16px;min-height:170px;padding:24px;transition:border-color .16s linear;display:flex}.relc:hover{border-color:var(--rule2)}.relc p{color:var(--tx2);margin:0;font-size:14px}.twocol{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:56px;display:grid}.twocol .h2{margin-top:16px}.prose{max-width:68ch;color:var(--tx2);font-size:17px}.prose h2,.prose h3{color:var(--tx);letter-spacing:-.02em;font-weight:500}.prose a{text-underline-offset:3px;text-decoration:underline}.prose code{font-family:var(--mono);font-size:.88em}.rhd{max-width:760px;padding:80px 0 48px}.rhd .h1{margin:18px 0 20px}.fbar{z-index:20;background:var(--bg);border-bottom:1px solid var(--rule);padding:16px 0;position:sticky;top:68px}.fbar[hidden]{display:none}@media (scripting:enabled){.fbar[hidden]{visibility:hidden;display:block}}.fbar-in{flex-direction:column;gap:10px;display:flex}.frow{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.frow-split{justify-content:space-between}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{appearance:none;font-family:var(--sans);background:var(--bg);border:1px solid var(--rule);color:var(--tx2);cursor:pointer;border-radius:999px;height:34px;padding:0 14px;font-size:13px;font-weight:500;transition:border-color 90ms linear,color 90ms linear,background 90ms linear}.chip:hover{color:var(--tx);border-color:var(--rule2)}.chip[aria-pressed=true]{background:var(--tx);border-color:var(--tx);color:var(--bg)}.flab{color:var(--tx3);width:52px;font-size:13px}.count{font-size:13px}.results{padding:32px 32px 0}.results+.results{padding-top:72px}.results-h{justify-content:space-between;align-items:baseline;gap:16px;margin:0 0 20px;display:flex}.results-h h2{letter-spacing:-.02em;margin:0;font-size:24px;font-weight:500}.results:last-of-type{padding-bottom:120px}.ent{border-bottom:1px solid var(--rule);grid-template-columns:150px minmax(0,1fr) auto;align-items:start;gap:32px;padding:26px 28px;transition:background .12s linear;display:grid}.ent:last-child{border-bottom:0}.ent:hover{background:var(--s1)}.ent[hidden]{display:none}.ent h3{letter-spacing:-.02em;margin:0;font-size:20px;font-weight:500;line-height:1.3}.ent h3 a:hover{text-underline-offset:3px;text-decoration:underline}.ent .abs{color:var(--tx2);max-width:68ch;margin:8px 0 0;font-size:15px}.ent .tags{margin-top:14px}.ent-side{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.empty{color:var(--tx3);align-items:center;gap:12px;padding:56px 28px;display:flex}.empty[hidden]{display:none}.nf{flex-direction:column;align-items:flex-start;gap:20px;padding-top:120px;padding-bottom:160px;display:flex}.nf .acts{justify-content:flex-start}.rt{transition:opacity .7s var(--ease), transform .9s var(--ease)}@media (scripting:enabled) and (prefers-reduced-motion:no-preference){.rt:not(.in){opacity:0;transform-origin:0 100%;transform:translate(-6px,22px)rotate(-.6deg)}.rt.d1{transition-delay:90ms}.rt.d2{transition-delay:.18s}.rt.d3{transition-delay:.27s}}@media (prefers-reduced-motion:no-preference){.lm>span{animation:lm-in .95s var(--ease) both}.lm:nth-child(2)>span{animation-delay:.1s}.st-live .st-dot{animation:2.4s linear infinite pulse}}@keyframes lm-in{0%{transform:translateY(105%)}to{transform:none}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.rt,.tk,.scan,.btn .ar,.plink .ar{transition:none!important}}@media (width<=1024px){.nav-in{grid-template-columns:auto 1fr;gap:8px 16px;height:auto;padding:12px 0}.nav-links{scrollbar-width:none;grid-area:2/1/auto/-1;margin:0 -14px;overflow-x:auto}.h1{font-size:60px}.pcard.wide{flex-direction:column}.pcard.wide .pvis{aspect-ratio:16/9;min-height:0}.pcard.wide .pbody{padding:24px 22px 22px}.logg{grid-template-columns:minmax(0,1fr);gap:32px}.foot-g,.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics div:nth-child(2){border-right:0}.metrics div:nth-child(-n+2){border-bottom:1px solid var(--rule)}.vh{grid-template-columns:minmax(0,1fr);gap:32px}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.rel{grid-template-columns:minmax(0,1fr)}.twocol{grid-template-columns:minmax(0,1fr);gap:24px}.ent{grid-template-columns:minmax(0,1fr);gap:10px}.ent-side{flex-direction:row;align-items:center}.fbar{top:105px}}@media (width<=720px){.wrap{padding:0 16px}.h1{letter-spacing:-.04em;font-size:42px}.h2{font-size:34px}.lead{font-size:17px}.hero{padding:56px 0 28px}.sec{padding:80px 0}.sec-flush{padding-top:0}.sec-head{margin-bottom:32px}.pgrid{grid-template-columns:minmax(0,1fr)}.viz{aspect-ratio:4/3}.chiprow .chip-d:nth-child(n+3){display:none}.rrow{grid-template-columns:minmax(0,1fr);gap:10px;padding:22px 20px}.r-links{justify-content:flex-start}.logrow{grid-template-columns:minmax(0,1fr);gap:4px}.spec-r{grid-template-columns:minmax(0,1fr);gap:2px}.foot-g{grid-template-columns:minmax(0,1fr)}.cta{padding:56px 20px}.can-f b{font-size:9px}.stage{border-radius:20px}.about-h{font-size:30px}.bench-card{padding:24px 20px}.steps{grid-template-columns:minmax(0,1fr)}.step{min-height:0}.shots{grid-template-columns:minmax(0,1fr)}.problem{font-size:24px}.arch{padding:16px}.arch .arch-h{display:none}.arch .arch-v{display:block}.fbar{position:relative;top:0}.results{padding:24px 16px 0}.ent{padding:22px 20px}.flab{width:auto}}.note-body{padding:0 0 96px}ul.tags{margin:8px 0 0;padding:0;list-style:none}.pvis svg.arch-mini{width:82%;height:72%;inset:14% 9%}.poster,.poster img{width:100%;height:100%;position:absolute;inset:0}.poster img{object-fit:cover;transition:opacity .5s var(--ease)}.gl-layer{position:absolute;inset:0}.gl-canvas{opacity:0;width:100%;height:100%;transition:opacity .5s var(--ease);position:absolute;inset:0}.gl-canvas.on{opacity:1}.gl-on .poster img{opacity:0}.lab3{font-family:var(--mono);color:var(--tx2);white-space:nowrap;pointer-events:none;visibility:hidden;font-size:11px;transition:opacity .12s linear;position:absolute;top:-999px;left:-999px;transform:translate(4px,-100%)}.lab3.placed{visibility:visible}.lab3.amb3{color:var(--amb-tx)}.poster-capture .lab3,.poster-capture .chiprow,.poster-capture .ro,.poster-capture .xh,.poster-capture .poster{display:none}.poster-capture .gl-canvas{transition:none}@media (width<=420px){.ro-tr{display:none}}.rv-stage{aspect-ratio:2;cursor:grab;touch-action:pan-y;position:relative}.rv-stage:active{cursor:grabbing}.rv-stage:focus-visible{outline:2px solid var(--amb);outline-offset:-2px;border-radius:28px 28px 0 0}.rv-inset{aspect-ratio:4/3;border:1px solid var(--rule2);pointer-events:none;border-radius:10px;width:min(220px,30%);position:absolute;bottom:12px;right:12px}.rv-inset span{font-family:var(--mono);color:var(--tx3);font-size:10px;position:absolute;top:6px;left:8px}.rv-load{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.rv-load[hidden]{display:none}.rv-bar{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.rv-groups{flex-wrap:wrap;gap:6px 16px;display:flex}.rv-ctl{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.dk .lnk{color:var(--tx);background:0 0}.cb:disabled,.lnk:disabled,.rv-sel select:disabled{opacity:.45;cursor:default}.rv-sel select{appearance:none;border:1px solid var(--rule);height:32px;color:var(--tx);font-family:var(--mono);background-color:#0000;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 15px) 14px,calc(100% - 11px) 14px;background-repeat:no-repeat;background-size:4px 4px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border-radius:999px;padding:0 28px 0 12px;font-size:12px}.rv-sel option{color:#f3f2ef;background:#0b0b0b}.rv-read{border-top:1px solid var(--rule);grid-template-columns:repeat(5,minmax(0,1fr));margin:0;display:grid}.rv-read div{border-right:1px solid var(--rule);min-width:0;padding:14px 22px}.rv-read div:last-child{border-right:0}.rv-read dt{font-family:var(--mono);color:var(--tx3);font-size:11px}.rv-read dd{font-family:var(--mono);color:var(--tx);overflow-wrap:anywhere;margin:2px 0 0;font-size:13px}.rv-keys{margin:10px 0 0}.cap code{font-family:var(--mono);font-size:12px}.cap a{text-underline-offset:2px;text-decoration:underline}.rv-table-wrap{border:1px solid var(--rule);border-radius:18px;margin-top:20px;overflow-x:auto}.rv-table{border-collapse:collapse;width:100%;font-size:13px}.rv-table th,.rv-table td{text-align:left;border-bottom:1px solid var(--rule);font-family:var(--mono);white-space:nowrap;padding:10px 16px;font-size:12px}.rv-table thead th{color:var(--tx3);font-weight:400}.rv-table tbody th{color:var(--tx);font-weight:500}.rv-table tr:last-child th,.rv-table tr:last-child td{border-bottom:0}@media (width<=1024px){.rv-read{grid-template-columns:repeat(2,minmax(0,1fr))}.rv-read div{border-bottom:1px solid var(--rule)}}@media (width<=720px){.rv-stage{aspect-ratio:4/3}.rv-bar{padding:14px 16px}.rv-read{grid-template-columns:minmax(0,1fr)}.rv-read div{border-right:0}}.poster-capture .rv-inset,.poster-capture .rv-load{display:none}.poster-capture .stage{border-radius:0}
