/* humantest.ing — shared styles, ported from the design canvases
   (Main/Testers/Pricing/FAQ/Legal .dc.html), v2 "midnight black,
   electric blue, cantaloupe orange" theme. */

body{margin:0;background:#02070a}
a{color:#eef4f8}a:hover{color:#fc734d}
.skip{position:absolute;left:8px;top:-60px;z-index:50;background:var(--ink);color:#02070a;padding:10px 18px;border-radius:999px;font:600 14px/1 Geist,sans-serif;text-decoration:none;transition:top .2s}
.skip:focus{top:8px}
.ht{--ground:#02070a;--card:#050d13;--line:#12212b;--line2:#22343f;--ink:#eef4f8;--text:#a7b4bd;--muted:#7f8e98;--amber:#fc734d;--amber-ink:#02070a;--green:#5fe0b0;--blue:#0297de;font-family:Geist,ui-sans-serif,system-ui,sans-serif;color:var(--text);background:var(--ground);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:clip;position:relative}
.ht *{box-sizing:border-box}
.ht a{text-underline-offset:3px;text-decoration-color:var(--line2)}
.ht p{margin:0;text-wrap:pretty}
.wrap{max-width:1200px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.disp{font-family:"Instrument Serif",Georgia,serif;color:var(--ink);font-weight:400;font-synthesis:none;letter-spacing:-0.015em;line-height:.95;margin:0;text-wrap:balance}
.disp em{font-style:italic}
.mono{font-family:"Geist Mono",ui-monospace,Menlo,monospace}
.label{font-family:"Geist Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border-radius:999px;font-weight:600;font-size:16px;text-decoration:none;border:0;cursor:pointer;font-family:inherit;transition:transform .35s cubic-bezier(.32,.72,0,1),box-shadow .35s,background .35s,color .35s}
.btn-amber{background:#eef4f8;color:#02070a}
.btn-amber:hover{color:#02070a;box-shadow:0 0 0 4px rgba(252,115,77,.28),0 14px 40px -10px rgba(252,115,77,.75)}
.btn-ghost{color:var(--ink);box-shadow:inset 0 0 0 1px var(--line2);background:transparent}
.btn-ghost:hover{color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.btn .arr{transition:transform .35s cubic-bezier(.32,.72,0,1)}.btn:hover .arr{transform:translateX(4px)}
.nav{position:sticky;top:0;z-index:20;background:rgba(2,7,10,.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.06)}
.nav .nav-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 28px;padding-top:10px;padding-bottom:10px}
.nav .brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;min-height:44px}
.nav nav[aria-label="Main"]{display:flex;flex-wrap:wrap;align-items:center;gap:0 26px;order:3;flex:1 1 auto;justify-content:center;padding:0 22px;border-radius:999px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.09)}
.navlink{color:var(--text);text-decoration:none;font-size:15px;padding:10px 2px;min-height:44px;display:inline-flex;align-items:center}
.navlink:hover{color:var(--ink)}
.navlink[aria-current="page"]{color:var(--ink);box-shadow:none}
.navlink[aria-current="page"]::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--amber);margin-right:8px;box-shadow:0 0 8px var(--amber)}
.nav-cta{order:4;min-height:44px;padding:0 18px;font-size:15px}
.blink{width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 0 rgba(252,115,77,.6);animation:ping 1.8s cubic-bezier(.32,.72,0,1) infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(252,115,77,.55)}80%,100%{box-shadow:0 0 0 10px rgba(252,115,77,0)}}
.w{display:inline-block;animation:rise 1s cubic-bezier(.2,.8,.2,1) both}
@keyframes rise{from{opacity:0;transform:translateY(.45em) rotate(2deg)}to{opacity:1;transform:none}}
.fade{animation:fadeup 1s cubic-bezier(.2,.8,.2,1) both}
@keyframes fadeup{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.grid-bg{position:absolute;inset:0;pointer-events:none;background:radial-gradient(55% 50% at 50% 104%,rgba(252,115,77,.78),rgba(252,115,77,0) 70%),radial-gradient(78% 78% at 50% 96%,rgba(2,151,222,.62),rgba(2,151,222,0) 72%),radial-gradient(50% 35% at 50% -5%,rgba(2,151,222,.2),rgba(2,151,222,0) 70%);animation:breathe 9s ease-in-out infinite}
.grid-bg::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.075) 0 1px,rgba(255,255,255,0) 1px 6px);-webkit-mask-image:linear-gradient(180deg,transparent 8%,#000 65%,transparent 98%);mask-image:linear-gradient(180deg,transparent 8%,#000 65%,transparent 98%);animation:streak 7s linear infinite}
.grid-bg::after{content:"";position:absolute;left:0;right:0;bottom:0;height:22%;background:linear-gradient(180deg,rgba(2,7,10,0),#02070a)}
@keyframes breathe{0%,100%{filter:saturate(1) brightness(1)}50%{filter:saturate(1.25) brightness(1.18)}}
@keyframes streak{from{background-position:0 0}to{background-position:60px 0}}
.plate-box{position:relative;background:#050d13;border-radius:26px;box-shadow:0 0 0 1px rgba(255,255,255,.1),0 50px 140px -50px rgba(2,151,222,.6),0 40px 100px -70px rgba(252,115,77,.6);padding:48px clamp(6px,2vw,24px)}
.corner{position:absolute;font-family:"Geist Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.06em;color:var(--muted);line-height:1;white-space:nowrap}
.c-tl{top:18px;left:20px}.c-tr{top:18px;right:20px}.c-bl{bottom:18px;left:20px}.c-br{bottom:18px;right:20px;color:var(--ink)}
.stage{position:relative;width:100%}
.stage img,.lyr{position:absolute;inset:0;width:100%;height:100%;display:block}
.stack{display:grid}.stack>*{grid-area:1/1}
/* illustration layer motion (kept so the canvas art can drop back in) */
.f1-car{animation:f1-car 10s cubic-bezier(.65,0,.3,1) infinite}
@keyframes f1-car{0%,18%{transform:translate(-4.22%,-2.97%)}36%,62%{transform:translate(3.486%,2.453%)}82%,100%{transform:translate(-4.22%,-2.97%)}}
.f1-press{animation:f1-press 10s ease-in-out infinite}
@keyframes f1-press{0%,7%{transform:translateY(0)}9.5%{transform:translateY(3.163%)}12%,41%{transform:translateY(0)}43.5%{transform:translateY(3.163%)}46%,100%{transform:translateY(0)}}
.f1-rip{transform-origin:46.51% 60.51%;opacity:0}
.f1-ripA{animation:f1-ripA 10s ease-out infinite}
.f1-ripB{animation:f1-ripB 10s ease-out infinite}
@keyframes f1-ripA{0%,9.4%{opacity:0;transform:translate(-4.22%,-2.97%) scale(.5)}9.8%{opacity:1;transform:translate(-4.22%,-2.97%) scale(.55)}24%,100%{opacity:0;transform:translate(-4.22%,-2.97%) scale(2.6)}}
@keyframes f1-ripB{0%,43.4%{opacity:0;transform:translate(3.486%,2.453%) scale(.5)}43.8%{opacity:1;transform:translate(3.486%,2.453%) scale(.55)}58%,100%{opacity:0;transform:translate(3.486%,2.453%) scale(2.6)}}
.f1-pass{opacity:0;animation:f1-pass 10s ease infinite}
@keyframes f1-pass{0%,44.5%{opacity:0}47%,72%{opacity:1}78%,100%{opacity:0}}
.f1-glow{mix-blend-mode:screen;animation:glow 1.6s ease-in-out infinite}
@keyframes glow{0%,100%{opacity:.4}50%{opacity:1}}
.f1-needle{transform-origin:23.4% 50.29%;animation:f1-needle 10s linear infinite}
@keyframes f1-needle{from{transform:matrix(1.3944,.6972,-1.3944,.6972,0,0) rotate(0deg) matrix(.3586,-.3586,.7171,.7171,0,0)}to{transform:matrix(1.3944,.6972,-1.3944,.6972,0,0) rotate(360deg) matrix(.3586,-.3586,.7171,.7171,0,0)}}
.ro{opacity:0}
.ro1{animation:ro1 10s linear infinite}.ro2{animation:ro2 10s linear infinite}.ro3{animation:ro3 10s linear infinite}
@keyframes ro1{0%,44%{opacity:1}45%,100%{opacity:0}}
@keyframes ro2{0%,45%{opacity:0}46%,78%{opacity:1}79%,100%{opacity:0}}
@keyframes ro3{0%,79%{opacity:0}80%,100%{opacity:1}}
.f2-cas{opacity:0;animation:f2-cas 9s linear infinite}
@keyframes f2-cas{0%{transform:translate(-26.377%,-12.58%);opacity:0}4%,95%{opacity:1}100%{transform:translate(27.558%,13.144%);opacity:0}}
.f2-flag{opacity:0;animation:f2-flag 9s linear infinite}
@keyframes f2-flag{0%{transform:translate(-26.377%,-12.58%);opacity:0}4%{opacity:1}62%{transform:translate(9.645%,4.6%);opacity:1}66%{opacity:1}74%,100%{transform:translate(9.645%,4.6%);opacity:0}}
.f2-rib{animation:f2-rib .33s linear infinite}
@keyframes f2-rib{from{transform:translate(0,0)}to{transform:translate(1.968%,.939%)}}
.f2-beam{mix-blend-mode:screen;animation:glow 1.1s ease-in-out infinite}
.f3-coin{opacity:0;animation:f3-a 10s linear infinite}
.f3-coinB{animation-name:f3-b}
@keyframes f3-a{0%{transform:translate(-11.844%,-8.528%);opacity:0}3%{opacity:1}15%{transform:translate(5.718%,4.117%);opacity:1}18%{transform:translate(5.718%,6.998%);opacity:0}20%{transform:translate(2.451%,18.714%);opacity:0}22%{transform:translate(2.451%,18.714%);opacity:1}36%{transform:translate(-16.745%,32.535%);opacity:1}39%,100%{transform:translate(-16.745%,36.137%);opacity:0}}
@keyframes f3-b{0%{transform:translate(-11.844%,-8.528%);opacity:0}3%{opacity:1}23.5%{transform:translate(17.97%,12.939%);opacity:1}26.5%,100%{transform:translate(17.97%,15.82%);opacity:0}}
.f3-day{mix-blend-mode:screen;animation:f3-day 7s steps(7,end) infinite}
@keyframes f3-day{from{transform:translate(0,0)}to{transform:translate(7.147%,5.145%)}}
.vr{transition:opacity .45s ease}
.f4-rec{animation:f4-rec 3.2s cubic-bezier(.65,0,.3,1) infinite}
@keyframes f4-rec{0%{transform:translate(6.6%,-3.77%);opacity:1}35%,82%{transform:translate(0,0);opacity:1}100%{transform:translate(0,0);opacity:0}}
.marquee{display:flex;width:max-content;animation:marq 38s linear infinite}
@keyframes marq{to{transform:translateX(-50%)}}
.mq-item{display:inline-flex;align-items:center;gap:22px;padding-right:22px;white-space:nowrap}
.mq-dot{width:7px;height:7px;background:var(--amber);transform:rotate(45deg)}
.card{background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.015));border-radius:22px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.09);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:box-shadow .4s,transform .4s cubic-bezier(.32,.72,0,1)}
.card:hover{box-shadow:inset 0 0 0 1px rgba(255,255,255,.2),0 30px 80px -40px rgba(2,151,222,.7);transform:translateY(-3px)}
.task:hover{box-shadow:inset 0 0 0 1px var(--amber),0 30px 80px -40px rgba(252,115,77,.7)!important}
.bar{height:4px;background:var(--line);position:relative;overflow:hidden;border-radius:2px}
.bar>span{position:absolute;inset:0 auto 0 0;background:var(--amber);transform-origin:left;animation:grow 1.6s .3s cubic-bezier(.65,0,.3,1) both;border-radius:2px}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.strike{position:relative;display:inline}
.strike::after{content:"";position:absolute;left:-2px;right:-2px;top:52%;height:2px;background:var(--amber);transform-origin:left;transform:scaleX(0);animation:draw 1s cubic-bezier(.65,0,.3,1) forwards}
@keyframes draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.track{position:relative;height:2px;background:var(--line2);margin:0 0 34px}
.track-car{position:absolute;top:-7px;left:0;width:30px;height:16px;border-radius:4px;background:var(--amber);box-shadow:0 0 18px rgba(252,115,77,.6);animation:trackcar 8s cubic-bezier(.65,0,.3,1) infinite}
@keyframes trackcar{0%,12%{left:0}25%,37%{left:calc(33.333% - 10px)}50%,62%{left:calc(66.666% - 20px)}75%,90%{left:calc(100% - 30px)}100%{left:0}}
.stop{position:absolute;top:-5px;width:12px;height:12px;border-radius:50%;background:var(--ground);box-shadow:inset 0 0 0 2px var(--muted)}
.field{min-height:52px;flex:1 1 240px;min-width:0;background:#010508;border:1px solid var(--line2);border-radius:999px;padding:0 22px;color:var(--ink);font:inherit;font-size:16px}
.field:focus{outline:2px solid var(--amber);outline-offset:2px}
.form-msg{min-height:1.5em;font-size:16px}
.form-msg[data-kind="ok"]{color:var(--green)}
.form-msg[data-kind="warn"]{color:var(--amber)}
.form-msg[data-kind="hint"]{color:var(--muted)}
.form-msg[data-kind="err"]{color:#ff7a6b}
.turnstile-slot{display:flex;justify-content:center}
.ht :focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.icon{width:26px;height:26px;color:var(--amber)}
.orb{position:relative;width:136px;height:136px;border-radius:50%;display:grid;place-items:center;text-align:center;text-decoration:none;font:500 12px/1.25 "Geist Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:#02070a;background:radial-gradient(circle at 50% 42%,#fff 0,#ffe3d9 18%,#fc734d 46%,rgba(252,115,77,.35) 70%,rgba(2,151,222,.2) 100%);box-shadow:0 0 70px rgba(252,115,77,.7),inset 0 0 0 1px rgba(255,255,255,.45);transition:transform .5s cubic-bezier(.32,.72,0,1)}
.orb:hover{transform:scale(1.07);color:#02070a}
.orb::before,.orb::after{content:"";position:absolute;inset:-14px;border-radius:50%;border:1px solid rgba(255,255,255,.3);animation:orbring 2.8s cubic-bezier(.2,.8,.2,1) infinite}
.orb::after{animation-delay:1.4s}
@keyframes orbring{from{transform:scale(.82);opacity:1}to{transform:scale(1.5);opacity:0}}
.stat{display:flex;flex-direction:column;gap:4px}
.stat b{font:400 44px/1 "Instrument Serif",Georgia,serif;color:var(--ink);font-weight:400}
.stat span{font:12px/1.3 "Geist Mono",ui-monospace,monospace;color:var(--text)}
.dotlabel::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--amber);margin-right:8px;vertical-align:middle;box-shadow:0 0 8px var(--amber)}
.wm em{font-style:italic;color:#fc734d}
@supports (animation-timeline: view()){
.rv{animation:rv linear both;animation-timeline:view();animation-range:entry 0% entry 45%}
@keyframes rv{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.bar>span{animation:grow linear both;animation-timeline:view();animation-range:entry 10% cover 40%}
.strike::after{animation:draw linear forwards;animation-timeline:view();animation-range:entry 30% cover 45%}
}

/* animated logo: fingerprint draws in, scan sweeps, tap pulses */
.lg{display:block;flex:none;overflow:visible}
.lg .ridge{stroke-dasharray:60;stroke-dashoffset:0;animation:lgridge 7s cubic-bezier(.65,0,.3,1) infinite}
.lg .ridge:nth-of-type(2){animation-delay:.12s}.lg .ridge:nth-of-type(3){animation-delay:.24s}.lg .ridge:nth-of-type(4){animation-delay:.36s}
@keyframes lgridge{0%,4%{stroke-dashoffset:60}26%,100%{stroke-dashoffset:0}}
.lg .scan{opacity:0;animation:lgscan 7s cubic-bezier(.65,0,.3,1) infinite}
@keyframes lgscan{0%,30%{transform:translateY(0);opacity:0}34%{opacity:.95}52%{transform:translateY(31px);opacity:.95}56%,100%{transform:translateY(31px);opacity:0}}
.lg .tap{transform-origin:25.5px 15.9px;animation:lgtap 7s ease-out infinite}
.lg .pingc{transform-origin:25.5px 15.9px;opacity:0;animation:lgping 7s ease-out infinite}
@keyframes lgtap{0%,56%{transform:scale(1)}60%{transform:scale(1.6)}66%,100%{transform:scale(1)}}
@keyframes lgping{0%,57%{transform:scale(.6);opacity:0}59%{opacity:.9}74%,100%{transform:scale(3.4);opacity:0}}
a:hover .lg .ridge,a:hover .lg .scan,a:hover .lg .tap,a:hover .lg .pingc{animation-duration:2.4s}

/* Testers page */
.seg{display:inline-flex;padding:3px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line2)}
.seg button{min-height:44px;min-width:44px;padding:0 14px;border-radius:999px;border:0;background:transparent;color:var(--text);font:600 13px/1 "Geist Mono",ui-monospace,monospace;letter-spacing:.06em;cursor:pointer;transition:background .3s,color .3s}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--ground)}
.swap{animation:swap .6s cubic-bezier(.2,.8,.2,1) both}
@keyframes swap{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.split{display:flex;height:56px;gap:4px}
.split>div{display:flex;align-items:center;padding:0 16px;font:600 13px/1.2 "Geist Mono",ui-monospace,monospace;transform-origin:left;animation:grow 1.4s .2s cubic-bezier(.65,0,.3,1) both;min-width:0;overflow:hidden;white-space:nowrap}
.split .now{flex:8 1 0;background:var(--amber);color:var(--amber-ink)}
.split .later{flex:2 1 0;color:var(--ink);background:repeating-linear-gradient(135deg,#173244 0 6px,#0a1720 6px 12px);box-shadow:inset 0 0 0 1px var(--line2);animation-delay:.9s}
.check{width:22px;height:22px;flex:none;border-radius:50%;box-shadow:inset 0 0 0 1px var(--amber);display:grid;place-items:center;color:var(--amber)}
.count{animation:count 1.4s cubic-bezier(.2,.8,.2,1) both}
@keyframes count{from{letter-spacing:.2em;opacity:0;filter:blur(6px)}to{letter-spacing:-0.04em;opacity:1;filter:none}}
.boost{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:22px 22px 20px;border-radius:20px;border:1px solid transparent;background:linear-gradient(120deg,#0a1720,#07121a) padding-box,linear-gradient(110deg,rgba(252,115,77,.9),rgba(255,193,74,.6) 40%,rgba(2,151,222,.8)) border-box;box-shadow:0 18px 50px -24px rgba(252,115,77,.55);overflow:hidden}
.boost::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.09),transparent);animation:shine 4.5s ease-in-out infinite;pointer-events:none}
@keyframes shine{0%{left:-40%}60%,100%{left:120%}}
.boost::before{content:"● LIVE";position:absolute;top:20px;right:20px;font:600 10.5px/1 "Geist Mono",monospace;letter-spacing:.12em;color:#fc734d;padding:6px 9px;border-radius:999px;background:rgba(252,115,77,.12);box-shadow:inset 0 0 0 1px rgba(252,115,77,.4);animation:boostlive 2.4s ease-in-out infinite}
@keyframes boostlive{0%,100%{opacity:1}50%{opacity:.55}}
.boost-badge{font:400 56px/.85 "Instrument Serif",Georgia,serif;letter-spacing:-0.02em;padding-right:2px;background:linear-gradient(135deg,#ffd27a,#fc734d 55%,#ff9f7d);-webkit-background-clip:text;background-clip:text;color:transparent}
.boost-copy{display:flex;flex-direction:column;gap:6px;width:100%;line-height:1.45}
.boost-copy>span:first-child{color:var(--ink);font-weight:600;font-size:16px}
.boost-copy>span:last-child{font-size:13px;color:var(--muted)}

/* Pricing page */
.pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(130px,100%),1fr));gap:8px}
.pick button{min-height:64px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding:10px 14px;border:0;border-radius:4px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line2);color:var(--text);font:500 14px/1.2 Geist,system-ui,sans-serif;text-align:left;cursor:pointer;transition:box-shadow .3s,background .3s,color .3s}
.pick button:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.pick button[aria-pressed="true"]{box-shadow:inset 0 0 0 1px var(--amber);background:rgba(252,115,77,.07);color:var(--ink)}
.pick .p{font:600 15px/1 "Geist Mono",ui-monospace,monospace;color:var(--ink)}
.range{position:relative;height:10px;border-radius:999px;background:var(--line);overflow:hidden}
.range>span{position:absolute;top:0;bottom:0;left:0;right:0;background:repeating-linear-gradient(90deg,var(--amber) 0 2px,transparent 2px 10px);opacity:.9;animation:sweep 3.5s ease-in-out infinite alternate}
@keyframes sweep{from{clip-path:inset(0 85% 0 0)}to{clip-path:inset(0 0 0 0)}}

/* FAQ page */
.qa{border-top:1px solid var(--line)}
.qa:last-child{border-bottom:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px;padding:18px 0;color:var(--ink);font:600 clamp(19px,2vw,23px)/1.3 "Instrument Serif",Georgia,serif;letter-spacing:-0.01em;transition:color .3s}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover{color:var(--amber)}
.plus{position:relative;width:30px;height:30px;flex:none;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line2);transition:transform .45s cubic-bezier(.32,.72,0,1),box-shadow .3s,background .3s}
.plus::before,.plus::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:var(--ink);transform:translate(-50%,-50%)}
.plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.qa[open] .plus{transform:rotate(45deg);background:var(--amber);box-shadow:none}
.qa[open] .plus::before,.qa[open] .plus::after{background:var(--amber-ink)}
.ans{padding:0 56px 26px 0;max-width:46em;font-size:18px}
.qa[open] .ans{animation:fadeup .5s cubic-bezier(.2,.8,.2,1) both}
.jump{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line2);text-decoration:none;color:var(--ink);font:500 14px/1 "Geist Mono",ui-monospace,monospace;transition:box-shadow .3s}
.jump:hover{box-shadow:inset 0 0 0 1px var(--amber)}

/* Legal page */
.glow{position:absolute;left:0;right:0;top:0;height:520px;pointer-events:none;background:radial-gradient(50% 60% at 50% 105%,rgba(252,115,77,.5),rgba(252,115,77,0) 70%),radial-gradient(75% 75% at 50% 100%,rgba(2,151,222,.45),rgba(2,151,222,0) 72%);animation:breathe 9s ease-in-out infinite}
.glow::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 1px,rgba(255,255,255,0) 1px 6px);-webkit-mask-image:linear-gradient(180deg,transparent 10%,#000 70%,transparent);mask-image:linear-gradient(180deg,transparent 10%,#000 70%,transparent)}
.tabs{display:inline-flex;flex-wrap:wrap;gap:6px;padding:4px;border-radius:999px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--line)}
.tabs button{min-height:44px;padding:0 18px;border-radius:999px;border:0;background:transparent;color:var(--text);font:500 15px/1 Geist,sans-serif;cursor:pointer}
.tabs button[aria-pressed="true"]{background:var(--ink);color:#02070a}
.sec{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:24px;padding:26px 0;border-top:1px solid var(--line);animation:secin .5s cubic-bezier(.2,.8,.2,1) both}
@keyframes secin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.sec ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}
.ph{margin-top:10px;padding:12px 14px;border-radius:12px;border:1px dashed var(--line2);font:13px/1.5 "Geist Mono",monospace;color:var(--muted)}
.doc[hidden]{display:none}

/* 404 / r */
.center{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:20px;position:relative}

@media (prefers-reduced-motion: reduce){
.ht *,.ht *::before,.ht *::after{animation:none!important;transition:none!important}
.f1-pass,.ro2,.ro3,.f3-coinB{opacity:0}
.ro1,.f3-coin{opacity:1}
.strike::after,.bar>span{transform:none}
}
@media (max-width:720px){.hide-sm{display:none!important}.c-bl{display:none}}
/* Phones: a compact header. It does not stick, the links stay on one row that
   scrolls sideways, and the hero carries the early-access button instead. */
@media (max-width:720px){
.nav{position:relative}
.nav nav[aria-label="Main"]{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;gap:0 18px;padding:0 16px;scrollbar-width:none}
.nav nav[aria-label="Main"]::-webkit-scrollbar{display:none}
.nav nav[aria-label="Main"] a{white-space:nowrap}
.nav-cta{display:none}
}
