:root{--bg:#08080c;--card:#101017;--tile:#16161f;--tile2:#1d1d28;--hair:#22222e;--hair2:#30303f;--ink:#f1f0f8;--dim:#a6a4b9;--faint:#6b6980;--acc:#a78bfa;--acc2:#c4b5fd;--acc-ink:#12082e;--up:#4ade80;--down:#f87171;--head:"Onest",system-ui,sans-serif;--sans:"Onest",system-ui,sans-serif;--mono:"Geist Mono",ui-monospace,monospace}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg);color-scheme:dark}
body{background:var(--bg);color:var(--ink);font:15.5px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}

.top{position:sticky;top:0;z-index:40;background:rgba(8,8,12,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--hair)}
.top .wrap{display:flex;align-items:center;height:64px;gap:28px}
.brand{display:flex;align-items:center;gap:10px;font:600 19px/1 var(--head);letter-spacing:-.02em}
.brand img{width:28px;height:28px;border-radius:8px}
.nav{display:flex;gap:22px;color:var(--dim);font-size:14.5px}
.nav a:hover,.nav a.on{color:var(--ink)}
.top .act{margin-left:auto}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border-radius:10px;border:1px solid var(--hair2);background:var(--tile);color:var(--ink);font:600 14.5px var(--sans);white-space:nowrap}
.btn:hover{border-color:var(--dim)}
.btn.pri{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}
.btn.pri:hover{background:var(--acc2)}
.btn.sm{height:34px;padding:0 12px;font-size:13.5px}
.btn:disabled{opacity:.45;cursor:not-allowed}

/* hero: text left, the flow right */
.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:50px;align-items:center;padding:70px 0 20px}
.hero h1{font:600 clamp(44px,6vw,80px)/1 var(--head);letter-spacing:-.04em}
.hero h1 span{color:var(--acc)}
.hero p.lead{font-size:18px;color:var(--dim);margin-top:22px;max-width:500px}
.ctas{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
#caBox{margin-top:20px}
.ca{display:inline-flex;gap:12px;align-items:center;padding:8px 14px;border:1px solid var(--hair2);border-radius:10px;background:var(--card);cursor:pointer;font:13px var(--mono);max-width:100%}
.ca b{color:var(--acc)}.ca span{overflow:hidden;text-overflow:ellipsis}
.flow{background:var(--card);border:1px solid var(--hair);border-radius:20px;padding:22px;position:relative}
.flow svg{width:100%;height:auto;display:block}
.flow .cap{display:flex;justify-content:space-between;font:12.5px var(--mono);color:var(--faint);margin-top:10px}
.lg{width:26px;height:26px;border-radius:50%;object-fit:cover;background:#fff;flex:none}
.lg.badge{display:inline-grid;place-items:center;background:var(--tile2);color:var(--dim);font-size:10px;font-weight:700}
.chg{font-family:var(--mono)}.chg.up{color:var(--up)}.chg.down{color:var(--down)}

.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair);border-radius:16px;overflow:hidden;margin-top:56px}
.strip div{background:var(--card);padding:20px 22px}
.strip b{display:block;font:600 26px var(--mono);letter-spacing:-.02em}
.strip span{font-size:13px;color:var(--faint)}

section.s{padding:100px 0 0}
.s-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:28px}
.s-head h2{font:600 clamp(32px,4vw,48px)/1.05 var(--head);letter-spacing:-.035em}
.s-head h2 span{color:var(--acc)}
.s-head p{color:var(--dim)}
.uses{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.card{background:var(--card);border:1px solid var(--hair);border-radius:18px;padding:24px}
.card .tag{font:500 12px var(--mono);color:var(--acc)}
.card h3{font:600 19px/1.25 var(--head);margin:10px 0 8px;letter-spacing:-.01em}
.card p{color:var(--dim);font-size:14.5px}
.mixes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.mix .bar{display:flex;height:12px;border-radius:6px;overflow:hidden;margin:14px 0 12px}
.mix .bar i{display:block;height:100%}
.mix .rows div{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:14px;border-top:1px solid var(--hair)}
.mix .rows .r{margin-left:auto;font-family:var(--mono);color:var(--dim)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.steps .n{font:600 34px var(--mono);color:var(--acc)}
.faq{display:grid;grid-template-columns:1fr 1fr;gap:14px}.faq h3{margin-top:0}

footer{background:#000;margin-top:120px;padding:60px 0 72px}
footer .wrap{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}
footer h4{font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#5d5b70;margin-bottom:14px}
footer a{display:block;color:#c9c7d8;margin-bottom:9px;font-size:14.5px}
footer a:hover{color:#fff}
footer p{color:#7f7d93;font-size:14px;margin-top:12px;max-width:340px}

/* app */
.tabs{display:flex;gap:4px;margin:30px 0 22px;padding:4px;background:var(--card);border:1px solid var(--hair);border-radius:12px;width:max-content}
.tabs a{padding:8px 16px;border-radius:8px;color:var(--dim);font-weight:600}
.tabs a.on{background:var(--tile2);color:var(--ink)}
.app{display:grid;grid-template-columns:1fr 390px;gap:18px;align-items:start;padding-bottom:30px}
.panel{position:sticky;top:84px}
.f{margin-bottom:16px}
.f label{display:flex;justify-content:space-between;font:500 12px var(--mono);color:var(--faint);margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}
.f label a{color:var(--acc);text-transform:none;letter-spacing:0;cursor:pointer}
.in{width:100%;height:46px;padding:0 14px;border-radius:10px;border:1px solid var(--hair2);background:var(--tile);color:var(--ink);font:14.5px var(--mono);outline:none}
.in:focus{border-color:var(--acc)}
.part{display:grid;grid-template-columns:1fr 120px 36px;gap:8px;align-items:center;margin-bottom:8px}
.part .x{height:46px;border-radius:10px;border:1px solid var(--hair2);background:var(--tile);color:var(--faint)}
.presets{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.presets button{height:32px;padding:0 12px;border-radius:8px;border:1px solid var(--hair2);background:var(--tile);color:var(--dim);font:500 13px var(--mono)}
.presets button:hover{color:var(--ink);border-color:var(--acc)}
.lines{margin:6px 0 16px;font-size:14px}
.lines div{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px dashed var(--hair);color:var(--dim)}
.lines b{color:var(--ink);font:500 13.5px var(--mono)}
.panel .btn{width:100%;height:48px}
.hint{color:var(--faint);font-size:13px;margin-top:10px}
.addr{display:flex;gap:8px;align-items:center;padding:12px 14px;border-radius:12px;background:var(--bg);border:1px dashed var(--acc);font:13.5px var(--mono);word-break:break-all}
.minelist{display:grid;gap:14px;padding-bottom:30px}
.empty{padding:34px;text-align:center;color:var(--faint);grid-column:1/-1}

.modal{position:fixed;inset:0;background:rgba(0,0,0,.65);display:none;place-items:center;z-index:90}
.modal.open{display:grid}
.modal .box{background:var(--card);border:1px solid var(--hair2);border-radius:16px;padding:22px;width:min(380px,92vw)}
.modal h3{font:600 19px var(--head);margin-bottom:14px}
.wbtn{display:flex;align-items:center;gap:12px;width:100%;padding:11px 14px;margin-bottom:8px;border-radius:10px;border:1px solid var(--hair2);background:var(--tile);color:var(--ink)}
.wbtn img{width:24px;height:24px}
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,40px);opacity:0;background:var(--acc);color:var(--acc-ink);padding:11px 16px;border-radius:10px;font-weight:600;transition:.25s;z-index:99;max-width:92vw}
.toast.show{opacity:1;transform:translate(-50%,0)}.toast.bad{background:var(--down);color:#fff}

.docs{display:grid;grid-template-columns:210px 1fr;gap:48px;padding:56px 0 0}
.docs nav{position:sticky;top:90px;align-self:start;display:flex;flex-direction:column;gap:9px;color:var(--dim);font-size:14.5px}
.docs h1{font:600 56px/1 var(--head);letter-spacing:-.035em;margin-bottom:16px}
.docs h2{font:600 26px var(--head);margin:46px 0 12px;letter-spacing:-.02em}
.docs p,.docs li{color:var(--dim);max-width:740px;margin-bottom:12px}
.docs ul{padding-left:20px}
.docs code{font:13px var(--mono);background:var(--tile);padding:2px 6px;border-radius:5px;color:var(--acc2)}
.docs table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--hair);border-radius:12px;overflow:hidden}
.docs td{padding:12px 16px;border-bottom:1px solid var(--hair);font-size:14px}

@media (max-width:1000px){.hero{grid-template-columns:1fr}.uses,.mixes,.steps{grid-template-columns:1fr 1fr}.app{grid-template-columns:1fr}.panel{position:static}.docs{grid-template-columns:1fr}.docs nav{display:none}.s-head{grid-template-columns:1fr}}
@media (max-width:680px){
  .wrap{padding:0 16px}.nav{display:none}.hero{padding-top:40px}
  .uses,.mixes,.steps,.faq{grid-template-columns:1fr}
  .strip{grid-template-columns:1fr 1fr}
  footer .wrap{grid-template-columns:1fr 1fr}footer .wrap>div:first-child{grid-column:1/-1}
  .tabs{width:100%}.tabs a{flex:1;text-align:center}
}

/* the banner's light behind the first screen, full width, fading into the page */
.hero{position:relative;isolation:isolate}
.hero::before{content:"";position:absolute;z-index:-1;left:50%;top:-70px;width:100vw;height:calc(100% + 140px);transform:translateX(-50%);background:url(/hero-bg.jpg) center/cover no-repeat;opacity:.95;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 55%,transparent 100%);pointer-events:none}
.brand img{border-radius:50%!important;object-fit:cover;width:36px!important;height:36px!important;box-shadow:0 0 0 1px rgba(255,255,255,.14)}
