:root{--bg:#0B0B0E;--bg2:#111115;--surface:#17171B;--line:#26262C;--line2:#1E1E23;--ink:#ECEBE7;--mute:#9C9A94;--mute2:#B8B6B0;--accent:#8B91FF;--accent2:#B9BCFF;--chip:#1F1F25;--buy:#3FC48A;--sell:#F07A5C;--warnbg:#2A1612;--warnline:#5A2A1F;--notebg:#16182A;--noteline:#2E3260;--tipbg:#122219;--tipline:#1F4A33;--glow:rgba(91,99,230,.35);color-scheme:dark}
:root[data-theme="light"]{--bg:#F7F6F2;--bg2:#FFFFFF;--surface:#FFFFFF;--line:#E4E2DC;--line2:#EEECE7;--ink:#17171A;--mute:#6B6A65;--mute2:#4F4E4A;--accent:#3D44D9;--accent2:#2A30A8;--chip:#EDEBE5;--buy:#0E7A4F;--sell:#B4381F;--warnbg:#FDF4F1;--warnline:#F1C9BD;--notebg:#EEF0FF;--noteline:#CDD0FA;--tipbg:#E9F6EF;--tipline:#BFE3CF;--glow:rgba(61,68,217,.18);color-scheme:light}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink)}
body{font:16px/1.65 Geist,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent2)}
code{font:14px "Geist Mono",ui-monospace,monospace;background:var(--chip);padding:2px 6px;border-radius:6px}
.ic{flex:none;display:block}
.top{position:sticky;top:0;z-index:30;height:64px;display:flex;align-items:center;gap:16px;padding:0 24px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-weight:500;font-size:17px}
.brand img{height:18px;width:auto;display:block}
:root:not([data-theme="light"]) .brand img{filter:invert(.93)}
.brand span{padding-left:12px;border-left:1px solid var(--line)}
.ibtn{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--mute);cursor:pointer}
.ibtn:hover{color:var(--ink);background:var(--chip)}
.tnav{margin-left:auto;display:flex;align-items:center;gap:22px}
.tnav a.t{color:var(--mute);font-size:15px}.tnav a.t:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:10px;font-weight:500;font-size:15px;white-space:nowrap;border:1px solid var(--line);color:var(--ink);background:transparent}
.btn:hover{color:var(--ink);border-color:var(--mute)}
.btn.pri{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn.pri:hover{opacity:.9;color:var(--bg)}
.menu-btn{display:none}
.wrap{display:grid;grid-template-columns:300px minmax(0,1fr) 220px;max-width:1440px;margin:0 auto}
.side{position:sticky;top:64px;height:calc(100vh - 64px);overflow-y:auto;padding:24px 16px 80px 24px;border-right:1px solid var(--line2)}
.search{width:100%;height:42px;display:flex;align-items:center;gap:10px;padding:0 10px 0 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg2);color:var(--mute);font:inherit;font-size:15px;cursor:pointer;text-align:left}
.search kbd{margin-left:auto;font:12px "Geist Mono",monospace;border:1px solid var(--line);border-radius:6px;padding:1px 6px}
.grp{margin:26px 0 6px;padding-left:8px;font-weight:600;font-size:15px;color:var(--ink)}
.side ul{list-style:none;margin:0;padding:0}
.side li a{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:10px;color:var(--mute);font-size:15px;line-height:1.35;position:relative}
.side li a:hover{color:var(--ink);background:var(--chip)}
.side li a.on{color:var(--ink);background:var(--chip)}
.side li a.on::before{content:"";position:absolute;left:-8px;top:8px;bottom:8px;width:3px;border-radius:2px;background:var(--accent)}
.side .badge{margin-left:auto;font-size:11px;padding:1px 7px;border-radius:999px;background:var(--notebg);color:var(--accent);border:1px solid var(--noteline)}
.socials{display:flex;gap:6px;margin-top:28px;padding-left:4px}
main{min-width:0;padding:48px 56px 96px}
.crumb{color:var(--mute);font-size:14px;margin-bottom:10px}
h1{font-size:44px;line-height:1.1;letter-spacing:-.03em;margin:0 0 14px;font-weight:600}
.lead{font-size:19px;color:var(--mute2);margin:0 0 34px;max-width:720px}
.doc h2{font-size:26px;letter-spacing:-.02em;margin:48px 0 14px;font-weight:600;scroll-margin-top:84px}
.doc h3{font-size:17px;margin:0 0 4px;font-weight:600}
.doc p,.doc li{color:var(--mute2)}
.doc b{color:var(--ink);font-weight:600}
.doc ul{padding-left:22px}.doc li{margin:6px 0}
.steps{list-style:none;padding:0;margin:20px 0 28px;position:relative}
.steps li{display:grid;grid-template-columns:36px 1fr;gap:16px;padding:0 0 22px;position:relative;margin:0}
.steps li:not(:last-child)::after{content:"";position:absolute;left:17px;top:38px;bottom:4px;width:1px;background:var(--line)}
.steps .sn{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:500 15px "Geist Mono",monospace;background:var(--surface);border:1px solid var(--line);color:var(--ink)}
.steps p{margin:2px 0 0}
.call{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:12px;margin:24px 0;border:1px solid;font-size:15px}
.call .ic{margin-top:3px}.call div{color:var(--mute2)}
.call.note{background:var(--notebg);border-color:var(--noteline)}.call.note .ic{color:var(--accent)}
.call.tip{background:var(--tipbg);border-color:var(--tipline)}.call.tip .ic{color:var(--buy)}
.call.warn{background:var(--warnbg);border-color:var(--warnline)}.call.warn .ic{color:var(--sell)}
.shot{margin:28px 0;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(135deg,#1a1d4a,#0f1020 45%,#1b1f5e);padding:14px 14px 0}
.shot img{display:block;width:100%;height:auto;border-radius:9px 9px 0 0;box-shadow:0 -10px 50px var(--glow)}
.shot figcaption{margin:0 -14px;padding:10px 16px;font-size:13px;color:#A9ACC9;background:rgba(10,10,20,.55)}
.shot.narrow{max-width:560px}
.tw{overflow-x:auto;margin:18px 0 26px;border:1px solid var(--line);border-radius:12px}
table{border-collapse:collapse;width:100%;font-size:15px}
th{text-align:left;font-weight:500;color:var(--mute);font-size:13px;text-transform:uppercase;letter-spacing:.04em;padding:12px 16px;background:var(--bg2);border-bottom:1px solid var(--line)}
td{padding:12px 16px;border-top:1px solid var(--line2);vertical-align:top;color:var(--mute2)}
tr:first-child td{border-top:0}
td:first-child{color:var(--ink);font-weight:500;white-space:nowrap}
details.faq{border:1px solid var(--line);border-radius:12px;margin:10px 0;background:var(--bg2)}
details.faq summary{cursor:pointer;padding:14px 18px;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:12px}
details.faq summary::after{content:"+";color:var(--mute);font-size:20px;line-height:1}
details.faq[open] summary::after{content:"−"}
details.faq div{padding:0 18px 16px;color:var(--mute2)}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:56px}
.pager a{border:1px solid var(--line);border-radius:12px;padding:14px 18px;color:var(--ink);display:block}
.pager a:hover{border-color:var(--accent)}
.pager small{display:block;color:var(--mute);font-size:13px}
.pager .nx{text-align:right;grid-column:2}
.try{margin-top:48px;border-radius:16px;padding:28px;border:1px solid var(--noteline);background:radial-gradient(120% 140% at 100% 0%,var(--glow),transparent 60%),var(--bg2);display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;justify-content:space-between}
.try h2{margin:0 0 4px!important;font-size:22px!important}
.try p{margin:0;color:var(--mute2)}
.toc{position:sticky;top:64px;align-self:start;padding:48px 24px 0 8px;font-size:14px}
.toc b{display:block;color:var(--ink);font-weight:500;margin-bottom:8px}
.toc a{display:block;color:var(--mute);padding:4px 0 4px 12px;border-left:1px solid var(--line)}
.toc a.on{color:var(--ink);border-color:var(--accent)}
/* home */
.hero-logo{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:20px;font-weight:500;margin-bottom:26px}
.hero h1{font-size:64px}
.ctas{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin-bottom:64px}
.ctas a.more{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-weight:500}
.sec{font-size:18px;font-weight:600;margin:0 0 16px}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:56px}
.card{position:relative;display:block;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(135deg,#232A8F,#0F1022 50%,#3B42C9);aspect-ratio:16/10;color:#fff}
.card img{position:absolute;inset:16px 16px auto 16px;width:calc(100% - 32px);border-radius:10px;opacity:.75;transition:transform .4s ease,opacity .3s}
.card:hover img{transform:translateY(-6px);opacity:.9}
.card .ov{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(8,8,16,.92) 78%)}
.card .tx{position:absolute;left:24px;right:56px;bottom:22px}
.card .tx .ic{margin-bottom:10px}
.card h3{margin:0;font-size:24px;font-weight:600;color:#fff}
.card p{margin:6px 0 0;color:#D6D7EA;font-size:15px;line-height:1.5}
.card .go{position:absolute;right:22px;bottom:26px;color:#fff}
.card:hover{color:#fff}
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:56px}
.why>div{border:1px solid var(--line);border-radius:14px;padding:20px;background:var(--bg2)}
.why .k{font:500 30px "Geist Mono",monospace;color:var(--ink);letter-spacing:-.02em}
.why p{margin:6px 0 0;color:var(--mute2);font-size:15px}
.refs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.refs a{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:14px 16px;color:var(--ink)}
.refs a:hover{border-color:var(--accent)}
.refs a .ic{color:var(--mute)}
.tg{max-width:420px;border-radius:14px;background:#17212B;padding:14px;color:#fff;font-size:15px;margin:24px 0}
/* search */
.sk{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.55);display:none;align-items:flex-start;justify-content:center;padding:12vh 16px 16px}
.sk.open{display:flex}
.skp{width:100%;max-width:620px;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.skp input{width:100%;height:56px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-size:17px;padding:0 18px;outline:none}
.skr{max-height:52vh;overflow-y:auto;padding:8px}
.skr a{display:block;padding:10px 12px;border-radius:10px;color:var(--ink)}
.skr a small{display:block;color:var(--mute);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.skr a.sel,.skr a:hover{background:var(--chip)}
.skr .empty{padding:18px;color:var(--mute)}
footer{border-top:1px solid var(--line2);margin-top:64px;padding-top:22px;color:var(--mute);font-size:13px;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between}
footer a{color:var(--mute)}footer a:hover{color:var(--ink)}
.wrap.wide{grid-template-columns:300px minmax(0,1fr)}
.wrap.wide main{max-width:1160px}
@media (max-width:1180px){.wrap{grid-template-columns:280px minmax(0,1fr)}.toc{display:none}}
@media (max-width:900px){
.wrap{display:block}
.menu-btn{display:inline-flex}
.side{position:fixed;z-index:40;top:64px;left:0;width:min(320px,86vw);background:var(--bg);transform:translateX(-102%);transition:transform .2s ease;border-right:1px solid var(--line)}
body.nav .side{transform:none}
body.nav::after{content:"";position:fixed;inset:64px 0 0;background:rgba(0,0,0,.5);z-index:35}
main{padding:32px 16px 72px}
.tnav a.t{display:none}
.top{padding:0 12px 0 8px;gap:8px}
.brand span{display:none}
h1{font-size:34px}.hero h1{font-size:42px}
.cards,.why,.refs{grid-template-columns:1fr}
.card{aspect-ratio:4/3}
.pager{grid-template-columns:1fr}.pager .nx{grid-column:1}
}
@media (max-width:420px){.tnav .btn{padding:0 12px;font-size:14px}}