@font-face{font-family:Archivo;src:url("/assets/fonts/Archivo-Variable.woff2") format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("/assets/fonts/JetBrainsMono-Variable.woff2") format("woff2");font-weight:100 800;font-style:normal;font-display:swap}
:root{
  --ink:#0B1221;--paper:#F5F7FA;--teal:#14C4BA;--teal-deep:#087F79;--teal-text:#06706A;--ember:#FF7A3D;--mist:#9FB0C6;
  --bg:var(--paper);--bg2:#EDF1F6;--surface:#FFFFFF;--text:var(--ink);--muted:#42536B;--accent:var(--teal-text);--accent-soft:rgba(8,127,121,.08);
  --line:#D6DEE9;--line2:#BECADA;--control:#75869F;--mark:#8394AB;--arc:#0B8F88;
  --header:rgba(245,247,250,.9);--btn-bg:var(--teal-deep);--btn-fg:#FFFFFF;--btn-hover:#066660;--focus:var(--ink);
  --shadow-lg:0 2px 4px rgba(11,18,33,.06),0 40px 80px -32px rgba(11,18,33,.38);
  --code-bg:var(--ink);--code-bg2:#111B30;--code-fg:#DCE5F2;--code-muted:var(--mist);--code-line:#22304F;--code-strong:#FFFFFF;--scrim:rgba(11,18,33,.86);--code-accent:#4FD8CF;--code-warm:#FFA877;
  --grid:rgba(11,18,33,.05);--pattern:rgba(11,18,33,.11);--pattern-ink:rgba(79,216,207,.22);
  --sans:Archivo,"Noto Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --fs-xs:.75rem;--fs-sm:.875rem;--fs-base:1.0625rem;--fs-md:1.125rem;--fs-lg:1.1875rem;
  --s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.5rem;--s6:2rem;--s7:3rem;--s8:4rem;
  --gutter:1.25rem;--pad:clamp(1.25rem,3.4vw,3rem);--section:clamp(3.5rem,7vw,6rem);
  --r-sm:3px;--r-md:5px;--r-lg:8px;--r-xl:10px;--r-pill:999px;
  --t-fast:.16s;--t-med:.28s;--t-slow:.8s;--stagger:.09s;--ease:cubic-bezier(.2,.7,.2,1);
  --tap:2.75rem;--bar:4.25rem;
  color-scheme:light dark;
}
:root[data-theme="dark"]{
  --bg:var(--ink);--bg2:#0E1729;--surface:#111B30;--text:var(--paper);--muted:#A9B8CC;--accent:var(--teal);--accent-soft:rgba(20,196,186,.10);
  --line:#1F2C48;--line2:#2D3E61;--control:#5C7096;--mark:#5B6F8F;--arc:var(--teal);
  --header:rgba(11,18,33,.88);--btn-bg:var(--teal);--btn-fg:var(--ink);--btn-hover:#4FD8CF;--focus:#FFFFFF;
  --shadow-lg:0 2px 4px rgba(0,0,0,.3),0 40px 90px -30px rgba(0,0,0,.8);
  --code-bg:#070C18;--code-bg2:#0C1425;--code-line:#1F2C48;--scrim:rgba(7,12,24,.86);
  --grid:rgba(159,176,198,.055);--pattern:rgba(79,216,207,.16);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:var(--ink);--bg2:#0E1729;--surface:#111B30;--text:var(--paper);--muted:#A9B8CC;--accent:var(--teal);--accent-soft:rgba(20,196,186,.10);
    --line:#1F2C48;--line2:#2D3E61;--control:#5C7096;--mark:#5B6F8F;--arc:var(--teal);
    --header:rgba(11,18,33,.88);--btn-bg:var(--teal);--btn-fg:var(--ink);--btn-hover:#4FD8CF;--focus:#FFFFFF;
    --shadow-lg:0 2px 4px rgba(0,0,0,.3),0 40px 90px -30px rgba(0,0,0,.8);
    --code-bg:#070C18;--code-bg2:#0C1425;--code-line:#1F2C48;--scrim:rgba(7,12,24,.86);
    --grid:rgba(159,176,198,.055);--pattern:rgba(79,216,207,.16);
  }
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--bar) + var(--s5))}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:var(--fs-base);line-height:1.62;font-stretch:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overflow-x:clip}
html.nav-open,html.nav-open body{overflow:hidden}
img,svg{max-width:100%}
a{color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:.07em}
a:hover{text-decoration-thickness:.13em}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:var(--r-sm)}
ul,ol{margin:0;padding:0;list-style:none}
dl,dd,figure{margin:0}
h1,h2,h3{margin:0;font-weight:700;font-stretch:108%;line-height:1.08;letter-spacing:-.026em;overflow-wrap:break-word;hyphens:manual;text-wrap:balance}
h1{font-size:clamp(2.125rem,6.1vw,4.75rem);line-height:1;letter-spacing:-.038em}
h2{font-size:clamp(1.75rem,3.9vw,3rem);letter-spacing:-.032em}
h3{font-size:var(--fs-lg);line-height:1.25;letter-spacing:-.012em}
p{margin:0;text-wrap:pretty}
button{font:inherit;color:inherit}
summary{list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
code,kbd,pre{font-family:var(--mono);font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0}
pre{margin:0}
[hidden]{display:none!important}
.ico{width:1.25rem;height:1.25rem;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ico .fill{fill:currentColor}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:var(--s4);top:-5rem;z-index:90;padding:var(--s3) var(--s4);border:2px solid var(--accent);border-radius:var(--r-md);background:var(--surface);color:var(--text)}
.skip:focus{top:var(--s4)}
.wrap{width:min(100% - 2.5rem,80rem);margin-inline:auto}
.frame{position:relative;padding-inline:var(--pad);border-inline:1px solid var(--line)}
.frame::before,.frame::after{content:"";position:absolute;top:-6px;width:11px;height:11px;background:linear-gradient(var(--mark),var(--mark)) center/100% 1px no-repeat,linear-gradient(var(--mark),var(--mark)) center/1px 100% no-repeat}
.frame::before{left:-6px}
.frame::after{right:-6px}
main>section{border-top:1px solid var(--line)}
main>section>.frame{padding-block:var(--section)}
main>section:first-child{border-top:0}
main>section:first-child>.frame::before,main>section:first-child>.frame::after{display:none}
.tint{background:var(--bg2)}
.bg{position:relative;isolation:isolate}
.bg::before{content:"";position:absolute;inset:0;z-index:-1;background-color:var(--pattern);pointer-events:none;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-composite:source-in;mask-composite:intersect}
.bg-marks::before{-webkit-mask-image:url("/assets/bg/marks.svg"),linear-gradient(90deg,transparent 20%,#000);mask-image:url("/assets/bg/marks.svg"),linear-gradient(90deg,transparent 20%,#000);-webkit-mask-repeat:repeat,no-repeat;mask-repeat:repeat,no-repeat;-webkit-mask-size:14rem 14rem,100% 100%;mask-size:14rem 14rem,100% 100%;-webkit-mask-position:center top;mask-position:center top}
.bg-dots::before{-webkit-mask-image:url("/assets/bg/dots.svg"),linear-gradient(100deg,transparent 45%,#000);mask-image:url("/assets/bg/dots.svg"),linear-gradient(100deg,transparent 45%,#000);-webkit-mask-repeat:repeat,no-repeat;mask-repeat:repeat,no-repeat;-webkit-mask-size:6rem 6rem,100% 100%;mask-size:6rem 6rem,100% 100%}
.bg-contour::before{-webkit-mask-image:url("/assets/bg/contour.svg"),linear-gradient(90deg,transparent 30%,#000);mask-image:url("/assets/bg/contour.svg"),linear-gradient(90deg,transparent 30%,#000);-webkit-mask-size:100% 100%;mask-size:100% 100%}
.bg-flow::before{background-color:var(--pattern-ink);-webkit-mask-image:url("/assets/bg/flow.svg"),linear-gradient(90deg,#000,transparent 35%,transparent 65%,#000);mask-image:url("/assets/bg/flow.svg"),linear-gradient(90deg,#000,transparent 35%,transparent 65%,#000);-webkit-mask-size:cover,100% 100%;mask-size:cover,100% 100%;-webkit-mask-position:center;mask-position:center}
.bg-rings::before{-webkit-mask-image:url("/assets/bg/rings.svg"),linear-gradient(#000,#000);mask-image:url("/assets/bg/rings.svg"),linear-gradient(#000,#000);-webkit-mask-size:44rem 44rem,100% 100%;mask-size:44rem 44rem,100% 100%;-webkit-mask-position:calc(100% + 12rem) center,center;mask-position:calc(100% + 12rem) center,center}
.vid{position:absolute;inset:0;z-index:-2;overflow:hidden;background:url("/media/hero-poster.webp?v=405b4d01cc") center/cover no-repeat;pointer-events:none}
.vid video{display:block;width:100%;height:100%;object-fit:cover}
.vid::after{content:"";position:absolute;inset:0}
.vid-side::after{background:linear-gradient(90deg,var(--code-bg) 30%,var(--scrim))}
.vid-centre::after{background:linear-gradient(90deg,var(--scrim),var(--code-bg) 32%,var(--code-bg) 68%,var(--scrim))}
.band,.closing{isolation:isolate}
.band{position:relative;background:var(--code-bg);color:var(--code-fg)}
.band.bg::before{background-color:var(--pattern-ink)}
.band .frame{border-color:var(--code-line)}
.band .eyebrow{color:var(--code-accent)}
.band h2{color:var(--code-strong)}
.band .intro{color:var(--code-muted)}
.band :focus-visible{outline-color:var(--code-strong)}
.head{max-width:46rem;margin-bottom:clamp(2rem,4vw,3.25rem)}
.eyebrow{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s5);font-family:var(--mono);font-size:var(--fs-xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.eyebrow::after{content:"";flex:1;max-width:6rem;height:1px;background:currentColor;opacity:.5}
.eyebrow-n{letter-spacing:.04em}
.eyebrow-n::after{content:"/";margin-left:var(--s3);opacity:.5}
.intro{margin-top:var(--s4);max-width:44rem;color:var(--muted);font-size:var(--fs-md)}
.lead{max-width:40rem;margin-top:var(--s5);font-size:clamp(1.0625rem,1.45vw,1.28rem);line-height:1.55;color:var(--muted)}
.note{margin-top:var(--s5);max-width:40rem;padding-top:var(--s4);border-top:1px solid var(--line2);color:var(--muted);font-size:var(--fs-sm);line-height:1.6}
.subhead{margin:var(--s7) 0 var(--s4);font-family:var(--mono);font-size:var(--fs-xs);font-weight:500;font-stretch:100%;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.cta{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s6)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:3rem;padding:var(--s3) var(--s5);border:1px solid var(--control);border-radius:var(--r-md);background:var(--surface);color:var(--text);font-weight:650;text-decoration:none;cursor:pointer;transition:background-color var(--t-fast),border-color var(--t-fast),color var(--t-fast),transform var(--t-fast) var(--ease),box-shadow var(--t-fast)}
.btn .ico{width:1.1rem;height:1.1rem;transition:transform var(--t-fast) var(--ease)}
.btn:hover{border-color:var(--accent);color:var(--accent)}
.btn:hover .ico{transform:translateX(3px)}
.btn.primary{border-color:var(--btn-bg);background:var(--btn-bg);color:var(--btn-fg)}
.btn.primary:hover{border-color:var(--btn-hover);background:var(--btn-hover);color:var(--btn-fg);transform:translateY(-1px)}
.more{display:inline-flex;align-items:center;gap:var(--s2);min-height:var(--tap);font-weight:650;text-decoration:none}
.more .ico{width:1.05rem;height:1.05rem;transition:transform var(--t-fast) var(--ease)}
.more:hover .ico{transform:translateX(3px)}
.mailto{font-family:var(--mono);font-size:var(--fs-sm);font-weight:500;overflow-wrap:anywhere}
.dot{position:relative;flex:none;width:.5rem;height:.5rem;border-radius:50%;background:var(--ember)}
.dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--ember)}
.status{display:inline-flex;align-items:center;gap:var(--s3);margin-bottom:var(--s5);padding:var(--s2) var(--s4) var(--s2) var(--s3);border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--surface);font-family:var(--mono);font-size:var(--fs-xs);color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:var(--s2)}
.chips a{display:flex;align-items:center;min-height:2rem;padding:0 var(--s3);border:1px solid var(--control);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font-size:.8rem;text-decoration:none;transition:border-color var(--t-fast),color var(--t-fast)}
.chips a:hover{border-color:var(--accent);color:var(--accent)}
.chips-label{margin:var(--s5) 0 var(--s3);font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ticks{display:grid;gap:var(--s3);margin-top:var(--s5)}
.ticks li{display:flex;gap:var(--s3);align-items:flex-start;color:var(--muted)}
.ticks .ico{width:1.1rem;height:1.1rem;margin-top:.28rem;color:var(--accent);stroke-width:2.4}
.standards{display:flex;flex-wrap:wrap;gap:var(--s2)}
.standards li{padding:var(--s1) var(--s3);border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--surface);font-family:var(--mono);font-size:.8rem}
.stretch{color:inherit;text-decoration:none}
.stretch::after{content:"";position:absolute;inset:0}
@media (pointer:coarse){
  .chips a{min-height:var(--tap);padding:0 var(--s4)}
  .mailto,.area h3 a,.tile-pkg a{display:inline-flex;align-items:center;min-height:var(--tap)}
}
@media (max-width:700px){
  .wrap{width:min(100% - 2rem,80rem)}
  .frame{padding-inline:0;border-inline:0}
  .frame::before,.frame::after{display:none}
  .cta .btn{flex:1 1 100%}
  .bg-contour::before{-webkit-mask-size:64rem 100%,100% 100%;mask-size:64rem 100%,100% 100%;-webkit-mask-position:right center,center;mask-position:right center,center}
  .bg-rings::before{-webkit-mask-size:26rem 26rem,100% 100%;mask-size:26rem 26rem,100% 100%;-webkit-mask-position:calc(100% + 10rem) top,center;mask-position:calc(100% + 10rem) top,center}
  h1,h2,h3{hyphens:auto}
}
@media print{header.site,.skip,.search,.jump,.totop{display:none}body{background:#fff;color:#000}}
header.site{position:sticky;top:0;z-index:60;background:var(--header);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line);transition:box-shadow var(--t-med)}
header.site.is-stuck{border-bottom-color:var(--line2)}
.bar{display:flex;align-items:center;gap:var(--s4);height:var(--bar)}
.brand{display:inline-flex;align-items:center;flex:none;min-height:var(--tap);line-height:0}
.logo{display:block;width:9.25rem;height:auto}
.logo-dark{display:none}
:root[data-theme="dark"] .logo-light{display:none}
:root[data-theme="dark"] .logo-dark{display:block}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .logo-light{display:none}
  :root:not([data-theme="light"]) .logo-dark{display:block}
}
.nav{margin-inline:auto}
.nav-list{display:flex;align-items:center;gap:var(--s1)}
.nav-group>summary,.nav-link{display:flex;align-items:center;gap:var(--s1);min-height:var(--tap);padding:0 var(--s3);border-radius:var(--r-md);color:var(--text);font-size:.9375rem;font-weight:550;text-decoration:none;user-select:none;transition:color var(--t-fast),background-color var(--t-fast)}
.nav-group>summary:hover,.nav-link:hover,.nav-group[open]>summary{background:var(--accent-soft);color:var(--accent)}
.nav-link[aria-current]{color:var(--accent)}
.nav-group>summary .ico{width:1rem;height:1rem;transition:transform var(--t-fast)}
.nav-group[open]>summary .ico{transform:rotate(180deg)}
.mega{position:absolute;top:100%;left:max(1.25rem,(100% - 80rem)/2);right:max(1.25rem,(100% - 80rem)/2);padding-top:var(--s2)}
.mega-in{display:grid;grid-template-columns:minmax(0,1fr) 19rem;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-lg);overflow:hidden}
.mega-plain{grid-template-columns:minmax(0,1fr)}
.mega-items{display:grid;gap:var(--s1);padding:var(--s4);align-content:start}
.mega-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.mega-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.mega-item{display:flex;gap:var(--s4);align-items:flex-start;height:100%;padding:var(--s3);border-radius:var(--r-md);color:var(--text);text-decoration:none;transition:background-color var(--t-fast)}
.mega-item:hover{background:var(--accent-soft)}
.mega-ico{flex:none;padding-top:.15rem;line-height:0;color:var(--accent)}
.mega-txt{display:grid;gap:.1rem;min-width:0}
.mega-txt strong{font-size:.9375rem;font-weight:650}
.mega-txt span{color:var(--muted);font-size:var(--fs-sm);line-height:1.4}
.mega-feat{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s5);border-left:1px solid var(--line);background:var(--bg2);font-size:var(--fs-sm);color:var(--muted)}
.mega-feat-title{font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.mega-feat .more{margin-top:auto}
.tools{display:flex;align-items:center;gap:var(--s2);flex:none}
.tool{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-width:var(--tap);height:var(--tap);padding:0;border:1px solid var(--control);border-radius:var(--r-md);background:var(--surface);color:var(--text);cursor:pointer;transition:border-color var(--t-fast),color var(--t-fast)}
.tool:hover{border-color:var(--accent);color:var(--accent)}
.search-open.tool{padding:0 var(--s3);color:var(--muted);font-size:var(--fs-sm)}
.kbd{padding:.1rem .4rem;border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--bg);color:var(--muted);font-size:.6875rem;line-height:1.5;white-space:nowrap}
.theme .i{display:none;line-height:0}
.theme .sr{display:none}
html[data-pref="system"] .i-system,html[data-pref="light"] .i-light,html[data-pref="dark"] .i-dark{display:block}
html[data-pref="system"] .s-system,html[data-pref="light"] .s-light,html[data-pref="dark"] .s-dark{display:block}
html:not([data-pref]) .i-system{display:block}
.burger{display:none}
.burger span{line-height:0}
.burger-close,.burger[aria-expanded="true"] .burger-open{display:none}
.burger[aria-expanded="true"] .burger-close{display:block}
.lang{position:relative}
.lang summary{display:flex;align-items:center;gap:var(--s2);height:var(--tap);padding:0 var(--s3);border:1px solid var(--control);border-radius:var(--r-md);background:var(--surface);font-size:var(--fs-sm);font-weight:600;letter-spacing:.02em;user-select:none;transition:border-color var(--t-fast)}
.lang summary:hover{border-color:var(--accent)}
.lang summary .ico{width:1rem;height:1rem;transition:transform var(--t-fast)}
.lang[open] summary .ico{transform:rotate(180deg)}
.lang img{width:1.375rem;height:1rem;border-radius:3px;object-fit:cover;box-shadow:0 0 0 1px rgba(11,18,33,.14)}
.lang ul{position:absolute;right:0;top:calc(100% + var(--s2));z-index:70;min-width:13rem;padding:var(--s1);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-lg)}
.lang li a{display:flex;align-items:center;gap:var(--s3);min-height:var(--tap);padding:0 var(--s3);border-radius:var(--r-md);color:var(--text);font-size:.9375rem;text-decoration:none}
.lang li a:hover{background:var(--accent-soft)}
.lang li a[aria-current]{background:var(--accent-soft);color:var(--accent);font-weight:650}
@media (max-width:1280px){
  .search-open-label,.search-open .kbd{display:none}
  .search-open.tool{padding:0}
}
@media (max-width:1100px){
  html.js .burger{display:inline-flex}
  html.js .nav{display:none;position:absolute;top:100%;left:0;right:0;height:calc(100dvh - var(--bar));padding:var(--s4) var(--s4) var(--s8);overflow-y:auto;overscroll-behavior:contain;border-top:1px solid var(--line);background:var(--bg)}
  html.js.nav-open .nav{display:block}
  html:not(.js) .bar{flex-wrap:wrap;height:auto;padding-block:var(--s3)}
  html:not(.js) .nav{order:3;flex:1 1 100%}
  html:not(.js) .tools{margin-left:auto}
  .tools{margin-left:auto}
  .nav-list{display:grid;gap:0;max-width:40rem;margin-inline:auto}
  .nav-list>li{border-bottom:1px solid var(--line)}
  .nav-group>summary,.nav-link{justify-content:space-between;min-height:3.5rem;padding:0 var(--s2);border-radius:0;font-size:var(--fs-md);font-weight:650}
  .nav-group>summary:hover,.nav-link:hover,.nav-group[open]>summary{background:none}
  .mega{position:static;padding:0 0 var(--s4)}
  .mega-in{display:block;border:0;border-radius:0;background:none;box-shadow:none}
  .mega-items{grid-template-columns:minmax(0,1fr);padding:0}
  .mega-item{align-items:center;min-height:3.25rem;padding:var(--s2)}
  .mega-txt span{display:none}
  .mega-feat{display:none}
}
@media (max-width:420px){
  .logo{width:7rem}
  .lang-code,.lang summary .ico{display:none}
  .lang summary{justify-content:center;width:var(--tap);padding:0}
  .tools{gap:var(--s1)}
  .bar{gap:var(--s2)}
}
.search{width:min(100% - 2rem,40rem);max-height:min(36rem,100dvh - 6rem);margin:5rem auto auto;padding:0;border:1px solid var(--line2);border-radius:var(--r-xl);background:var(--surface);color:var(--text);box-shadow:var(--shadow-lg);overflow:hidden}
.search[open]{display:flex;flex-direction:column}
.search::backdrop{background:rgba(11,18,33,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.search-bar{display:flex;align-items:center;gap:var(--s3);padding:0 var(--s4);border-bottom:1px solid var(--line);color:var(--muted)}
.search-input{flex:1;min-width:0;height:3.75rem;border:0;outline:0;background:none;color:var(--text);font:inherit;font-size:var(--fs-md)}
.search-input::placeholder{color:var(--muted);opacity:1}
.search-input::-webkit-search-cancel-button{display:none}
.search-bar:focus-within{box-shadow:inset 0 -2px 0 var(--accent)}
.search-close{display:grid;place-items:center;min-width:var(--tap);height:var(--tap);padding:0;border:0;background:none;cursor:pointer}
.search-body{padding:var(--s3);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}
.search-label{padding:var(--s2) var(--s3);font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.search-results{display:grid;gap:var(--s1)}
.search-hit{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:.1rem var(--s3);align-items:baseline;min-height:var(--tap);padding:var(--s3);border-radius:var(--r-md);color:var(--text);text-decoration:none}
.search-hit:hover,.search-hit:focus-visible{background:var(--accent-soft);outline-offset:-2px}
.search-type{grid-row:span 2;font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.search-title{font-weight:650;overflow-wrap:anywhere}
.search-text{grid-column:2;color:var(--muted);font-size:var(--fs-sm);line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
.search-empty{padding:var(--s5) var(--s3);color:var(--muted)}
@media (max-width:560px){
  .search{margin-top:1rem;max-height:calc(100dvh - 2rem)}
  .search-hit{grid-template-columns:minmax(0,1fr)}
  .search-type{grid-row:auto}
  .search-text{grid-column:1}
}
.hero{position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:3.5rem 3.5rem;background-position:center top;mask-image:linear-gradient(#000,transparent 85%);-webkit-mask-image:linear-gradient(#000,transparent 85%);pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;background-color:var(--pattern);-webkit-mask:url("/assets/bg/marks.svg") center top/14rem 14rem;mask:url("/assets/bg/marks.svg") center top/14rem 14rem;pointer-events:none}
main>.hero>.frame{z-index:1;padding-block:clamp(2.5rem,6vw,5.5rem)}
.hero-top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s7) var(--gutter);align-items:center}
.hero-text{grid-column:span 5}
.hero h1{font-size:clamp(2.125rem,4.5vw,3.875rem)}
.hero h1 span{display:block}
.hero h1 .l2{color:var(--accent)}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3) var(--s4);margin-top:var(--s6);padding-top:var(--s5);border-top:1px solid var(--line)}
.facts dt{font-family:var(--mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.facts dd{margin-top:var(--s1);font-family:var(--mono);font-size:.8125rem;font-weight:600;overflow-wrap:anywhere}
.arc{fill:var(--arc)}
.orb{fill:var(--ember)}
.tk-k{color:var(--code-accent)}
.tk-s,.tk-n{color:var(--code-warm)}
.tk-v{color:var(--code-fg)}
.tk-t,.tk-f{color:var(--code-strong)}
.tk-a{color:var(--code-muted)}
.tk-ok{color:var(--code-accent);font-weight:600}
.hv{position:relative;grid-column:7/-1;aspect-ratio:5/4;min-width:0;border:1px solid var(--code-line);border-radius:var(--r-xl);background:var(--code-bg);color:var(--code-strong);box-shadow:var(--shadow-lg);overflow:hidden;isolation:isolate;--px:0;--py:0}
.hv-media{position:absolute;inset:-3%;z-index:-1;background:url("/media/hero-poster.webp?v=405b4d01cc") center/cover no-repeat;translate:calc(var(--px)*10px) calc(var(--py)*10px);transition:translate var(--t-med) var(--ease)}
.hv-media video{display:block;width:100%;height:100%;object-fit:cover}
.hv::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,transparent 45%,var(--scrim) 100%);pointer-events:none}
.hv-chip{position:absolute;display:inline-flex;align-items:center;gap:var(--s3);min-height:2.75rem;padding:0 var(--s4);border:1px solid var(--code-line);border-radius:var(--r-md);background:var(--code-bg2);font-family:var(--mono);font-size:.9375rem;font-weight:500;white-space:nowrap;transition:translate var(--t-med) var(--ease)}
.hv-chip .ico{width:1.1rem;height:1.1rem;color:var(--code-accent);stroke-width:2.4}
.hv-chip b{color:var(--code-accent);font-weight:600}
.hv-c1{top:11%;left:7%;translate:calc(var(--px)*-14px) calc(var(--py)*-14px)}
.hv-c2{top:45%;right:7%;translate:calc(var(--px)*-22px) calc(var(--py)*-22px)}
.hv-c3{bottom:12%;left:11%;translate:calc(var(--px)*-8px) calc(var(--py)*-8px)}
.hv-live{flex:none;width:.5rem;height:.5rem;border-radius:50%;background:var(--code-accent)}
.hv-mark{position:absolute;top:9%;right:8%;width:4rem;height:4rem;line-height:0;translate:calc(var(--px)*-18px) calc(var(--py)*-18px);transition:translate var(--t-med) var(--ease)}
.hv-mark svg{display:block;width:100%;height:100%}
.hv-mark .arc{fill:var(--code-accent)}
.hv-page .hv-media{opacity:.55}
.hv-page::after{background:linear-gradient(var(--scrim),var(--scrim))}
.hv-pattern{position:absolute;inset:0;background-color:var(--code-accent);opacity:.4;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;translate:calc(var(--px)*8px) calc(var(--py)*8px);transition:translate var(--t-med) var(--ease)}
.hv-dots .hv-pattern{-webkit-mask:url("/assets/bg/dots.svg") center/6rem 6rem;mask:url("/assets/bg/dots.svg") center/6rem 6rem}
.hv-contour .hv-pattern{-webkit-mask:url("/assets/bg/contour.svg") center/160% 110% no-repeat;mask:url("/assets/bg/contour.svg") center/160% 110% no-repeat}
.hv-rings .hv-pattern{-webkit-mask:url("/assets/bg/rings.svg") center/120% auto no-repeat;mask:url("/assets/bg/rings.svg") center/120% auto no-repeat}
.hv-page .hv-chip{max-width:80%;padding-block:var(--s2);white-space:normal;line-height:1.3}
@media (max-width:1100px){
  .hero-text,.hv{grid-column:1/-1}
  .hv{aspect-ratio:16/10}
  .hero h1{font-size:clamp(2.125rem,7.4vw,4rem)}
}
@media (max-width:560px){
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hv{aspect-ratio:1/1}
  .hv-chip{min-height:2.5rem;padding:0 var(--s3);font-size:.8125rem}
  .hv-c1{left:5%}
  .hv-c2{right:5%}
  .hv-c3{left:5%}
  .hv-mark{width:3rem;height:3rem}
}
.scene{position:relative;min-width:0;margin-top:var(--s7);border:1px solid var(--code-line);border-radius:var(--r-xl);background:var(--code-bg);color:var(--code-fg);overflow:hidden;--px:0;--py:0}
.sc-back{position:absolute;inset:0;pointer-events:none}
.sc-floor{position:absolute;left:-30%;right:-30%;bottom:-6%;height:52%;background-image:linear-gradient(var(--code-line) 1px,transparent 1px),linear-gradient(90deg,var(--code-line) 1px,transparent 1px);background-size:2.5rem 2.5rem;background-position:center bottom;transform:perspective(34rem) rotateX(64deg) translate3d(calc(var(--px)*22px),0,0);transform-origin:center bottom;mask-image:linear-gradient(transparent,#000 55%);-webkit-mask-image:linear-gradient(transparent,#000 55%);opacity:.9}
.sc-in{position:relative;container-type:inline-size;max-width:60rem;margin:clamp(1rem,3vw,2.5rem) auto;padding-inline:clamp(1rem,3vw,2.5rem);font-family:var(--mono);font-size:.875rem;line-height:1.55}
.sc-block{position:relative;padding:var(--s4);border:1px solid var(--code-line);border-radius:var(--r-lg);background:var(--code-bg2)}
.sc-label{margin-bottom:var(--s3);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--code-muted)}
.sc-sources{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s3)}
.sc-sources li,.sc-files li,.sc-lane li,.sc-signals li{border:1px solid var(--code-line);border-radius:var(--r-sm);background:var(--code-bg)}
.sc-sources li{display:grid;gap:.1rem;justify-items:center;min-width:0;padding:var(--s3) var(--s1);text-align:center}
.sc-sources b{font-weight:500;color:var(--code-accent);white-space:nowrap}
.sc-sources span{color:var(--code-muted);font-size:.8125rem}
.sc-bus{position:relative;height:2.5rem;margin-inline:var(--s4)}
.sc-wire,.sc-rail,.sc-stem{background:var(--code-line)}
.sc-wire{position:absolute;top:0;width:1px;height:50%}
.sc-rail{position:absolute;top:50%;left:10%;right:10%;height:1px}
.sc-w1,.sc-p1{left:10%}
.sc-w2,.sc-p2{left:30%}
.sc-w3,.sc-p3{left:50%}
.sc-w4,.sc-p4{left:70%}
.sc-w5,.sc-p5{left:90%}
.sc-w3{height:100%}
.sc-pulse,.sc-dot{position:absolute;top:0;width:.375rem;height:.375rem;margin:-.1875rem 0 0 -.1875rem;border-radius:50%;background:var(--code-accent);opacity:0}
.sc-p1{--dx:40cqi}
.sc-p2{--dx:20cqi}
.sc-p3{--dx:0cqi}
.sc-p4{--dx:-20cqi}
.sc-p5{--dx:-40cqi}
.sc-stem{position:relative;width:1px;height:1.5rem;margin-inline:auto}
.sc-dot{left:50%;background:var(--ember)}
.sc-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2) var(--s3);margin-bottom:var(--s3);padding-bottom:var(--s3);border-bottom:1px solid var(--code-line);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--code-muted)}
.sc-badge{display:inline-flex;align-items:center;gap:var(--s2);padding:.1rem var(--s2);border:1px solid var(--code-line);border-radius:var(--r-sm);color:var(--code-accent);font-size:.8125rem;letter-spacing:0;text-transform:none}
.sc-line{color:var(--code-strong);overflow-wrap:anywhere}
.sc-caret{display:inline-block;width:.5rem;height:1rem;margin-left:var(--s1);background:var(--code-accent);vertical-align:text-bottom}
.sc-path{margin-bottom:var(--s2);color:var(--code-strong)}
.sc-files,.sc-signals{display:flex;flex-wrap:wrap;gap:var(--s2)}
.sc-files li,.sc-signals li{padding:.1rem var(--s2);color:var(--code-fg);font-size:.8125rem}
.sc-serve{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:var(--s4);align-items:center}
.sc-lane{display:grid;gap:var(--s2)}
.sc-lane li{padding:.25rem var(--s3);font-size:.8125rem;white-space:nowrap;color:var(--code-fg)}
.sc-in-lane{justify-items:end}
.sc-out-lane{justify-items:start}
.sc-out-lane b{color:var(--code-accent);font-weight:600}
.sc-worker{display:grid;justify-items:center;gap:var(--s2);min-width:11rem;padding:var(--s4);border-color:var(--code-accent);text-align:center}
.sc-ring{display:block;width:5rem;height:5rem}
.sc-ring .arc{fill:var(--code-accent)}
.sc-worker-name{font-family:var(--sans);font-size:var(--fs-base);font-weight:650;font-stretch:108%;color:var(--code-strong)}
.sc-ready i{width:.4rem;height:.4rem;border-radius:50%;background:var(--code-accent)}
.sc-trace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5);margin-top:var(--s4)}
.sc-cycle ol{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s2);color:var(--code-strong)}
.sc-cycle li+li::before{content:"\2192";margin-right:var(--s2);color:var(--code-muted)}
.sc-span{display:grid;grid-template-columns:4.5rem minmax(0,1fr);gap:var(--s3);align-items:center;color:var(--code-muted);font-size:.8125rem}
.sc-span i{height:.375rem;border-radius:var(--r-pill);background:var(--code-accent);transform-origin:left}
.sc-s2 i{margin-left:8%;width:72%;opacity:.75}
.sc-s3 i{margin-left:26%;width:38%;opacity:.55}
.sc-signals{margin-top:var(--s3)}
@media (max-width:700px){
  .sc-in{font-size:.8125rem}
  .sc-block{padding:var(--s3)}
  .sc-sources{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2)}
  .sc-sources li:last-child{grid-column:1/-1}
  .sc-bus{height:1.5rem}
  .sc-wire:not(.sc-w3),.sc-rail,.sc-pulse:not(.sc-p3){display:none}
  .sc-serve{grid-template-columns:minmax(0,1fr);gap:var(--s3)}
  .sc-lane{display:flex;flex-wrap:wrap;justify-content:center}
  .sc-worker{justify-self:center}
  .sc-trace{grid-template-columns:minmax(0,1fr)}
}
.grid-lines{display:grid;gap:1px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--line);overflow:hidden}
.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cell{position:relative;display:flex;flex-direction:column;gap:var(--s2);padding:var(--s5);background:var(--surface)}
.cell p{color:var(--muted);font-size:.975rem}
.num{display:block;font-size:clamp(2.5rem,4.6vw,3.75rem);font-weight:300;font-stretch:70%;line-height:.9;letter-spacing:-.02em;color:var(--mark);font-variant-numeric:tabular-nums}
.sticky{position:sticky;top:calc(var(--bar) + var(--s6))}
.rows{grid-column:span 7;border-top:1px solid var(--text)}
.rows li{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:var(--s1) var(--s5);padding:var(--s5) 0;border-bottom:1px solid var(--line)}
.rows .num{grid-row:span 2}
.rows h3{align-self:end}
.rows p{color:var(--muted);font-size:.975rem}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--code-muted)}
.step{padding:var(--s5) var(--s5) 0 0}
.step+.step{padding-left:var(--s5);border-left:1px solid var(--code-line)}
.step .num{margin-bottom:var(--s6);color:var(--code-accent)}
.step h3{margin-bottom:var(--s2);color:var(--code-strong)}
.step p{color:var(--code-muted);font-size:.975rem}
.tablist{display:flex;border-bottom:1px solid var(--text);overflow-x:auto;scrollbar-width:none}
.tablist::-webkit-scrollbar{display:none}
.tab{position:relative;flex:1 0 auto;min-height:3rem;padding:0 var(--s4);border:0;background:none;color:var(--muted);font-size:.9375rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:color var(--t-fast)}
.tab:hover{color:var(--text)}
.tab[aria-selected="true"]{color:var(--accent)}
.tab[aria-selected="true"]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--accent)}
.tabpanel{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s6) var(--gutter);padding:var(--s6) 0;border-bottom:1px solid var(--line)}
html.js .tabpanel{min-height:32rem}
html.js .tabpanel:not(.is-active){display:none}
.tab-text{grid-column:span 5}
.tab-text h3{font-size:clamp(1.375rem,2.2vw,1.75rem)}
.tab-text p{margin-top:var(--s3);color:var(--muted)}
.tabpanel .code{grid-column:span 7}
.code{display:flex;flex-direction:column;min-width:0;border:1px solid var(--code-line);border-radius:var(--r-lg);background:var(--code-bg);color:var(--code-fg);overflow:hidden}
.code figcaption{display:flex;justify-content:space-between;gap:var(--s4);padding:var(--s3) var(--s4);border-bottom:1px solid var(--code-line);font-family:var(--mono);font-size:var(--fs-xs);color:var(--code-muted)}
.code-lang{color:var(--code-accent)}
.code pre{flex:1;padding:var(--s4);overflow-x:auto;font-size:.8125rem;line-height:1.7;tab-size:4;scrollbar-width:thin;scrollbar-color:var(--code-line) transparent}
.code pre:focus-visible{outline-offset:-3px;outline-color:var(--code-accent)}
.bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--line);overflow:hidden}
.tile{display:flex;flex-direction:column;min-width:0;background:var(--surface)}
.span-4{grid-column:span 4}
.span-5{grid-column:span 5}
.span-7{grid-column:span 7}
.tile-text{display:grid;gap:var(--s2);padding:var(--s5)}
.tile-text>p:last-child{color:var(--muted);font-size:.975rem}
.tile-pkg{margin-bottom:var(--s3);font-size:.8rem}
.tile-pkg a{text-decoration:none}
.tile-pkg a:hover{text-decoration:underline}
.tile-visual{margin-top:auto;border-top:1px solid var(--line)}
.v{display:grid;align-content:center;gap:var(--s3);min-height:10.5rem;padding:var(--s5);background:var(--bg);font-family:var(--mono);font-size:.78rem;line-height:1.5;overflow:hidden}
.v-row,.v-lane{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:var(--s3);align-items:center}
.v-key,.v-kind{color:var(--muted)}
.v-tags{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s2)}
.v-tags li{padding:.1rem var(--s2);border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--surface)}
.v-checks{grid-template-columns:repeat(2,minmax(0,1fr))}
.v-checks li{display:flex;align-items:center;gap:var(--s2)}
.v-checks .ico{width:1rem;height:1rem;color:var(--accent);stroke-width:2.6}
.v-msgs{display:flex;gap:var(--s1)}
.v-msgs i{width:1.6rem;height:.9rem;border-radius:2px;background:var(--line2)}
.v-msgs .v-retry{background:var(--accent)}
.v-msgs .v-dead{background:var(--ember)}
.v-channels p{display:flex;align-items:center;gap:var(--s3)}
.v-channels code{min-width:0;overflow-wrap:anywhere}
.v-kind{margin-left:auto}
.v-pulse{flex:none;width:.45rem;height:.45rem;border-radius:50%;background:var(--accent)}
.sp{display:grid;grid-template-columns:4.5rem minmax(0,1fr);gap:var(--s3);align-items:center}
.sp span{color:var(--muted)}
.sp i{height:.5rem;border-radius:var(--r-pill);background:var(--accent);transform-origin:left}
.sp2 i{margin-left:6%;width:78%;opacity:.75}
.sp3 i{margin-left:22%;width:34%;opacity:.55}
.sp4 i{margin-left:62%;width:30%;background:var(--ember)}
.v-escape{justify-items:start}
.v-escape code{overflow-wrap:anywhere}
.v-arrow{line-height:0;color:var(--accent)}
.v-arrow .ico{width:1rem;height:1rem;transform:rotate(90deg)}
.v-term{background:var(--code-bg);color:var(--code-fg)}
.v-term pre{overflow-x:auto;line-height:1.7;scrollbar-width:thin;scrollbar-color:var(--code-line) transparent}
.index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s7);border-top:1px solid var(--text)}
.index li{position:relative;display:grid;grid-template-columns:2.5rem minmax(0,1fr) auto;gap:0 var(--s4);align-items:start;align-content:start;padding:var(--s5) 0;border-bottom:1px solid var(--line)}
.index-n{grid-row:span 2;padding-top:.3rem;font-family:var(--mono);font-size:var(--fs-xs);color:var(--accent)}
.index p{grid-column:2;margin-top:var(--s1);color:var(--muted);font-size:.975rem}
.index-go{grid-column:3;grid-row:1/span 2;align-self:center;line-height:0;color:var(--accent);transition:transform var(--t-fast) var(--ease)}
.index li:hover .index-go{transform:translateX(4px)}
.index li:hover h3{color:var(--accent)}
.index-all h3{color:var(--accent)}
.matrix{border-top:1px solid var(--text)}
.matrix div{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s3) var(--gutter);align-items:center;padding:var(--s3) 0;border-bottom:1px solid var(--line)}
.matrix dt{grid-column:span 3;font-weight:650;font-stretch:112%}
.matrix dt a{display:inline-flex;align-items:center;min-height:var(--tap);color:inherit;text-decoration:none}
.matrix dt a:hover{color:var(--accent)}
.matrix dd{grid-column:span 9}
.section-more{margin-top:var(--s5)}
.split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s6) var(--gutter);align-items:start}
.split-text{grid-column:span 5}
.split-text .head{margin-bottom:0}
.gates,.faq{grid-column:span 7}
.gates{border-top:1px solid var(--text)}
.gates li{display:grid;grid-template-columns:2.5rem minmax(0,1fr) auto;gap:var(--s3);align-items:center;min-height:4rem;padding:var(--s3) 0;border-bottom:1px solid var(--line)}
.gate-n{font-family:var(--mono);font-size:var(--fs-xs);color:var(--accent)}
.gate-t{display:grid}
.gate-t span{color:var(--muted);font-size:var(--fs-sm)}
.gates .ico{color:var(--accent);stroke-width:2.4}
.roadmap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--text)}
.col{padding:var(--s5) var(--s5) 0 0}
.col+.col{padding-left:var(--s5);border-left:1px solid var(--line)}
.col h3{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s4)}
.col h3::before{content:"";flex:none;width:.6rem;height:.6rem;background:var(--mark)}
.col.done h3::before{background:var(--accent)}
.col.doing h3::before{background:var(--ember)}
.col li{padding:var(--s2) 0;border-top:1px solid var(--line);color:var(--muted);font-size:.975rem}
.faq{border-top:1px solid var(--text)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);min-height:4rem;padding:var(--s3) 0;font-size:var(--fs-md);font-weight:650}
.faq summary:hover{color:var(--accent)}
.pm{position:relative;flex:none;width:1rem;height:1rem}
.pm::before,.pm::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:var(--accent);transition:transform var(--t-fast)}
.pm::after{transform:rotate(90deg)}
.faq details[open] .pm::after{transform:rotate(0)}
.faq details p{max-width:44rem;padding:0 var(--s6) var(--s5) 0;color:var(--muted)}
.contacts .cell{gap:var(--s1)}
.lab{font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.desc{color:var(--muted);font-size:var(--fs-sm)}
@media (max-width:1000px){
  .cols-4,.steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .step:nth-child(3){padding-left:0;border-left:0}
  .step:nth-child(n+3){margin-top:var(--s6);border-top:1px solid var(--code-line)}
  .sticky{position:static}
  html.js .tabpanel{min-height:0}
  .tab-text,.tabpanel .code,.split-text,.gates,.faq,.rows{grid-column:1/-1}
  .tile{grid-column:span 12}
  .tile:nth-child(2),.tile:nth-child(3),.tile:nth-child(5),.tile:nth-child(6){grid-column:span 6}
  .roadmap{grid-template-columns:minmax(0,1fr)}
  .col,.col+.col{padding:var(--s5) 0;border-left:0}
  .col+.col{border-top:1px solid var(--text)}
  .matrix dt{grid-column:span 4}
  .matrix dd{grid-column:span 8}
}
@media (max-width:640px){
  .cols-4,.steps,.index{grid-template-columns:minmax(0,1fr)}
  .step,.step+.step{padding:var(--s5) 0 0;border-left:0}
  .step+.step{margin-top:var(--s5);border-top:1px solid var(--code-line)}
  .step .num{margin-bottom:var(--s3)}
  .tile:nth-child(n){grid-column:span 12}
  .cell,.tile-text,.v{padding:var(--s4)}
  .rows li{grid-template-columns:3.5rem minmax(0,1fr);gap:var(--s1) var(--s4)}
  .matrix dt,.matrix dd{grid-column:1/-1}
  .matrix div{gap:0;padding:var(--s2) 0 var(--s4)}
  .v-row,.v-lane{grid-template-columns:5rem minmax(0,1fr)}
  .faq details p{padding-right:0}
}
.page-hero .stats,.page-hero .note{margin-top:var(--s6)}
.crumbs{margin-bottom:var(--s5);font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase}
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2)}
.crumbs li{display:flex;align-items:center;gap:var(--s2);min-height:var(--tap);color:var(--muted)}
.crumbs li+li::before{content:"/";color:var(--mark)}
.crumbs a{display:flex;align-items:center;min-height:var(--tap);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:46rem;margin-top:var(--s6);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}
.stats div{display:flex;flex-direction:column-reverse;gap:var(--s1);padding:var(--s4) var(--s5);border-left:1px solid var(--line)}
.stats div:first-child{border-left:0}
.stats dt{color:var(--muted);font-size:var(--fs-sm);line-height:1.35}
.stats dd{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:680;font-stretch:112%;line-height:1;letter-spacing:-.02em}
.jump{position:sticky;top:var(--bar);z-index:40;border-block:1px solid var(--line);background:var(--header);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px)}
.jump ul{display:flex;gap:var(--s1);overflow-x:auto;scrollbar-width:none}
.jump ul::-webkit-scrollbar{display:none}
.jump a{display:flex;align-items:center;min-height:var(--tap);padding:0 var(--s3);color:var(--muted);font-size:var(--fs-sm);font-weight:600;white-space:nowrap;text-decoration:none;transition:color var(--t-fast)}
.jump a:hover{color:var(--accent)}
.jump+section{border-top:0}
.area-sec,.uc-sec,#clients,#standards{scroll-margin-top:calc(var(--bar) + var(--tap))}
.pkg{scroll-margin-top:calc(var(--bar) + var(--tap) + var(--s5))}
.area-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s6) var(--gutter);align-items:start}
.area-head{grid-column:span 4}
.area-head h2{font-size:clamp(1.5rem,2.6vw,2.125rem)}
.area-head .num{margin-bottom:var(--s5)}
.pkgs,.uc-body,.area-grid>.standards{grid-column:span 8}
.pkgs{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}
.pkg{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:var(--s2) var(--s5);align-items:start;padding:var(--s4) var(--s5);border-bottom:1px solid var(--line);transition:background-color var(--t-fast)}
.pkg:last-child{border-bottom:0}
.pkg:target{background:var(--accent-soft)}
.pkg-name{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);font-size:var(--fs-sm);font-weight:600}
.pkg-name code{overflow-wrap:anywhere}
.pkg-text{color:var(--muted);font-size:.975rem}
.badge{padding:.1rem var(--s2);border:1px solid var(--accent);border-radius:var(--r-sm);color:var(--accent);font-family:var(--mono);font-size:.6875rem;font-weight:500;letter-spacing:.02em;white-space:nowrap}
.badge-planned{border-color:var(--line2);color:var(--muted)}
.is-planned .pkg-name code{color:var(--muted)}
.uc-body{padding:var(--s5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.uc-body .ticks{margin-top:0}
.uc-body .ticks li{color:var(--text)}
.secbox{padding:var(--s6) 0;border-block:1px solid var(--text)}
.sectext h2{margin-bottom:var(--s4);font-size:clamp(1.5rem,2.6vw,2.125rem)}
.sectext p{max-width:46rem;color:var(--muted)}
.sectext p+p{margin-top:var(--s3)}
.keyline{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s4);margin-top:var(--s5)}
.keyline span{font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase}
.keyline code{padding:var(--s2) var(--s3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);color:var(--text);font-size:.8125rem;overflow-wrap:anywhere}
.links{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s5);margin-top:var(--s4)}
.links a{display:flex;align-items:center;min-height:var(--tap);font-weight:600}
.policy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gutter);margin-top:var(--gutter)}
.policy-col{padding:var(--s5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.policy-col h3{margin-bottom:var(--s3)}
.policy-col p{color:var(--muted)}
.policy-col p+h3{margin-top:var(--s5);padding-top:var(--s5);border-top:1px solid var(--line)}
.policy-col p+p{margin-top:var(--s2)}
.targets div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s4);padding:var(--s3) 0;border-top:1px solid var(--line)}
.targets dt{color:var(--muted)}
.targets dd{font-weight:600}
.closing{background:var(--code-bg);color:var(--code-fg)}
.closing h2{font-size:clamp(2rem,5vw,3.75rem)}
.closing .frame{border-color:var(--code-line);text-align:center}
.closing-in{display:grid;justify-items:center;gap:var(--s4)}
.closing h2{max-width:40rem;color:var(--code-strong)}
.closing p{max-width:36rem;color:var(--code-muted);font-size:var(--fs-md)}
.closing .cta{justify-content:center;margin-top:var(--s3)}
.closing .btn{border-color:var(--code-line);background:transparent;color:var(--code-strong)}
.closing .btn:hover{border-color:var(--code-accent);color:var(--code-accent)}
.closing .btn.primary{border-color:var(--teal);background:var(--teal);color:var(--ink)}
.closing .btn.primary:hover{border-color:var(--code-accent);background:var(--code-accent);color:var(--ink)}
.closing :focus-visible{outline-color:var(--code-strong)}
footer.site{border-top:1px solid var(--line);background:var(--bg2)}
.foot{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:var(--s7) var(--gutter);padding-block:var(--s8) var(--s7)}
.fbrand{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--s4) var(--s6);align-items:center;padding-bottom:var(--s6);border-bottom:1px solid var(--line)}
.fbrand p{max-width:34rem;color:var(--muted);font-size:var(--fs-sm)}
.fstatus{display:flex;align-items:center;gap:var(--s3);font-family:var(--mono);font-size:var(--fs-xs)}
.fcol{grid-column:span 2;min-width:0}
.fcol h2{margin-bottom:var(--s3);font-family:var(--mono);font-size:var(--fs-xs);font-weight:500;font-stretch:100%;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.fcol li{padding:var(--s1) 0}
.fcol a{color:var(--text);font-size:var(--fs-sm);text-decoration:none;overflow-wrap:anywhere}
.fcol a:hover{color:var(--accent);text-decoration:underline}
.fcontact li{display:grid;gap:0;padding:var(--s1) 0 var(--s2)}
.fcontact span{color:var(--muted);font-size:var(--fs-xs)}
.fcontact .mailto{font-size:.8125rem}
.legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2) var(--s5);padding-block:var(--s4);border-top:1px solid var(--line);color:var(--muted);font-size:var(--fs-sm)}
.totop{display:flex;align-items:center;min-height:var(--tap)}
@media (pointer:coarse){
  .fcol li{padding:0}
  .fcol a{display:flex;align-items:center;min-height:var(--tap)}
}
@media (max-width:1000px){
  .area-head,.pkgs,.uc-body,.area-grid>.standards{grid-column:1/-1}
  .foot{grid-template-columns:repeat(6,minmax(0,1fr))}
  .foot>:nth-child(5),.foot>:nth-child(6){grid-column:span 3}
  .fbrand{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .pkg{grid-template-columns:minmax(0,1fr);padding:var(--s4)}
  .policy{grid-template-columns:minmax(0,1fr)}
  .stats div{padding:var(--s3)}
  .uc-body,.policy-col{padding:var(--s4)}
  .foot{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s6) var(--gutter);padding-block:var(--s7) var(--s6)}
  .foot>.fcol{grid-column:span 1}
  .foot>.fcontact{grid-column:1/-1}
  .targets div{grid-template-columns:minmax(0,1fr);gap:0}
}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes reveal{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes ping{0%{transform:scale(1);opacity:.7}80%,100%{transform:scale(2.8);opacity:0}}
@keyframes lit{0%,18%{opacity:1}24%,100%{opacity:.3}}
@keyframes step{0%,18%{opacity:1}24%,100%{opacity:.62}}
@keyframes beat{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes pop{from{opacity:0;transform:translateY(-6px) scale(.985)}to{opacity:1;transform:none}}
@keyframes feed{0%{opacity:0;transform:translate(0,0)}8%{opacity:1}35%{transform:translate(0,1.25rem)}80%{opacity:1;transform:translate(var(--dx),1.25rem)}100%{opacity:0;transform:translate(var(--dx),2.5rem)}}
@keyframes drop{0%{opacity:0;transform:translateY(0)}15%,80%{opacity:1}100%{opacity:0;transform:translateY(1.5rem)}}
@keyframes typed{0%,3%{opacity:0;transform:translateX(-4px)}9%,90%{opacity:1;transform:none}97%,100%{opacity:0;transform:none}}
@keyframes arrive{0%{opacity:0;transform:translateX(-2.5rem)}12%,62%{opacity:1;transform:none}74%,100%{opacity:0;transform:translateX(1rem)}}
@keyframes depart{0%,30%{opacity:0;transform:translateX(-1rem)}42%,86%{opacity:1;transform:none}100%{opacity:0;transform:translateX(2.5rem)}}
@keyframes span{0%,8%{transform:scaleX(0)}40%,88%{transform:scaleX(1)}100%{transform:scaleX(0)}}
@media (prefers-reduced-motion:no-preference){
  .dot::after{animation:ping 2.6s ease-out infinite}
  .hero .status,.hero h1 .l1,.hero h1 .l2,.hero .lead,.hero .cta,.hero .facts,.hv,.hv-chip,.hv-mark{animation:rise var(--t-slow) var(--ease) both;animation-delay:calc(var(--i,0)*var(--stagger))}
  .hero h1 .l1{--i:1}
  .hero h1 .l2{--i:2}
  .hero .lead{--i:3}
  .hero .cta{--i:4}
  .hero .facts{--i:5}
  .hv{--i:2}
  .hv-c1{--i:7}
  .hv-c2{--i:10}
  .hv-c3{--i:13}
  .hv-mark{--i:16}
  .hv-live{animation:blink 1.6s ease-in-out infinite}
  .hv-ring .arc{animation:lit 5s linear infinite}
  .hv-ring .a2{animation-delay:1s}
  .hv-ring .a3{animation-delay:2s}
  .hv-ring .a4{animation-delay:3s}
  .hv-ring .a5{animation-delay:4s}
  .sc-pulse{animation:feed 4s var(--ease) infinite}
  .sc-p2{animation-delay:.8s}
  .sc-p3{animation-delay:1.6s}
  .sc-p4{animation-delay:2.4s}
  .sc-p5{animation-delay:3.2s}
  .sc-dot{animation:drop 2.4s var(--ease) infinite 1s}
  .sc-stem+.sc-block+.sc-stem .sc-dot{animation-delay:2.2s}
  .sc-line{animation:typed 9s var(--ease) infinite}
  .sc-l2{animation-delay:.9s}
  .sc-l3{animation-delay:1.8s}
  .sc-caret,.sc-ready i{animation:blink 1.4s steps(2,jump-none) infinite}
  .sc-ring .arc{animation:lit 5s linear infinite}
  .sc-cycle li{animation:step 5s linear infinite}
  .sc-ring .a2,.sc-cycle li:nth-child(2){animation-delay:1s}
  .sc-ring .a3,.sc-cycle li:nth-child(3){animation-delay:2s}
  .sc-ring .a4,.sc-cycle li:nth-child(4){animation-delay:3s}
  .sc-ring .a5,.sc-cycle li:nth-child(5){animation-delay:4s}
  .sc-in-lane li{animation:arrive 6s var(--ease) infinite}
  .sc-out-lane li{animation:depart 6s var(--ease) infinite}
  .sc-lane li:nth-child(2){animation-delay:2s}
  .sc-lane li:nth-child(3){animation-delay:4s}
  .sc-span i{animation:span 6s var(--ease) infinite}
  .sc-s2 i{animation-delay:.3s}
  .sc-s3 i{animation-delay:.6s}
  [data-scene].is-paused *{animation-play-state:paused}
  .orb{transform-box:fill-box;transform-origin:center;animation:beat 3.6s ease-in-out infinite}
  .v-pulse{animation:blink 2.4s ease-in-out infinite}
  .v-channels p:nth-child(2) .v-pulse{animation-delay:.8s}
  .v-channels p:nth-child(3) .v-pulse{animation-delay:1.6s}
  .nav-group[open]>.mega>.mega-in,.lang[open]>ul,.search[open]{animation:pop var(--t-med) var(--ease)}
  @supports (animation-timeline:view()){
    .reveal{animation:reveal linear both;animation-timeline:view();animation-range:entry 2% cover 22%}
    .sp i{animation:grow linear both;animation-timeline:view();animation-range:entry 10% cover 35%}
  }
}
@media (prefers-reduced-motion:no-preference) and (max-width:1100px){
  .nav-group[open]>.mega>.mega-in{animation:none}
}
@media (prefers-reduced-motion:no-preference) and (max-width:700px){
  .sc-pulse{animation-name:drop}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
