:root{--bg:#06141B;--sf:#0D2430;--ink:#D6F3FF;--ac:#00E0FF;--ac2:#FF4FA3;--rule:#1B3A48;--mut:#86aebf}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:300 .95rem/1.7 "Azeret Mono",monospace;overflow-x:hidden}
h1,h2,b,.logo{font-family:"IBM Plex Sans Condensed",sans-serif}a{color:var(--ac)}
:focus-visible{outline:2px solid var(--ac2);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:var(--ac);color:var(--bg);padding:.4rem .8rem;z-index:30}
.bar{border-bottom:1px solid var(--rule);background:#06141Bee;position:sticky;top:0;z-index:20;backdrop-filter:blur(6px)}
.row1{display:flex;justify-content:space-between;align-items:center;padding:.8rem clamp(1rem,3vw,2rem)}
.logo{display:flex;gap:.5rem;align-items:center;color:var(--ink);text-decoration:none;font-weight:700;letter-spacing:.08em}.logo svg{width:24px;fill:var(--ac);stroke:var(--ac2);stroke-width:1.5}
.mt{display:none}
nav ul{list-style:none;margin:0;padding:0 clamp(1rem,3vw,2rem);display:flex;gap:2px;overflow-x:auto}
nav a{display:flex;flex-direction:column;padding:.5rem .9rem .6rem;text-decoration:none;color:var(--mut);border:1px solid transparent;border-bottom:0;border-radius:6px 6px 0 0;white-space:nowrap}
nav code{font-size:.65rem;opacity:.6}nav b{font-weight:600;font-size:1rem;color:var(--ink)}nav span{font-size:.7rem}
nav a:hover{background:var(--sf)}nav a[aria-current]{background:var(--sf);border-color:var(--rule);color:var(--ac)}nav a[aria-current] b{color:var(--ac)}
.crumb{margin:0;padding:.45rem clamp(1rem,3vw,2rem);background:var(--sf);font-size:.8rem;color:var(--mut)}.crumb [aria-current]{color:var(--ac2)}.plain{opacity:.8}
main{padding:0 clamp(1rem,3vw,2rem) 3rem}
.sky{position:relative;min-height:78dvh;margin:0 calc(-1*clamp(1rem,3vw,2rem));overflow:hidden;border-bottom:1px solid var(--rule)}
#field{position:absolute;inset:0;width:100%;height:100%}
.skytext{position:absolute;left:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem);bottom:2rem;max-width:760px}
.skytext h1{font-size:clamp(2.2rem,6vw,4.6rem);line-height:1;margin:.3rem 0;font-weight:700}.skytext em{color:var(--ac);font-style:normal}
.lbl{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ac2);margin:0}
.ann{position:absolute;font-size:.75rem;border-left:1px solid var(--ac2);padding-left:.6rem;color:var(--ink);opacity:0;animation:fade 1s forwards;max-width:200px;background:#06141Bcc}
.ann span{display:block;color:var(--ac2);text-transform:uppercase;letter-spacing:.15em;font-size:.65rem}
.a1{top:12%;left:8%;animation-delay:.8s}.a2{top:24%;left:46%;animation-delay:1.6s}.a3{top:10%;right:6%;animation-delay:2.4s}
@keyframes fade{to{opacity:1}}
.query{padding:3rem 0}.query h2,.ph h1{font-weight:700}.query h2{font-size:2rem;margin:0 0 1rem}
.qbox{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;background:var(--sf);border:1px solid var(--rule);padding:1rem;border-radius:8px}
.qbox label code{color:var(--mut);font-size:.85rem}.qbox input{flex:1;min-width:200px;font:inherit;background:var(--bg);color:var(--ac);border:1px solid var(--ac);padding:.6rem .8rem;border-radius:4px}
.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.8rem 0}.chips button,.rng button{font:inherit;font-size:.8rem;background:transparent;color:var(--ink);border:1px solid var(--rule);padding:.3rem .8rem;border-radius:99px;cursor:pointer}
.chips button:hover,.rng button[aria-pressed=true]{border-color:var(--ac2);color:var(--ac2)}
.rows{color:var(--mut);font-size:.8rem}
.grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
.svc a{display:flex;flex-direction:column;gap:.2rem;padding:1.2rem;background:var(--bg);height:100%;text-decoration:none;color:var(--ink);transition:background .2s}
.svc a:hover{background:var(--sf)}.svc b{font-size:1.3rem;color:var(--ac)}.svc .k{font-size:.65rem;color:var(--ac2);letter-spacing:.2em;text-transform:uppercase}.svc[hidden]{display:none}
.ph{padding:2.5rem 0 1.5rem;max-width:820px}.ph h1{font-size:clamp(2.6rem,7vw,5rem);margin:.2rem 0;line-height:1}.lede{color:var(--mut)}
.flowwrap{position:relative;margin:1rem 0 3rem}.flow{position:absolute;top:22px;left:0;width:100%;height:60px}
.flow path{fill:none;stroke:var(--ac);stroke-width:2;stroke-dasharray:6 8;animation:dash 3s linear infinite}@keyframes dash{to{stroke-dashoffset:-140}}
.nodes{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;position:relative}
.node{padding-top:70px}.pt{display:block;width:18px;height:18px;border-radius:50%;background:var(--bg);border:3px solid var(--ac2);position:absolute;top:44px;margin-left:4px}
.node h2{font-size:1.4rem;margin:0;color:var(--ac)}.node p{font-size:.85rem;color:var(--mut);border-top:1px solid var(--rule);padding-top:.5rem}.node:focus-visible{outline-offset:6px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:2rem;border-top:1px solid var(--rule);padding-top:2rem;margin-top:2rem}.split h2{color:var(--ac2);font-weight:600}
.dash{list-style:none;padding:0}.dash li:before{content:"— ";color:var(--ac)}
.pink{color:var(--ac2)}
.dashb{background:var(--sf);border:1px solid var(--rule);border-radius:10px;padding:1.2rem;position:relative}
.dhead{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;align-items:center}.tag{background:var(--ac2);color:var(--bg);font-weight:600;padding:.15rem .6rem;font-size:.75rem;letter-spacing:.2em}
.rng{display:flex;gap:.3rem}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1rem 0}.kpi{border:1px solid var(--rule);padding:1rem;border-radius:6px}.kpi span{display:block;font-size:.72rem;color:var(--mut)}.kpi b{font-size:2.2rem;color:var(--ac)}
.chart{margin:0}.chart svg{width:100%;height:auto}.chart rect{fill:var(--ac);transition:all .4s}.chart rect.hi{fill:var(--ac2)}.chart figcaption{font-size:.75rem;color:var(--mut)}
.pcols{display:grid;grid-template-columns:repeat(5,1fr);border-top:2px solid var(--ac);border-bottom:1px solid var(--rule)}
.pcol{padding:1.2rem;border-right:1px solid var(--rule);min-height:280px}.pcol:last-child{border-right:0}.pcol h2{color:var(--ac);font-size:1.5rem;line-height:1.1}
.cgrid{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:start}
.schema{background:var(--sf);border:1px solid var(--rule);border-radius:8px;padding:1.4rem 1.4rem 1.4rem 1.6rem}
.brace{color:var(--ac2);font-size:1.6rem;margin:0}.f{margin:.7rem 0 .7rem 1.4rem}.f label{display:block;color:var(--ac);font-size:.9rem}
.req{color:var(--ac2);font-size:.75rem}.opt{color:var(--mut);font-size:.75rem}
.schema input,.schema select,.schema textarea{width:100%;font:inherit;background:var(--bg);color:var(--ink);border:1px solid var(--rule);padding:.55rem;border-radius:4px;margin-top:.2rem}
.schema input:focus,.schema textarea:focus,.schema select:focus{border-color:var(--ac)}
.schema button{font:600 .95rem "Azeret Mono";background:var(--ac);color:var(--bg);border:0;padding:.7rem 1.2rem;border-radius:4px;cursor:pointer;margin-top:.6rem}
.status{color:var(--ac2);min-height:1.4em}.fb{font-size:.8rem;word-break:break-all}
.reg{border:1px dashed var(--ac2);padding:1.3rem;border-radius:8px}.reg dl{margin:.8rem 0 0}.reg dt{color:var(--mut);font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;margin-top:.7rem}.reg dd{margin:0;word-break:break-word}
.prose{max-width:70ch}.prose h2{color:var(--ac);font-family:"Azeret Mono";font-weight:600;font-size:1rem;margin-top:2rem}
.foot{display:flex;flex-wrap:wrap;gap:.5rem 2rem;padding:1.5rem clamp(1rem,3vw,2rem);border-top:1px solid var(--rule);font-size:.75rem;color:var(--mut)}
@media (max-width:860px){.mt{display:block;font:inherit;background:var(--sf);color:var(--ac);border:1px solid var(--rule);padding:.4rem .8rem;border-radius:4px}
nav{display:none}.bar.open nav{display:block}nav ul{flex-direction:column;padding-bottom:.6rem}nav a{flex-direction:row;gap:.4rem;align-items:baseline;border-radius:4px}
.nodes{grid-template-columns:1fr;gap:0}.flow{display:none}.node{padding:0 0 0 2.2rem;border-left:2px dashed var(--ac);position:relative}.pt{top:4px;left:-11px;margin:0}
.split,.cgrid,.kpis{grid-template-columns:1fr}.pcols{grid-template-columns:1fr}.pcol{border-right:0;border-bottom:1px solid var(--rule);min-height:0}
.ann{display:none}.sky{min-height:70dvh}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.ann{opacity:1}}
