/* openaicompatibleapi.com - celestial star-atlas */
:root{
  --bg:#060a14;--bg2:#0a1022;--pit:#04070f;--ink:#e9eefb;--tx:#c5cee3;--mut:#93a0be;
  --line:rgba(150,172,255,.16);--line2:rgba(150,172,255,.3);
  --g:hsl(113 72% 68%);--g2:hsl(113 78% 78%);--gl:hsla(113,72%,68%,.12);--gm:hsla(113,72%,68%,.4);
  --onb:#04130a;--pad:44px;
  --disp:"Marcellus","Cormorant Garamond",Georgia,serif;
  --text:"Commissioner",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"Victor Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;position:relative;font:400 17px/1.65 var(--text);color:var(--tx);background-color:var(--bg);
  background-image:
    radial-gradient(circle at 31px 47px,rgba(255,255,255,.95) 0 .8px,transparent 1.5px),
    radial-gradient(circle at 173px 121px,rgba(214,226,255,.8) 0 .7px,transparent 1.4px),
    radial-gradient(circle at 97px 203px,rgba(255,255,255,.55) 0 .6px,transparent 1.2px),
    radial-gradient(circle at 211px 29px,rgba(190,255,180,.75) 0 .8px,transparent 1.6px),
    radial-gradient(circle at 59px 311px,rgba(255,255,255,.7) 0 .6px,transparent 1.3px),
    radial-gradient(circle at 337px 173px,rgba(200,214,255,.6) 0 1.1px,transparent 2px),
    radial-gradient(circle at 263px 401px,rgba(255,255,255,.5) 0 .6px,transparent 1.2px),
    radial-gradient(circle at 449px 83px,rgba(255,255,255,.85) 0 1.2px,transparent 2.4px),
    radial-gradient(circle at 127px 487px,rgba(214,226,255,.45) 0 .7px,transparent 1.4px);
  background-size:241px 257px,283px 239px,197px 311px,419px 367px,331px 389px,463px 421px,509px 547px,691px 613px,577px 659px;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
[hidden]{display:none!important}
img,svg{max-width:100%}
a{color:var(--g);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{color:var(--g2)}
:focus-visible{outline:2px solid var(--g);outline-offset:3px;border-radius:4px}
::selection{background:var(--g);color:var(--onb)}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
h1,h2{font-family:var(--disp);font-weight:400;color:var(--ink);letter-spacing:.005em}
h3{font:600 1.06rem/1.35 var(--text);color:var(--ink)}
main{display:block;overflow-x:clip;min-height:60vh}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--g);color:var(--onb);padding:12px 18px;border-radius:999px;font-weight:600;text-decoration:none}
.skip:focus{left:12px}

/* sky decoration */
.sky{position:absolute;top:0;left:0;right:0;height:1500px;overflow:hidden;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse 55% 40% at 86% 4%,hsla(113,70%,50%,.13),transparent 70%),
    radial-gradient(ellipse 50% 36% at 6% 22%,rgba(72,96,220,.16),transparent 70%)}
.rings{position:absolute;width:1300px;height:1300px;right:-470px;top:-600px;border-radius:50%;
  background:radial-gradient(circle,transparent 0 219px,rgba(150,172,255,.2) 220px 221px,transparent 222px 339px,hsla(113,72%,68%,.24) 340px 341px,transparent 342px 469px,rgba(150,172,255,.15) 470px 471px,transparent 472px 599px,rgba(150,172,255,.1) 600px 601px,transparent 602px)}
.rings::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;margin:-4px 0 0 336px;border-radius:50%;background:var(--g);box-shadow:0 0 16px 3px var(--gm);transform-origin:-336px 4px;animation:spin 90s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;border:0;border-radius:999px;
  background:var(--g);color:var(--onb);font:600 .95rem/1.2 var(--text);text-decoration:none;cursor:pointer;text-align:center;
  box-shadow:0 0 0 1px hsla(113,80%,80%,.5),0 0 30px -6px var(--gm);transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{background:var(--g2);color:var(--onb);transform:translateY(-1px);box-shadow:0 0 0 1px hsla(113,80%,85%,.7),0 0 38px -4px hsla(113,72%,68%,.6)}
.btn:disabled{opacity:.6;cursor:progress;transform:none}
.btn.big{min-height:56px;padding:0 32px;font-size:1.06rem}
.btn.wide{width:100%}
.btn.sm{min-height:44px;padding:0 16px;font-size:.88rem}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line2)}
.btn.ghost:hover{background:rgba(150,172,255,.1);color:var(--ink);box-shadow:inset 0 0 0 1px var(--mut)}
.lnk{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);font-weight:500;text-decoration:underline;text-decoration-color:var(--gm);text-underline-offset:.35em}
.lnk::after{content:"\2192";margin-left:.5em;color:var(--g);transition:transform .15s}
.lnk:hover{color:var(--g2)}.lnk:hover::after{transform:translateX(3px)}
.acts-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}
.lbl{font:500 .74rem/1.3 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.st{fill:var(--g);flex:none}

/* header */
.top{position:sticky;top:0;z-index:50;background:rgba(6,10,20,.84);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.top-in{max-width:1240px;margin:0 auto;padding:0 28px;min-height:72px;display:flex;align-items:center;gap:20px}
.logo{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--ink);text-decoration:none;font:400 1.08rem/1 var(--disp);letter-spacing:.02em;min-width:0}
.logo .mark{color:var(--g);flex:none;filter:drop-shadow(0 0 6px var(--gm))}
.logo span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.logo:hover{color:var(--ink)}
.nav{display:flex;margin-left:auto}
.nav a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:4px 22px;color:var(--mut);text-decoration:none;font:500 .82rem/1 var(--mono);letter-spacing:.06em}
.nav a i{width:5px;height:5px;border-radius:50%;background:#cfd9f6;position:relative;z-index:1;transition:transform .2s,background .2s,box-shadow .2s}
.nav a+a::before{content:"";position:absolute;top:11px;left:-50%;width:100%;height:1px;background:linear-gradient(90deg,var(--line2),var(--line))}
.nav a:nth-child(2) i{transform:translateY(-3px)}
.nav a:nth-child(2)+a::before{transform:rotate(-2.6deg)}
.nav a:nth-child(2)::before{transform:rotate(-2.6deg)}
.nav a:nth-child(4) i{transform:translateY(2px)}
.nav a:nth-child(4)::before{transform:rotate(1.8deg)}
.nav a:hover{color:var(--ink)}
.nav a:hover i{background:var(--g2)}
.nav a[aria-current]{color:var(--ink)}
.nav a[aria-current] i{background:var(--g);box-shadow:0 0 0 3px rgba(6,10,20,1),0 0 0 4px var(--gm),0 0 16px 4px var(--gm);scale:1.5}
.burger{display:none;width:46px;height:46px;margin-left:auto;padding:0;border:1px solid var(--line2);border-radius:50%;background:transparent;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex:none}
.burger i{display:block;width:18px;height:1.5px;background:var(--ink);border-radius:2px}
.burger i:nth-child(2){width:11px;background:var(--g)}

/* frame: chart column + instrument rail */
.frame{max-width:1240px;margin:0 auto;padding:0 28px 110px;display:grid;grid-template-columns:minmax(0,1fr) 316px;gap:68px;align-items:start}
.frame.solo{grid-template-columns:minmax(0,1fr);max-width:1000px}
.col{position:relative;min-width:0;padding-left:var(--pad);padding-top:56px}
.col::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent 0,var(--g) 70px,hsla(113,72%,68%,.5) 420px,var(--line2) 900px,var(--line) 100%)}
.sec{margin-top:92px}
.sh{position:relative;font-size:clamp(1.65rem,2.6vw,2.2rem);line-height:1.15;margin-bottom:30px}
.sh::before,.prose h2::before,.eyebrow::before,.crumbs::before{content:"";position:absolute;left:calc(var(--pad) * -1 - 4px);top:.52em;width:9px;height:9px;border-radius:50%;background:var(--g);box-shadow:0 0 0 5px var(--bg),0 0 0 6px var(--gm),0 0 18px 5px var(--gm)}

/* hero */
.eyebrow{position:relative;display:flex;align-items:center;gap:10px;font:500 .78rem/1.4 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--g);margin-bottom:22px}
.eyebrow::before{top:.3em}
h1{font-size:clamp(2.05rem,4.5vw,3.6rem);line-height:1.08;overflow-wrap:break-word}
.lead{margin-top:22px;font-size:1.16rem;line-height:1.6;color:var(--tx);max-width:62ch;font-weight:300}
.bul{margin:28px 0 34px;display:grid;gap:12px;max-width:66ch}
.bul li{display:flex;gap:14px;align-items:flex-start;color:var(--ink)}
.bul .st{margin-top:.38em}
.try{margin-top:52px}
.try .lbl{margin-bottom:12px;display:flex;align-items:center;gap:12px}
.try .lbl::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line2),transparent)}
.hfacts{display:none}

/* code */
pre.code{position:relative;margin:1.5em 0;padding:48px 20px 20px;max-width:100%;overflow-x:auto;background:var(--pit);border:1px solid var(--line2);border-radius:14px;
  font:400 .84rem/1.7 var(--mono);color:#dbe4fa;-moz-tab-size:2;tab-size:2;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}
pre.code code{font:inherit;background:none;padding:0;border:0;color:inherit;white-space:pre}
pre.code .k{color:#a9c0ff}pre.code .s{color:var(--g2)}pre.code .c{color:#8792b3;font-style:italic}
.copy{position:absolute;top:6px;right:8px;min-height:36px;min-width:64px;padding:0 12px;border:1px solid var(--line2);border-radius:999px;background:rgba(150,172,255,.08);color:var(--tx);font:500 .72rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.copy::before{content:"";position:absolute;inset:-5px}
.copy:hover{border-color:var(--g);color:var(--g2)}
.codebox{border:1px solid var(--line2);border-radius:16px;background:var(--pit);overflow:hidden;box-shadow:0 40px 90px -40px rgba(0,0,0,.9),0 0 70px -30px var(--gm)}
.codetabs{display:flex;gap:2px;padding:0 10px;border-bottom:1px solid var(--line);overflow-x:auto}
.codetabs button{min-height:48px;padding:0 18px;border:0;background:none;color:var(--mut);font:500 .8rem/1 var(--mono);letter-spacing:.06em;cursor:pointer;white-space:nowrap;position:relative}
.codetabs button:hover{color:var(--ink)}
.codetabs button[aria-selected=true]{color:var(--ink)}
.codetabs button[aria-selected=true]::after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:2px;background:var(--g);box-shadow:0 0 12px var(--g)}
.codebox pre.code{margin:0;border:0;border-radius:0;background:none}

/* numerals */
.n{font:500 .74rem/1 var(--mono);letter-spacing:.12em;color:var(--g)}

/* features: chart list */
.chart{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}
.chart li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;padding:24px 0;border-top:1px solid var(--line)}
.chart .n{padding-top:.42em}
.chart p{margin-top:8px;font-size:.96rem;color:var(--tx)}

/* steps: orbit */
.orbit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;counter-reset:s}
.orbit li{position:relative;min-width:0}
.orbit .n{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;border:1px solid var(--gm);font:400 1.3rem/1 var(--disp);letter-spacing:0;color:var(--g);background:radial-gradient(circle,var(--gl),transparent 70%);box-shadow:0 0 0 7px var(--bg),0 0 0 8px var(--line);margin-bottom:22px;position:relative;z-index:1}
.orbit li+li::before{content:"";position:absolute;top:29px;left:calc(-100% + 34px);right:calc(100% + 12px);height:1px;background:repeating-linear-gradient(90deg,var(--line2) 0 5px,transparent 5px 10px)}
.orbit p{margin-top:8px;font-size:.96rem}

/* use cases */
.uses-l .use{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:8px 40px;padding:24px 0;border-top:1px solid var(--line)}
.uses-l .use:last-child{border-bottom:1px solid var(--line)}
.uses-l dt{font:400 1.3rem/1.25 var(--disp);color:var(--ink)}
.uses-l dd{font-size:.98rem}

/* prose */
.prose{max-width:74ch}
.prose.doc{max-width:none}
.prose.doc>p,.prose.doc>ul,.prose.doc>ol{max-width:74ch}
.prose.read{max-width:68ch;font-size:1.07rem;line-height:1.78}
.prose>*+*{margin-top:1.15em}
.prose h2{position:relative;font-size:clamp(1.55rem,2.4vw,2rem);line-height:1.18;margin-top:2.4em;scroll-margin-top:96px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:1.14rem;margin-top:2em}
.prose strong,.prose b{color:var(--ink);font-weight:600}
.prose ul,.prose ol{padding-left:0;display:grid;gap:.55em}
.prose li{position:relative;padding-left:1.6em}
.prose ul>li::before{content:"";position:absolute;left:.25em;top:.68em;width:6px;height:6px;border-radius:50%;background:var(--g);box-shadow:0 0 8px var(--gm)}
.prose ol{counter-reset:o}
.prose ol>li{counter-increment:o;padding-left:2.2em}
.prose ol>li::before{content:counter(o,decimal-leading-zero);position:absolute;left:0;top:.42em;font:500 .74rem/1 var(--mono);color:var(--g)}
.prose :not(pre)>code{font:400 .86em var(--mono);color:var(--g2);background:rgba(150,172,255,.1);border:1px solid var(--line);border-radius:6px;padding:.1em .4em;overflow-wrap:anywhere}
.prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;border:1px solid var(--line2);border-radius:14px;font-size:.94rem;margin-top:1.6em;scrollbar-width:thin}
.prose th,.prose td{padding:13px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;min-width:120px}
.prose th{font:500 .72rem/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--g);background:rgba(150,172,255,.06);white-space:nowrap}
.prose tr:last-child td{border-bottom:0}
.prose td:first-child{color:var(--ink);font-weight:500}
.prose blockquote{margin-left:0;margin-right:0;padding-left:20px;border-left:1px solid var(--g);color:var(--ink)}

/* faq */
.faq-l{border-bottom:1px solid var(--line);max-width:80ch}
.faq details{border-top:1px solid var(--line)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;padding:14px 0;cursor:pointer;list-style:none;font:500 1.06rem/1.4 var(--text);color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{position:relative;flex:none;width:30px;height:30px;border:1px solid var(--line2);border-radius:50%;transition:transform .25s,border-color .2s}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1px;margin:-.5px 0 0 -5px;background:var(--g)}
.faq summary i::after{transform:rotate(90deg)}
.faq details[open] summary i{transform:rotate(45deg);border-color:var(--gm)}
.faq summary:hover i{border-color:var(--g)}
.ans{padding:0 50px 24px 0;font-size:.99rem}

/* cta band */
.band{position:relative;overflow:hidden;margin-top:96px;padding:48px 44px;border:1px solid var(--line2);border-radius:22px;background:linear-gradient(135deg,rgba(14,22,46,.9),rgba(6,10,20,.6))}
.band-o{position:absolute;width:560px;height:560px;right:-220px;top:50%;margin-top:-280px;border-radius:50%;background:radial-gradient(circle,hsla(113,72%,68%,.16) 0 40px,transparent 41px 109px,hsla(113,72%,68%,.3) 110px 111px,transparent 112px 189px,rgba(150,172,255,.22) 190px 191px,transparent 192px 279px,rgba(150,172,255,.14) 279px 280px,transparent 281px)}
.band h2{position:relative;font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.15;max-width:20ch}
.band p{position:relative;margin-top:12px;max-width:48ch}
.band .acts-row{margin-top:28px}

/* rail */
.rail{position:sticky;top:96px;margin-top:56px;min-width:0}
.rail-in{max-height:calc(100vh - 120px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line2) transparent;padding:24px 22px;border:1px solid var(--line2);border-radius:20px;background:linear-gradient(180deg,rgba(13,20,42,.86),rgba(7,11,22,.86));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 30px 80px -40px #000}
.dial{width:150px;height:150px;margin:0 auto 20px}
.dial svg{display:block;width:100%;height:100%;overflow:visible}
.dial circle,.dial path{fill:none;stroke:rgba(150,172,255,.34);stroke-width:1}
.dial .o1{stroke-dasharray:2 6}.dial .o2{stroke:var(--gm)}.dial .ax{stroke:rgba(150,172,255,.13)}.dial .tk path{stroke:var(--mut)}
.dial .core{fill:var(--g);stroke:none;filter:drop-shadow(0 0 8px var(--g))}
.dial .sat circle{stroke:none;fill:var(--ink)}
.dial .s1 circle{fill:var(--g)}
.dial .sat{transform-origin:120px 120px;animation:spin 46s linear infinite}
.dial .s2{animation-duration:120s;animation-direction:reverse}.dial .s3{animation-duration:19s}
.rail-h{font:400 1.36rem/1.2 var(--disp);color:var(--ink)}
.rail-p{margin-top:8px;font-size:.9rem;line-height:1.5;color:var(--mut)}
.rail-cta .btn{margin-top:18px}
.rail-sub{margin-top:16px;font:400 .76rem/1.55 var(--mono);color:var(--mut)}
.facts{margin-top:22px}
.facts div{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px dashed var(--line2)}
.facts dd{font:400 1.36rem/1.1 var(--disp);color:var(--ink);white-space:nowrap}
.facts div:first-child dd{color:var(--g)}
.facts dt{font:400 .72rem/1.35 var(--mono);color:var(--mut);text-align:right}
.ep{margin-top:20px;padding:14px;border-radius:12px;background:var(--pit);border:1px solid var(--line);display:grid;gap:12px}
.ep div{min-width:0}
.ep dt{font:500 .66rem/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.ep dd{margin-top:3px;font:400 .76rem/1.45 var(--mono);color:var(--ink);overflow-wrap:anywhere;word-break:break-all}
.toc{margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.toc ol{margin-top:10px;position:relative;padding-left:18px}
.toc ol::before{content:"";position:absolute;left:3px;top:20px;bottom:20px;width:1px;background:var(--line2)}
.toc li{position:relative}
.toc li::before{content:"";position:absolute;left:-18px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:var(--bg2);border:1px solid var(--mut)}
.toc li:hover::before{background:var(--g);border-color:var(--g);box-shadow:0 0 10px var(--gm)}
.toc a{display:flex;align-items:center;min-height:44px;padding:5px 0;font-size:.88rem;line-height:1.35;color:var(--tx);text-decoration:none}
.toc a:hover{color:var(--ink)}
.toc.inl{display:none}

/* page heads */
.crumbs{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-bottom:20px;font:500 .76rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.crumbs::before{top:1.15em}
.crumbs a{display:inline-flex;align-items:center;min-height:44px;color:var(--mut);text-decoration:none}
.crumbs a:hover{color:var(--g2)}
.crumbs i{width:18px;height:1px;background:var(--line2)}
.crumbs span{color:var(--g)}
.phead .ep{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);max-width:640px;margin-top:30px;padding:16px 18px}
.phead .ep dd{font-size:.84rem}
.date{margin-top:18px;font:400 .78rem/1.4 var(--mono);letter-spacing:.08em;color:var(--mut)}
.take{margin-top:34px;padding:24px 26px;border:1px solid var(--line2);border-radius:18px;background:linear-gradient(180deg,rgba(13,20,42,.7),rgba(7,11,22,.5));max-width:68ch}
.take ul{margin-top:14px;display:grid;gap:12px}
.take li{display:flex;gap:14px;align-items:flex-start;color:var(--ink);font-size:.99rem}
.take .st{margin-top:.38em}
.phead+.prose{margin-top:60px}

/* pricing */
.tiles{margin-top:36px;display:grid;grid-template-columns:1.35fr repeat(4,minmax(0,1fr));border:1px solid var(--line2);border-radius:18px;background:linear-gradient(180deg,rgba(13,20,42,.7),rgba(7,11,22,.5));overflow:hidden}
.tile{min-width:0;padding:22px 18px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-end;gap:8px}
.tile:first-child{border-left:0}
.tile dd{font:400 1.9rem/1 var(--disp);color:var(--ink);white-space:nowrap}
.tile dt{font:400 .72rem/1.4 var(--mono);color:var(--mut)}
.tile.t0{background:radial-gradient(circle at 20% 110%,hsla(113,72%,68%,.2),transparent 70%)}
.tile.t0 dd{font-size:3rem;color:var(--g);text-shadow:0 0 30px var(--gm)}
.sub{display:flex;align-items:center;gap:10px;margin-top:18px;font:400 .82rem/1.5 var(--mono);color:var(--tx)}
.calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.1fr);border:1px solid var(--line2);border-radius:18px;background:rgba(10,16,34,.75);overflow:hidden}
.calc>div{min-width:0;padding:24px 22px;display:flex;flex-direction:column;gap:10px;justify-content:space-between}
.calc>div+div{border-left:1px solid var(--line)}
.calc>div:last-child{background:radial-gradient(circle at 100% 100%,hsla(113,72%,68%,.18),transparent 75%)}
.calc label,.form label{font:500 .7rem/1.4 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--mut)}
.calc output{display:block;font:400 2.6rem/1.1 var(--disp);color:var(--g);text-shadow:0 0 30px var(--gm);overflow-wrap:anywhere}
input{width:100%;min-height:50px;padding:0 14px;border:1px solid var(--line2);border-radius:11px;background:var(--pit);color:var(--ink);font:400 1rem var(--mono);-webkit-appearance:none;appearance:none}
input:hover{border-color:var(--mut)}
input:focus{outline:0;border-color:var(--g);box-shadow:0 0 0 3px var(--gl),0 0 22px -6px var(--gm)}
.ex-l{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ex-l li{min-width:0;padding:24px 20px;border:1px solid var(--line);border-top:1px solid var(--gm);border-radius:4px 4px 16px 16px;background:linear-gradient(180deg,var(--gl),transparent 90px)}
.ex-l h3{margin-top:14px}
.ex-l p{margin-top:8px;font-size:.94rem}

/* key page */
.keytop{max-width:1240px;margin:0 auto;padding:60px 28px 30px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,470px);grid-template-areas:"head form" "ben form";gap:36px 76px;align-items:start}
.k-head{grid-area:head;min-width:0}
.k-head .crumbs::before{display:none}
.k-form{grid-area:form;position:relative;min-width:0}
.k-ben{grid-area:ben;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 32px;padding-top:30px;border-top:1px solid var(--line)}
.k-ben li{display:flex;gap:14px;align-items:flex-start;min-width:0}
.k-ben .st{margin-top:.4em}
.k-ben p{margin-top:6px;font-size:.94rem}
.k-rings{position:absolute;z-index:-1;left:50%;top:230px;width:980px;height:980px;margin:-490px 0 0 -490px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,transparent 0 329px,hsla(113,72%,68%,.26) 330px 331px,transparent 332px 409px,rgba(150,172,255,.18) 410px 411px,transparent 412px 489px,rgba(150,172,255,.1) 489px 490px,transparent 491px)}
.k-rings::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;margin:-4px 0 0 326px;border-radius:50%;background:var(--g);box-shadow:0 0 16px 3px var(--gm);transform-origin:-326px 4px;animation:spin 70s linear infinite}
.form{position:relative;padding:28px;border:1px solid var(--gm);border-radius:22px;background:linear-gradient(180deg,#0e1632,#080d1c);box-shadow:0 0 0 7px hsla(113,72%,68%,.05),0 40px 90px -30px #000,0 0 80px -20px var(--gm)}
.tabs2{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--pit)}
.tabs2 button{min-height:44px;padding:0 10px;border:0;border-radius:999px;background:none;color:var(--mut);font:500 .92rem/1.2 var(--text);cursor:pointer}
.tabs2 button:hover{color:var(--ink)}
.tabs2 button[aria-selected=true]{background:rgba(150,172,255,.16);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line2)}
.msg{display:none}
.msg.err{display:block;margin-top:16px;padding:12px 14px;border:1px solid rgba(255,140,140,.45);border-radius:11px;background:rgba(255,90,90,.1);color:#ffc2c2;font-size:.92rem;line-height:1.45}
.row{margin-top:18px}
.row label{display:block;margin-bottom:8px}
.note{margin-top:8px;font-size:.82rem;line-height:1.5;color:var(--mut)}
.form form>.btn{width:100%;min-height:56px;margin-top:22px;font-size:1.02rem}
.form form>.note{text-align:center;margin-top:14px}
.keyout{display:none}
.keyout.on{display:block}
.keyout h3{font:400 1.5rem/1.2 var(--disp)}
.keybox{display:flex;align-items:center;gap:12px;margin-top:16px;padding:10px 10px 10px 16px;border:1px dashed var(--gm);border-radius:14px;background:var(--pit)}
.keybox span{flex:1;min-width:0;font:500 .86rem/1.5 var(--mono);color:var(--g2);overflow-wrap:anywhere;word-break:break-all}
.keyout p{margin-top:14px;font-size:.92rem;line-height:1.9}
.keyout p.note{line-height:1.5;font-size:.82rem;margin-top:10px}
.keyout strong{font:500 .7rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.keyout code{font:400 .84rem var(--mono);color:var(--ink);overflow-wrap:anywhere}
.keyout .mut{color:var(--mut)}
.acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.k-form>.ep{grid-template-columns:minmax(0,2.6fr) minmax(0,1fr);background:rgba(4,7,15,.8)}
.m-key .col{padding-top:20px}
.m-key .col>.sec:first-child{margin-top:56px}

/* 404 */
.nf{max-width:760px;margin:0 auto;padding:70px 24px 120px;text-align:center}
.nf .dial{width:210px;height:210px;margin-bottom:-150px}
.nf-n{font:400 clamp(5rem,18vw,9rem)/1 var(--disp);color:transparent;-webkit-text-stroke:1px var(--gm);margin-bottom:34px}
.nf .lead{margin-left:auto;margin-right:auto}
.nf-l{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 28px;margin:30px 0}
.nf-l a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink)}

/* footer */
.foot{border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(10,16,34,.6),transparent)}
.foot-in{max-width:1240px;margin:0 auto;padding:48px 28px 44px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:28px 60px}
.foot-tag{margin-top:6px;font:400 .78rem/1.5 var(--mono);letter-spacing:.08em;color:var(--mut)}
.foot-l{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.foot-l a{display:inline-flex;align-items:center;min-height:44px;color:var(--tx);text-decoration:none;font-size:.94rem}
.foot-l a:hover{color:var(--g2)}
.legal{grid-column:1/-1;padding-top:22px;border-top:1px solid var(--line);font:400 .74rem/1.7 var(--mono);color:var(--mut)}

/* dock: the rail on small screens */
.dock{display:none}

@media (max-width:1080px){
  .frame{gap:44px;grid-template-columns:minmax(0,1fr) 290px}
  .nav a{padding:4px 15px}
  .tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
  .tile.t0{grid-column:1/-1;border-bottom:1px solid var(--line)}
  .tile:nth-child(2){border-left:0}
  .keytop{gap:30px 44px;grid-template-columns:minmax(0,1fr) minmax(0,420px)}
  .k-ben{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:940px){
  :root{--pad:24px}
  html{scroll-padding-top:80px}
  body{padding-bottom:78px}
  body.page-key{padding-bottom:0}
  .top-in{min-height:62px;padding:0 16px;gap:12px}
  .cta-top{display:none}
  .burger{display:flex}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;margin:0;flex-direction:column;padding:8px 16px 16px;background:rgba(6,10,20,.98);border-bottom:1px solid var(--line2)}
  .nav.open{display:flex}
  .nav a{flex-direction:row;justify-content:flex-start;gap:16px;min-height:52px;padding:0 6px;font-size:.92rem;border-top:1px solid var(--line)}
  .nav a:first-child{border-top:0}
  .nav a::before{display:none}
  .nav a i,.nav a:nth-child(n) i{transform:none}
  .frame{grid-template-columns:minmax(0,1fr);padding:0 16px 70px;gap:0}
  .col{padding-top:34px}
  .rail{position:static;margin-top:56px}
  .rail-in{max-height:none;overflow:visible}
  .rail .dial,.rail .toc,.m-home .rail .facts{display:none}
  .toc.inl{display:block;margin:28px 0 0;padding:18px 18px 8px;border:1px solid var(--line2);border-radius:16px;background:rgba(10,16,34,.6)}
  .hfacts{display:block;margin-top:34px}
  .hfacts .facts{margin-top:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
  .hfacts .facts div{flex-direction:column;align-items:flex-start;gap:4px;padding:12px 0}
  .hfacts .facts div:first-child{grid-column:1/-1}
  .hfacts .facts dt{text-align:left}
  .sec{margin-top:68px}
  .band{margin-top:68px;padding:34px 24px}
  .band-o{opacity:.5}
  .sky{height:900px}
  .rings{width:900px;height:900px;right:-520px;top:-420px;background:radial-gradient(circle,transparent 0 219px,rgba(150,172,255,.2) 220px 221px,transparent 222px 339px,hsla(113,72%,68%,.24) 340px 341px,transparent 342px 449px,rgba(150,172,255,.12) 449px 450px,transparent 451px)}
  .keytop{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "form" "ben";padding:26px 16px 10px;gap:28px}
  .k-ben{grid-template-columns:repeat(2,minmax(0,1fr))}
  .k-rings{top:200px}
  .foot-in{grid-template-columns:minmax(0,1fr);padding:40px 16px 36px}
  .dock{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;align-items:center;justify-content:space-between;gap:14px;padding:11px 16px calc(11px + env(safe-area-inset-bottom));background:rgba(6,10,20,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--gm);box-shadow:0 -14px 40px -10px #000}
  .dock p{display:flex;flex-direction:column;min-width:0}
  .dock b{font:400 1.3rem/1.1 var(--disp);color:var(--g)}
  .dock span{font:400 .66rem/1.3 var(--mono);color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .dock .btn{flex:none;min-height:48px}
}
@media (max-width:720px){
  body{font-size:16.5px}
  .lead{font-size:1.07rem}
  .chart{grid-template-columns:minmax(0,1fr)}
  .orbit{grid-template-columns:minmax(0,1fr);gap:30px}
  .orbit li{padding-left:78px;min-height:58px}
  .orbit .n{position:absolute;left:0;top:0;margin:0}
  .orbit li+li::before{top:auto;bottom:100%;right:auto;left:29px;width:1px;height:30px;margin:0;background:repeating-linear-gradient(180deg,var(--line2) 0 5px,transparent 5px 10px)}
  .uses-l .use{grid-template-columns:minmax(0,1fr)}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tile{border-left:0;border-top:1px solid var(--line)}
  .tile.t0{border-top:0}
  .tile:nth-child(odd):not(.t0){border-left:1px solid var(--line)}
  .calc{grid-template-columns:minmax(0,1fr)}
  .calc>div+div{border-left:0;border-top:1px solid var(--line)}
  .ex-l{grid-template-columns:minmax(0,1fr)}
  .k-ben{grid-template-columns:minmax(0,1fr)}
  .form{padding:22px 18px}
  .phead .ep,.k-form>.ep{grid-template-columns:minmax(0,1fr)}
  .ans{padding-right:0}
  pre.code{font-size:.78rem;padding:46px 14px 16px}
  .codetabs button{padding:0 13px}
  .prose th,.prose td{padding:11px 14px}
  .take{padding:20px 18px}
  .foot-l{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
