/* (c) 2026 Dutch Inc Platforms. Dutch API(TM). All rights reserved. Unauthorised copying prohibited. */
:root{--ink:#0a0e1a;--panel:#11162a;--panel2:#161c33;--line:#242b47;--lime:#c6f24e;--violet:#6a5cff;--mut:#9aa2c0;--bg:#f6f7fb}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:400 17px/1.6 Sora,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;color:#12162a;background:var(--bg);-webkit-font-smoothing:antialiased}
a{color:var(--violet)}h1,h2,h3{line-height:1.12;letter-spacing:-.02em;margin:0 0 .5em;font-weight:800}h1{font-size:clamp(2.1rem,7vw,3.8rem)}h2{font-size:clamp(1.6rem,4.6vw,2.5rem)}h3{font-size:1.2rem}
.w{max-width:1120px;margin:auto;padding:0 20px}.c{text-align:center}
.eb{display:inline-flex;align-items:center;gap:8px;color:var(--lime);background:#1a2038;font-weight:700;letter-spacing:.1em;font-size:.78rem;text-transform:uppercase;padding:6px 14px;border-radius:999px;margin:0 0 16px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:99}
header{position:sticky;top:0;z-index:50;background:rgba(10,14,26,.92);backdrop-filter:blur(8px);color:#fff;border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;min-height:68px}
.logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800;font-size:1.1rem}.logo i{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--violet);color:#fff;font-style:normal;font-size:.95rem}
nav ul{display:flex;gap:24px;list-style:none;margin:0;padding:0}nav a{color:var(--mut);text-decoration:none;font-weight:600;font-size:.92rem}nav a:hover,nav a[aria-current]{color:#fff}
#m{display:grid;place-items:center;background:none;border:1px solid #333c5e;border-radius:10px;width:40px;height:40px;color:#fff;padding:0;cursor:pointer;flex-shrink:0}
.hero{position:relative;background:var(--ink);color:#fff;padding:76px 0 84px;overflow:hidden}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.4}
.hero .w{position:relative}.hero p{color:var(--mut);font-size:1.15rem;max-width:600px}
.hg{display:grid;gap:36px;grid-template-columns:1.05fr .95fr;align-items:center}
.pill{display:inline-flex;align-items:center;gap:8px;padding:15px 28px;border-radius:12px;background:var(--violet);color:#fff;font-weight:700;text-decoration:none;margin:6px 10px 6px 0;transition:transform .2s,box-shadow .2s,background .2s}.pill:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(106,92,255,.35)}
.pill.o{background:transparent;color:#fff;border:1px solid #333c5e}.pill.o:hover{background:#161c33}
.pill.lime{background:var(--lime);color:#0a0e1a}
section{padding:76px 0}.dark{background:var(--ink);color:#fff}.dark .mut,.dark p{color:var(--mut)}
.g{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.card{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:26px;color:#fff;box-shadow:0 8px 30px rgba(0,0,0,.18);transition:transform .3s,box-shadow .3s,border-color .3s;position:relative;padding-top:44px}
.card::before{content:"";position:absolute;top:22px;left:26px;width:52px;height:10px;background-image:radial-gradient(circle,#ff5f56 5px,transparent 5.5px),radial-gradient(circle,#ffbd2e 5px,transparent 5.5px),radial-gradient(circle,#27c93f 5px,transparent 5.5px);background-repeat:no-repeat;background-position:0 0,21px 0,42px 0;background-size:10px 10px}
.card.light::before{display:none}
.card.light{background:#fff;color:#12162a;border-color:#e6e8f5;box-shadow:0 8px 30px rgba(20,20,60,.08)}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.3);border-color:var(--violet)}
.card.light:hover{box-shadow:0 18px 40px rgba(20,20,60,.14)}
.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.ic{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--violet);color:#fff}.ic svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tag{background:#1a2038;color:var(--lime);font-weight:700;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:999px}
.card.light .tag{background:#eef0fb;color:var(--violet)}
.card p{color:var(--mut);margin:0 0 14px}.card.light p{color:#5b6178}
.card a.l{font-weight:700;text-decoration:none;color:var(--lime)}.card.light a.l{color:var(--violet)}.card a.l:hover{text-decoration:underline}
.card:not(.light){font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.card:not(.light) .tag{color:var(--lime)}
.card:not(.light) h3{color:#7ee0c0;font-weight:700}
.card:not(.light) h3::before{content:"\"";color:#5b6178}
.card:not(.light) h3::after{content:"\"";color:#5b6178}
.card:not(.light) p{color:#c8d0f0}
.card:not(.light) .meta{color:#7d84a8}
.card:not(.light) a.l{color:var(--lime)}
.card.light::before{display:block}
.card.light{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.card.light h3{color:#12162a;font-weight:700}
.card.light h3::before{content:"\"";color:#9aa2c0}
.card.light h3::after{content:"\"";color:#9aa2c0}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.chips li{background:#1a2038;color:#fff;font-weight:600;padding:10px 18px;border-radius:999px;font-size:.92rem;border:1px solid var(--line)}
.chips.light li{background:#eef0fb;color:var(--violet);border:0}
.chips li.on{background:var(--lime);color:#0a0e1a;border-color:var(--lime)}
.term{background:#0d1121;border:1px solid var(--line);border-radius:20px;padding:22px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86rem;color:#c8d0f0;overflow-x:auto}
.term .dots{display:flex;gap:6px;margin-bottom:14px}.term .dots i{width:10px;height:10px;border-radius:50%;display:inline-block}.term .r{background:#ff5f56}.term .y{background:#ffbd2e}.term .g{background:#27c93f}
.term .k{color:var(--lime)}.term .s{color:#7ee0c0}.term .m{color:#9d8bff}
.route{display:inline-block;font-weight:700;font-size:.72rem;padding:4px 9px;border-radius:6px;margin-right:10px}
.route.post{background:#1c2e1c;color:#7ef27e}.route.get{background:#1c2233;color:#8ab4ff}
.rate{background:#fff;color:#12162a;border-radius:24px;padding:26px;box-shadow:0 20px 50px rgba(20,20,60,.12);border:1px solid #e6e8f5}
.rate .row{display:flex;justify-content:space-between;align-items:center;background:#f6f7fb;border-radius:16px;padding:16px 18px;margin-bottom:14px}
.rate .amt{font-size:2rem;font-weight:800}.rate .cur{background:#fff;border:1px solid #e6e8f5;border-radius:999px;padding:8px 14px;font-weight:700;font-size:.9rem}
.rate .save{background:#eafaf0;color:#1a9e5c;border-radius:14px;padding:12px 16px;font-weight:700;font-size:.9rem;margin-bottom:16px}
.rate .opts{display:flex;gap:8px;margin-bottom:14px}.rate .opts span{flex:1;text-align:center;padding:10px;border-radius:12px;background:#f6f7fb;font-weight:700;font-size:.85rem}.rate .opts span.on{background:#12162a;color:#fff}
.live{display:inline-flex;align-items:center;gap:6px;background:#eafaf0;color:#1a9e5c;font-weight:700;font-size:.75rem;padding:4px 10px;border-radius:999px}.live i{width:6px;height:6px;background:#1a9e5c;border-radius:50%;display:inline-block}
.dg{display:grid;gap:32px;grid-template-columns:1fr 1fr;align-items:center}
.two{display:grid;gap:28px;grid-template-columns:1.1fr .9fr;align-items:start}
.pi{width:100%;height:320px;object-fit:cover;border-radius:24px;background:#1a2038}
.note{font-size:.9rem;color:var(--mut);background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:16px 20px}
.note.light{color:#5b6178;background:#eef0fb;border:0}
label{display:block;margin:16px 0 6px;font-weight:600}input,select,textarea{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:14px;font:inherit;background:var(--panel2);color:#fff}
input::placeholder,textarea::placeholder{color:#6b7396}
.prose{max-width:760px}.prose h2{font-size:1.5rem;margin-top:1.5em}
footer{background:var(--ink);color:var(--mut);padding:56px 0 28px;font-size:.93rem;border-top:1px solid var(--line)}
footer a{color:var(--mut);text-decoration:none}footer a:hover{color:#fff;text-decoration:underline}footer h3{color:#fff;font-size:1rem}footer ul{list-style:none;padding:0;margin:0}footer li{margin:8px 0}.cr{border-top:1px solid var(--line);margin-top:28px;padding-top:18px}
.js .rv{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.js .rv.in{opacity:1;transform:none}
.hero h1,.hero .hg>div>p,.hero .pill{animation:up .9s cubic-bezier(.2,.7,.2,1) both}.hero .hg>div>p{animation-delay:.12s}.hero .pill{animation-delay:.25s}
@keyframes up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.stat{font-size:2.3rem;font-weight:800;color:var(--lime)}
@media(max-width:860px){
.hg,.dg,.two{grid-template-columns:1fr}.hg{text-align:center}.hg p{margin:0 auto 12px}section{padding:56px 0}.pill{display:block;margin:12px 0;text-align:center}.pi{height:220px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.js .rv{opacity:1;transform:none}}

/* ---- Infographics ---- */
.hub{max-width:720px;margin:0 auto}
.hub .node{transition:transform .3s}
.hub .node:hover{transform:scale(1.06)}
.flow{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:0;margin:36px 0}
.flow .step{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:22px 20px;width:200px;text-align:center;color:#fff}
.flow .step.light{background:#fff;border-color:#e6e8f5;color:#12162a;box-shadow:0 8px 24px rgba(20,20,60,.06)}
.flow .step .n{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--lime);color:#0a0e1a;font-weight:800;margin-bottom:12px}
.flow .step h4{margin:0 0 6px;font-size:1rem;font-weight:700}
.flow .step p{margin:0;font-size:.85rem;color:var(--mut)}
.flow .step.light p{color:#5b6178}
.flow .arrow{display:flex;align-items:center;justify-content:center;width:44px;color:var(--lime);flex-shrink:0}
.flow .arrow svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:760px){.flow{flex-direction:column;align-items:center}.flow .arrow{transform:rotate(90deg);margin:-6px 0}.flow .step{width:100%;max-width:320px}}
.stats{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.stats .sc{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:26px;text-align:center}
.stats .sc .n{font-size:2.1rem;font-weight:800;color:var(--lime);display:block;margin-bottom:6px}
.stats .sc p{color:var(--mut);margin:0;font-size:.9rem;font-weight:600}
.blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.35;pointer-events:none;z-index:0}

/* ---- Card meta line & status ---- */
.meta{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);font-weight:700}
.card.light .meta{border-top-color:#e6e8f5}
.meta .arr{color:var(--lime);flex-shrink:0;margin-left:10px}
.meta .arr svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.status{display:flex;align-items:center;gap:8px;color:var(--mut);font-size:.82rem;margin-bottom:14px}
.status i{width:7px;height:7px;border-radius:50%;background:#27c93f;display:inline-block;box-shadow:0 0 0 4px rgba(39,201,63,.15)}
.also{color:var(--mut);text-align:center;max-width:640px;margin:10px auto 0}
.also a{color:var(--violet);font-weight:700;text-decoration:none}.also a:hover{text-decoration:underline}
.dark .also a{color:var(--lime)}


/* ---- Unified card design for terminal/code blocks ---- */
.term{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:26px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.84rem;color:#c8d0f0;overflow-x:auto;box-shadow:0 8px 30px rgba(0,0,0,.18);transition:transform .3s,box-shadow .3s,border-color .3s}
.term:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.3);border-color:var(--violet)}
.term pre{margin:0;white-space:pre;overflow-x:auto}

/* ---- Multi-canvas particle backgrounds (intro + ending sections) ---- */
.hero,.dark{position:relative;overflow:hidden}
.hero canvas.net-canvas,.dark canvas.net-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.35;z-index:0;pointer-events:none}
.hero .w,.dark .w{position:relative;z-index:1}

/* ---- Responsive fixes ---- */
/* overflow-x:hidden on <body> breaks position:sticky on iOS/Android WebViews
   (it creates a new scrolling context under the header). overflow-x:clip on
   <html> gives the same "no horizontal scrollbar" safety net WITHOUT that
   scrolling context, so the sticky header keeps working. (overflow-x/y must
   be set as a matching pair or the browser falls back oddly, so give both.) */
html{max-width:100%;overflow-x:clip;overflow-y:visible}
body{max-width:100%}
.hub{max-width:100%}
.hub svg{width:100%;height:auto;display:block}
.term{max-width:100%}
.term pre,.term code{font-size:.8rem}
.meta{flex-wrap:wrap;row-gap:6px}
.rate .row{flex-wrap:wrap;row-gap:8px}
.rate .amt{font-size:1.6rem}
img{max-width:100%;height:auto}
@media(max-width:600px){
  .term{padding:18px;font-size:.72rem}
  .hero{padding:56px 0 60px}
  h1{font-size:1.9rem}
  .stats .sc .n{font-size:1.7rem}
  .flow .step{padding:18px 16px}
  .rate{padding:20px}
  .bar{min-height:60px}
  .meta{font-size:.65rem}
}
@media(max-width:400px){
  .pill{padding:13px 20px;font-size:.92rem}
}

/* ---- Mega menu ---- */
.mm{position:fixed;inset:0;background:#fff;z-index:200;transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.7,.2,1);overflow-y:auto;color:#12162a;visibility:hidden;contain:layout style}
.mm.open{transform:translateX(0);visibility:visible}
.mm-top{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #eef0f5;position:sticky;top:0;background:#fff;z-index:1}
.mm-top .logo{color:#12162a;display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;font-size:1.05rem}
.mm-top .logo i{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--violet);color:#fff;font-style:normal;font-size:.9rem}
#mc{background:none;border:1px solid #e6e8f5;border-radius:10px;width:40px;height:40px;display:grid;place-items:center;cursor:pointer;color:#12162a;flex-shrink:0}
.mm-body{padding:4px 20px 8px;max-width:760px;margin:0 auto}
.macc{border-bottom:1px solid #eef0f5}
.macc-h{width:100%;background:none;border:0;text-align:left;padding:18px 0;font-size:1.08rem;font-weight:800;display:flex;justify-content:space-between;align-items:center;cursor:pointer;color:#12162a;font-family:inherit}
.macc-i{font-weight:400;color:#9aa2c0;font-size:1.4rem;line-height:1}
.macc-b{max-height:0;overflow:hidden;transition:max-height .35s ease}
.macc.open .macc-b{max-height:1000px}
.macc-b-in{display:grid;gap:2px;padding-bottom:18px}
.macc-b-in a{display:block;padding:9px 0;color:#5b6178;text-decoration:none;font-weight:600;font-size:.96rem}
.macc-b-in a:hover{color:var(--violet)}
.macc-b-in .who{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:#9aa2c0;font-weight:800;margin:12px 0 4px}
.macc-link{border-bottom:1px solid #eef0f5;padding:18px 0;font-weight:800;font-size:1.08rem}
.macc-link a{color:#12162a;text-decoration:none}
.mm-cta{padding:22px 0 32px}
.mm-cta p{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#9aa2c0;font-weight:800;margin:0 0 12px}
@media(min-width:640px){.macc-b-in{grid-template-columns:1fr 1fr}}

/* ---- Store badges ---- */
.store{display:inline-flex;align-items:center;gap:8px;background:#0a0e1a;color:#fff;text-decoration:none;padding:10px 16px;border-radius:12px;font-weight:700;font-size:.85rem;border:1px solid #242b47}
.store svg{width:20px;height:20px;flex-shrink:0}
.store b{display:block;line-height:1.2}
.store small{display:block;font-weight:500;font-size:.65rem;color:#9aa2c0;text-transform:uppercase;letter-spacing:.04em}
.store:hover{border-color:var(--violet)}
.storebadges{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.light .store,.card.light .store{background:#12162a}

/* ---- Tabs ---- */
.tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 4px 14px;-ms-overflow-style:none;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs button{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--mut);font-weight:700;font-size:.88rem;cursor:pointer;font-family:inherit}
.tabs.light button{border-color:#e6e8f5;color:#5b6178}
.tabs button.on{border-color:var(--violet);color:#fff;background:#161c33}
.tabs.light button.on{background:#12162a;color:#fff;border-color:#12162a}
.tabpanel{display:none}
.tabpanel.on{display:block}

/* ---- Balance rows ---- */
.balrow{display:flex;align-items:center;justify-content:space-between;background:#f6f7fb;border-radius:14px;padding:14px 16px;margin-bottom:10px}
.balrow .tok{display:flex;align-items:center;gap:10px;font-weight:700}
.balrow .tok b{background:#eef0fb;color:var(--violet);font-size:.72rem;font-weight:800;padding:4px 8px;border-radius:8px}
.balrow .amt{font-weight:800}
.balrow.dark{background:#161c33;border:1px solid var(--line)}
.balrow.dark .tok b{background:#1a2038;color:var(--lime)}
.balrow.dark .tok,.balrow.dark .amt{color:#fff}

/* ---- Country / market picker ---- */
.pickgrid{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.pickgrid button{padding:12px 20px;border-radius:12px;border:1px solid var(--line);background:#161c33;color:#fff;font-weight:700;cursor:pointer;font-family:inherit;font-size:.88rem}
.pickgrid button.on{background:var(--lime);color:#0a0e1a;border-color:var(--lime)}
.railcard{background:#0d1121;border:1px solid var(--line);border-radius:18px;padding:20px 22px;margin-top:4px}
.railcard .rh{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.railcard .rh b{font-size:1.05rem;color:#fff}
.railcard .rh span{color:var(--lime);font-size:.8rem;font-weight:700}
.railcard p{color:var(--mut);margin:0;font-size:.9rem}

/* ---- Numbered story steps ---- */
.story{border:1px solid var(--line);border-radius:20px;padding:28px;margin-bottom:18px;background:var(--panel);color:#fff}
.story.hi{background:linear-gradient(160deg,#1c2447,#0a0e1a);border-color:var(--violet)}
.story .sk{display:flex;justify-content:space-between;gap:12px;color:var(--lime);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px}
.story .sk em{color:var(--mut);font-style:normal;font-weight:700;text-align:right}
.story h3{font-size:1.35rem;margin:0 0 10px}
.story p{color:var(--mut);margin:0}

/* ---- Docs (API reference) ---- */
.docs-wrap{display:grid;grid-template-columns:260px 1fr;gap:0;align-items:start}
.docs-side{position:sticky;top:69px;max-height:calc(100vh - 69px);overflow-y:auto;background:#fff;border-right:1px solid #e6e8f5;padding:28px 20px 60px}
.docs-side .grp{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:800;color:#9aa2c0;margin:22px 0 8px}
.docs-side .grp:first-child{margin-top:0}
.docs-side a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-radius:8px;color:#3a3f57;text-decoration:none;font-weight:600;font-size:.9rem;margin:1px 0}
.docs-side a:hover{background:#f6f7fb;color:var(--violet)}
.docs-side a.active{background:#eef0fb;color:var(--violet);font-weight:800}
.docs-side a .m{font-size:.6rem;font-weight:800;padding:2px 6px;border-radius:5px;letter-spacing:.04em;flex-shrink:0}
.docs-side a .m.get{background:#e3f6ea;color:#1a9e5c}
.docs-side a .m.post{background:#e6ecff;color:#3355dd}
.docs-side a .m.put{background:#f3e8ff;color:#7c3aed}
.docs-side a .m.del{background:#fde8e8;color:#dc3232}
.docs-main{padding:44px 32px 90px;max-width:820px}
.docs-main h1{font-size:2.1rem}
.docs-main h2{font-size:1.4rem;margin-top:2em;padding-top:.3em;border-top:1px solid #eef0f5}
.docs-main h2:first-of-type{border-top:0;margin-top:1em}
.docs-main p{color:#3a3f57}
.docs-main table{width:100%;border-collapse:collapse;margin:18px 0;font-size:.88rem}
.docs-main th,.docs-main td{text-align:left;padding:10px 12px;border-bottom:1px solid #eef0f5}
.docs-main th{color:#9aa2c0;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}
.docs-main code{background:#f0f1f8;color:#5b3fd6;padding:2px 7px;border-radius:6px;font-size:.86em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.docs-main pre{background:#0d1121;color:#c8d0f0;padding:18px 20px;border-radius:14px;overflow-x:auto;font-size:.84rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.docs-main pre code{background:none;color:inherit;padding:0}
.callout{background:#eef0fb;border-left:4px solid var(--violet);border-radius:10px;padding:14px 18px;margin:18px 0;font-size:.92rem;color:#3a3f57}
.callout b{display:block;margin-bottom:4px}
.docs-endpoint{border:1px solid #e6e8f5;border-radius:16px;padding:20px 22px;margin:14px 0}
.docs-endpoint .eh{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.docs-endpoint .eh code{background:#f6f7fb;color:#12162a}
.docs-endpoint p{margin:6px 0 0;color:#5b6178;font-size:.92rem}
.docs-topbar{display:none;position:sticky;top:69px;z-index:10;background:#fff;border-bottom:1px solid #e6e8f5;padding:10px 20px}
.docs-topbar select{width:100%;padding:10px 12px;border-radius:10px;border:1px solid #e6e8f5;font:inherit;font-weight:700}
@media(max-width:900px){
  .docs-wrap{grid-template-columns:1fr}
  .docs-side{display:none}
  .docs-topbar{display:block}
  .docs-main{padding:28px 20px 70px}
}

/* ---- Live ticker bar ---- */
.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0d1121}
.ticker .tw{display:flex;align-items:center;gap:14px;padding:12px 20px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;color:var(--mut);overflow-x:auto;white-space:nowrap}
.ticker .live{flex-shrink:0}

/* ---- Old way / new way comparison ---- */
.compare{display:grid;gap:20px;grid-template-columns:1fr 1fr;margin:28px 0}
.compare .col{border-radius:20px;padding:24px;border:1px solid var(--line)}
.compare .col.old{background:#1a1420}
.compare .col.new{background:linear-gradient(160deg,#1c2447,#0a0e1a);border-color:var(--violet)}
.compare .lbl{display:inline-block;font-weight:800;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:999px;margin-bottom:16px}
.compare .col.old .lbl{background:#3a2030;color:#ff8f8f}
.compare .col.new .lbl{background:#1a2038;color:var(--lime)}
.compare .item{display:flex;gap:14px;margin-bottom:18px}
.compare .item:last-child{margin-bottom:0}
.compare .item .num{font-weight:800;color:var(--lime);flex-shrink:0;font-size:.95rem}
.compare .col.old .item .num{color:#ff8f8f}
.compare .item h4{margin:0 0 4px;font-size:.98rem;color:#fff}
.compare .item p{margin:0;font-size:.86rem;color:var(--mut)}
@media(max-width:760px){.compare{grid-template-columns:1fr}}

/* ---- Calculator sliders ---- */
.calc{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:28px}
.calc .row{margin-bottom:22px}
.calc .row:last-child{margin-bottom:0}
.calc label{display:flex;justify-content:space-between;color:#fff;font-weight:700;font-size:.92rem;margin:0 0 10px}
.calc label .v{color:var(--lime)}
.calc input[type=range]{width:100%;accent-color:var(--lime);background:transparent;padding:0}
.calc .result{background:#0d1121;border:1px solid var(--line);border-radius:16px;padding:20px;margin-top:20px;text-align:center}
.calc .result .n{font-size:2.2rem;font-weight:800;color:var(--lime);display:block}
.calc .result p{margin:6px 0 0;color:var(--mut);font-size:.86rem}
.calc .fine{color:#7d84a8;font-size:.78rem;margin-top:14px}

/* ---- Trust / licensing grid ---- */
.trustgrid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:20px 0}
.trustgrid .tc{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px 20px}
.trustgrid .tc b{display:block;color:#fff;font-size:.95rem;margin-bottom:4px}
.trustgrid .tc span{color:var(--mut);font-size:.85rem}
.logos{display:flex;flex-wrap:wrap;gap:12px 26px;align-items:center;opacity:.75}
.logos span{color:var(--mut);font-weight:700;font-size:.92rem;letter-spacing:.02em}
.placeholder-note{display:inline-block;background:#3a2030;color:#ffb4b4;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:3px 9px;border-radius:6px;margin-left:8px;vertical-align:middle}

/* ---- Method badge chips (collections country picker) ---- */
.methodrow{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.methodrow .mb{display:flex;align-items:center;gap:10px;background:#0d1121;border:1px solid var(--line);border-radius:14px;padding:12px 16px;flex:1;min-width:150px}
.methodrow .mb .bd{width:34px;height:34px;border-radius:9px;background:var(--violet);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.72rem;flex-shrink:0}
.methodrow .mb div b{display:block;color:#fff;font-size:.86rem}
.methodrow .mb div span{color:var(--mut);font-size:.72rem}

/* ---- Docs sidebar nested groups ---- */
.docs-side details{margin:1px 0}
.docs-side summary{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;border-radius:8px;color:#12162a;font-weight:800;font-size:.92rem;cursor:pointer;list-style:none}
.docs-side summary::-webkit-details-marker{display:none}
.docs-side summary:hover{background:#f6f7fb}
.docs-side summary .chev{color:#9aa2c0;transition:transform .2s;font-size:.8rem}
.docs-side details[open] summary .chev{transform:rotate(90deg)}
.docs-side details .sub{padding-left:8px}
.docs-side .top-item{display:block;padding:9px 10px;border-radius:8px;color:#12162a;font-weight:800;font-size:.92rem;text-decoration:none}
.docs-side .top-item:hover{background:#f6f7fb}
.docs-side .verbadge{display:inline-block;background:#eef0fb;color:var(--violet);font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:8px;margin:4px 0 10px}
.docs-side .loginrow{color:#5b6178;font-weight:700;font-size:.88rem;padding:9px 10px}

/* ================= PERFORMANCE + RESPONSIVE FIXES ================= */
/* Cheaper blur, no backdrop-filter repaint cost on every scroll frame */
header{backdrop-filter:none;background:rgba(10,14,26,.97)}
.blob{filter:blur(40px);will-change:auto;opacity:.28}
.hero canvas,.dark canvas.net-canvas{opacity:.3}
.dark{position:relative;overflow:hidden}
.dark canvas.net-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.dark>.w{position:relative;z-index:1}
img,canvas,svg{max-width:100%}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Anchor jumps shouldn't hide under the sticky header */
[id]{scroll-margin-top:84px}

/* Header: desktop shows nav; hamburger only when nav would overflow */
header nav{display:block}
@media(max-width:1020px){header nav{display:none}}
.bar>div:last-child .pill{white-space:nowrap}
@media(max-width:520px){.bar>div:last-child .pill{display:none}}
@media(min-width:1021px){#m{display:none}}

/* Menu: every row is a big tap target, scroll inside the panel */
.mm{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.macc-h,.macc-link a,.macc-b-in a{min-height:44px}
.macc-link a{display:block;padding:0}
.macc-link{padding:0}
.macc-link a{padding:18px 0}
.macc-b{transition:max-height .25s ease}
.macc.open .macc-b{max-height:1400px}
.mm-cta a{min-height:48px;display:flex!important;align-items:center;justify-content:center}
body.menu-open{overflow:hidden}

/* Docs: mobile drawer instead of hidden sidebar */
.docs-drawer-btn{display:none}
@media(max-width:900px){
  .docs-drawer-btn{display:flex;align-items:center;gap:8px;position:sticky;top:60px;z-index:20;width:100%;background:#fff;border:0;border-bottom:1px solid #e6e8f5;padding:14px 20px;font:inherit;font-weight:800;color:#12162a;cursor:pointer;text-align:left}
  .docs-side{position:fixed;top:0;left:0;bottom:0;width:min(86vw,340px);max-height:none;z-index:300;transform:translateX(-102%);transition:transform .28s ease;display:block!important;box-shadow:0 0 0 100vmax rgba(0,0,0,0);padding-top:70px}
  .docs-side.open{transform:none;box-shadow:0 0 0 100vmax rgba(10,14,26,.55)}
  .docs-side .docs-close{position:absolute;top:14px;right:14px;background:#f0f1f8;border:0;border-radius:10px;width:38px;height:38px;font-size:1.2rem;cursor:pointer}
  .docs-topbar{display:none!important}
}
@media(min-width:901px){.docs-close{display:none}}

/* Reveal is decoration only: content is ALWAYS readable. Animation applies just while we wait to reveal. */
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}
.js .rv.in,.js.rv-done .rv{opacity:1;transform:none}
@media print{.js .rv{opacity:1!important;transform:none!important}}
