:root{--ground:#07070b;--panel:#0d0d13;--ink:#efeff5;--dim:#7a7a88;--faint:#3a3a46;--R:#ff3b4e;--R-rgb:255,59,78;--G:#2be07c;--G-rgb:43,224,124;--B:#4d7dff;--B-rgb:77,125,255;--edge:rgba(239,239,245,.09);--edge-2:rgba(239,239,245,.16);--rail:clamp(14px,3.4vw,34px);--gutter:clamp(16px,2.6vw,32px);--mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--sans:"Archivo",system-ui,-apple-system,sans-serif;--hud-h:38px;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{text-size-adjust:none}body{background:var(--ground);color:var(--ink);font-family:var(--sans);min-height:100%;overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}::selection{background:var(--B);color:#fff}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}#lattice,#spark{position:fixed;inset:0;width:100%;height:100%;display:block;pointer-events:none}#lattice{z-index:0}#spark{z-index:60}.wrap{position:relative;z-index:10;max-width:1240px;margin:0 auto;padding-left:calc(var(--rail) + var(--gutter));padding-right:calc(var(--rail) + var(--gutter))}.rail{position:fixed;left:0;top:0;bottom:0;width:var(--rail);z-index:20;pointer-events:none;border-right:1px solid var(--edge)}.rail i{left:0;width:6px;height:1px;background:var(--edge)}.rail b,.rail i{position:absolute}.rail b{left:9px;font-family:var(--mono);font-size:8px;font-weight:400;letter-spacing:.1em;color:var(--faint);transform:translateY(-4px)}@media (max-width:700px){.rail{display:none}:root{--rail:0px}}.hud{position:fixed;top:0;left:0;right:0;z-index:40;pointer-events:none;display:flex;justify-content:flex-end;align-items:center;height:var(--hud-h);padding-left:calc(var(--rail) + var(--gutter));padding-right:calc(var(--rail) + var(--gutter));border-bottom:1px solid var(--edge);background:linear-gradient(var(--ground),rgba(7,7,11,.6));font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}.hud .where{display:flex;gap:4px}.hud .ch{display:inline-block;min-width:3.6em}.hud .ch i{font-style:normal}.hud .r{color:var(--R)}.hud .g{color:var(--G)}.hud .b{color:var(--B)}.page{padding:calc(var(--hud-h) + clamp(26px,5vh,56px)) 0 clamp(40px,8vh,90px);display:flex;flex-direction:column;gap:clamp(20px,3.6vh,40px)}.page.one{min-height:100svh;justify-content:center;padding-top:54px;padding-bottom:30px}.head{display:block}.head-main{min-width:0}.split{font-size:min(14.4vw,188px);line-height:.86;letter-spacing:-.04em;margin-bottom:clamp(12px,2.2vh,20px);font-variation-settings:"wght" 720,"wdth" 100}.split.sm{font-size:min(9.4vw,104px)}.split .tld{color:var(--tld,var(--B));transition:color .22s linear}.split .ln{display:block;white-space:nowrap;width:max-content;max-width:none}.split .ch{display:inline-block;will-change:transform,opacity}.split .sp{display:inline-block;width:.26em}.sub{font-family:var(--mono);font-size:clamp(11px,1.35vw,14px);color:var(--dim);letter-spacing:.02em;min-height:1.4em;padding-bottom:clamp(14px,2.4vh,22px);border-bottom:1px solid var(--edge)}.bento{display:grid;grid-gap:1px;gap:1px;grid-template-columns:repeat(2,1fr);background:var(--edge);border:1px solid var(--edge)}.card{--mx:50%;--my:50%;--tone:var(--B);--tone-rgb:var(--B-rgb);position:relative;overflow:hidden;isolation:isolate;background:var(--ground);padding:clamp(16px,2.2vw,24px);min-height:clamp(140px,18vh,208px);display:grid;grid-template-rows:auto auto 1fr auto;transition:background .4s ease}.card:before{z-index:-2;background:radial-gradient(360px circle at var(--mx) var(--my),rgba(var(--tld-rgb,var(--tone-rgb)),.2),transparent 66%)}.card:after,.card:before{content:"";position:absolute;inset:0;opacity:0;transition:opacity .45s ease}.card:after{z-index:-1;padding:1px;background:radial-gradient(280px circle at var(--mx) var(--my),var(--tld,var(--tone)),transparent 62%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.card.lit:after,.card.lit:before{opacity:1}.card .fx{inset:0;z-index:2}.card .fx,.card .fx .p{position:absolute;pointer-events:none}.card .fx .p{width:3px;height:3px;background:var(--tld,var(--tone));display:block}.card .coord{font-family:var(--mono);font-size:9px;letter-spacing:.16em;color:var(--faint);display:flex;gap:10px;align-items:center}.card .coord i{font-style:normal;color:var(--dim)}.card .coord em{font-style:normal;margin-left:auto;color:var(--faint)}.card .coord u{display:inline-block;width:7px;height:7px;text-decoration:none;background:var(--tone);flex:0 0 auto}.card h3{font-size:clamp(19px,2.2vw,26px);font-weight:600;letter-spacing:-.022em;margin:16px 0 8px;align-self:start}.card .body{min-height:0}.card p{font-size:13.5px;line-height:1.55;color:var(--dim);max-width:42ch}.card .foot{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding-top:14px;border-top:1px solid var(--edge);margin-top:16px}.card .go{font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);display:inline-flex;align-items:center;gap:8px}.card .go svg{transition:transform .3s ease;flex:0 0 auto}.card:hover .go svg{transform:translateX(4px)}.bento.three{grid-template-columns:repeat(3,1fr)}@media (max-width:900px){.bento.three{grid-template-columns:1fr}}.bento.auto{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}@media (max-width:700px){.bento{grid-template-columns:1fr}.card{min-height:clamp(128px,17vh,190px)}}.crumbs{font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);display:flex;flex-wrap:wrap;align-items:center;gap:8px}.crumbs a{color:var(--dim);transition:color .2s ease}.crumbs a:hover,.crumbs span[aria-current]{color:var(--ink)}.doc{--pad:clamp(14px,3vw,36px);max-width:calc(74ch + 2 * var(--pad));background:var(--ground);border:1px solid var(--edge);padding:var(--pad)}.doc-coord{font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-bottom:12px}.doc-coord u{display:inline-block;width:7px;height:7px;text-decoration:none;background:var(--B);flex:0 0 auto}.doc-coord i{font-style:normal;color:var(--dim)}.doc-title{font-size:clamp(28px,5.2vw,58px);font-weight:600;letter-spacing:-.03em;line-height:1.02;font-variation-settings:"wght" 620,"wdth" 100;padding-bottom:clamp(12px,2vh,18px)}.doc-lede{font-size:clamp(11px,1.3vw,13px);line-height:1.7;color:var(--dim);padding-bottom:clamp(14px,2.4vh,22px);border-bottom:1px solid var(--edge)}.doc-lede,.doc-role{font-family:var(--mono)}.doc-role{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-top:14px}.doc-links{display:flex;flex-wrap:wrap;gap:1px;background:var(--edge);border:1px solid var(--edge);margin-top:clamp(16px,3vh,26px)}.doc-links a{font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;background:var(--ground);color:var(--ink);padding:12px 16px;display:inline-flex;align-items:center;gap:9px;flex:1 1 auto;transition:background .25s ease,color .25s ease}.doc-links a:hover{background:var(--panel)}.doc-links a svg{flex:0 0 auto}.doc-intro p{font-size:14.5px;line-height:1.65;color:var(--ink);max-width:68ch}.doc-intro p+p{margin-top:14px}.sec{padding-top:clamp(22px,4vh,38px);border-top:1px solid var(--edge)}.sec+.sec{margin-top:clamp(22px,4vh,38px)}.sec-label{font-family:var(--mono);font-size:9px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin-bottom:14px}.sec p{font-size:13.5px;line-height:1.7;color:var(--dim);max-width:68ch}.sec p+p{margin-top:12px}.feat{list-style:none;display:grid;grid-gap:1px;gap:1px;background:var(--edge);border:1px solid var(--edge)}.feat li{background:var(--ground);padding:11px 14px;display:flex;gap:11px;align-items:baseline;font-size:13px;line-height:1.5;color:var(--dim)}.feat li b{font-weight:400;color:var(--B);font-family:var(--mono);font-size:10px;flex:0 0 auto}.stack{display:flex;flex-wrap:wrap;gap:1px;background:var(--edge);border:1px solid var(--edge)}.stack span{background:var(--ground);font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--dim);padding:9px 12px;flex:1 1 auto;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.stack svg{width:14px;height:14px;flex:0 0 auto;color:var(--faint)}.shot{border:1px solid var(--edge);background:var(--panel)}.shot .bar{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--faint);padding:9px 12px;border-bottom:1px solid var(--edge);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shot img{display:block;width:100%;height:auto;max-height:var(--cap,none);object-fit:cover;object-position:top}.shot .ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:220px;font-family:var(--mono);color:var(--faint);text-transform:uppercase;letter-spacing:.18em;font-size:9px;text-align:center;padding:20px}.shot figcaption{font-family:var(--mono);font-size:10px;line-height:1.6;color:var(--dim);padding:11px 12px;border-top:1px solid var(--edge)}.doc-foot{display:flex;flex-wrap:wrap;gap:1px;background:var(--edge);border:1px solid var(--edge);margin-top:clamp(26px,5vh,50px)}.doc-foot a{flex:1 1 auto;background:var(--ground);padding:14px 16px;font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);transition:background .25s ease,color .25s ease}.doc-foot a:hover{background:var(--panel);color:var(--ink)}.spec{display:grid;grid-gap:1px;gap:1px;background:var(--edge);border:1px solid var(--edge);max-width:74ch;font-family:var(--mono)}.spec>div{background:var(--ground);display:grid;grid-template-columns:12ch 1fr;grid-gap:16px;gap:16px;padding:13px 15px;align-items:baseline}.spec dt{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint)}.spec dd{font-size:12px;line-height:1.7;color:var(--dim)}.spec dd a{color:var(--ink);border-bottom:1px solid var(--edge-2);transition:border-color .2s ease}.spec dd a:hover{border-bottom-color:var(--ink)}@media (max-width:560px){.spec>div{grid-template-columns:1fr;gap:7px}}.nf-coord{font-family:var(--mono);font-size:clamp(13px,2.6vw,20px);letter-spacing:.24em;color:var(--dim);display:flex;flex-wrap:wrap;gap:.9em;padding-bottom:clamp(14px,2.4vh,22px);border-bottom:1px solid var(--edge)}.nf-coord b{font-weight:400;color:var(--faint)}.nf-coord .r{color:var(--R)}.nf-coord .g{color:var(--G)}.nf-coord .b{color:var(--B)}.flow{--cycle:6s;font-family:var(--mono)}.flow .pipe{display:flex;align-items:flex-start;justify-content:space-between;gap:2px}.flow .node{flex-direction:column;gap:7px;width:clamp(44px,15vw,64px);flex:0 0 auto;text-align:center}.flow .icon,.flow .node{display:flex;align-items:center}.flow .icon{width:40px;height:40px;border:1px solid var(--edge-2);background:var(--ground);color:var(--faint);justify-content:center;animation:cfNode var(--cycle) ease infinite;animation-delay:var(--d);will-change:transform,border-color}.flow .icon svg{width:19px;height:19px}.flow .nlabel{font-size:10px;color:var(--dim);letter-spacing:.02em;line-height:1.2}.flow .nsub{font-size:8px;color:var(--faint);letter-spacing:.04em;line-height:1.2}.flow .wire{flex:1 1 auto;min-width:6px;height:1px;margin-top:20px;position:relative;background:var(--edge-2)}.flow .fill{inset:0;transform-origin:left center;transform:scaleX(0);animation:cfWire var(--cycle) ease infinite;animation-delay:var(--d)}.flow .dot,.flow .fill{position:absolute;background:var(--B)}.flow .dot{top:50%;left:0;width:4px;height:4px;margin-top:-2px;opacity:0;animation:cfDot var(--cycle) linear infinite;animation-delay:var(--d)}@keyframes cfNode{0%,to{transform:scale(1);border-color:var(--edge-2);color:var(--faint)}6%{transform:scale(1.13);border-color:var(--B);color:var(--B)}13%{transform:scale(1);border-color:var(--edge-2);color:var(--faint)}}@keyframes cfWire{0%,2%{transform:scaleX(0);opacity:1}9%{transform:scaleX(1);opacity:1}16%{transform:scaleX(1);opacity:1}24%,to{transform:scaleX(1);opacity:0}}@keyframes cfDot{0%{left:0;opacity:0}2%{opacity:1}9%{left:100%;opacity:1}12%,to{left:100%;opacity:0}}.flow .term{margin-top:26px;border:1px solid var(--edge);background:var(--panel)}.flow .termbar{padding:9px 12px;border-bottom:1px solid var(--edge);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}.flow .termbody{padding:14px 16px;min-height:138px;font-size:11.5px;line-height:1.9}.flow .tline{color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;animation:cfLine var(--cycle) ease infinite;animation-delay:var(--d)}.flow .tline:first-child{color:var(--ink)}.flow .tline:last-child{color:var(--G)}@keyframes cfLine{0%,5%{opacity:0;transform:translateY(3px)}10%{opacity:1;transform:translateY(0)}94%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(0)}}@media (max-width:480px){.flow .node{width:clamp(40px,13.5vw,56px);gap:5px}.flow .icon{width:34px;height:34px}.flow .icon svg{width:16px;height:16px}.flow .wire{margin-top:17px;min-width:4px}.flow .nlabel{font-size:9px}.flow .nsub{font-size:7px;letter-spacing:.02em}.flow .termbody{font-size:11px;padding:13px}}.arch{display:flex;flex-direction:column;gap:16px;font-family:var(--mono)}.arch .lane{border-left:1px solid var(--edge-2);padding-left:14px}.arch .lane-label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:var(--faint);margin-bottom:9px}.arch .row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 7px}.arch .node{font-size:10.5px;color:var(--dim);border:1px solid var(--edge);background:var(--ground);padding:6px 10px;white-space:nowrap;letter-spacing:.01em}.arch .node.key{color:var(--ink);border-color:var(--edge-2)}.arch .node.key:before{content:"";display:inline-block;width:5px;height:5px;background:var(--B);margin-right:7px;vertical-align:middle}.arch .arrow{color:var(--faint);font-size:11px;flex-shrink:0}@media (max-width:460px){.arch .node{padding:5px 8px}.arch .arrow,.arch .node{font-size:10px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.flow .icon{animation:none;border-color:var(--B);color:var(--B)}.flow .fill{animation:none;transform:scaleX(1);opacity:.5}.flow .dot{display:none}.flow .tline{animation:none;opacity:1;transform:none}.card .go svg{transition:none}}