:root{--bg:#08070C;--ink:#ECE7F7;--ac:#B36BFF;--dim:#8B84A3;--line:#1E1A2B;--panel:#0E0C15;--ok:#7CF2B0;--no:#FF6B8A}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 'JetBrains Mono',ui-monospace,monospace;-webkit-font-smoothing:antialiased}
body{padding-bottom:64px}
a{color:inherit}
h1,h2,h3,.big{font-family:Sora,system-ui,sans-serif;font-weight:800;letter-spacing:-.02em}
code{font-family:'JetBrains Mono',monospace}

.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:10px 14px;background:rgba(8,7,12,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.mark{display:flex;align-items:center;gap:8px;text-decoration:none;font-family:Sora,sans-serif;font-weight:800;letter-spacing:.02em}
.mark img{width:26px;height:26px;border-radius:7px}
.nav{display:flex;gap:14px;margin-left:auto;font-size:13px;color:var(--dim)}
.nav a{text-decoration:none}.nav a:hover{color:var(--ac)}
.right{display:flex;align-items:center;gap:10px}
#social a{color:var(--dim);text-decoration:none;font-size:12px;margin-left:8px}
#walletBtn{font:inherit;font-size:12px;padding:6px 11px;border:1px solid var(--line);background:transparent;color:var(--dim);border-radius:8px;cursor:pointer}
#walletBtn.on{color:var(--ac);border-color:var(--ac)}

main{max-width:720px;margin:0 auto;padding:18px 14px 40px}
.hero h1{font-size:30px;line-height:1.08;margin:6px 0 10px}
.hero h1 em{font-style:normal;color:var(--ac)}
.hero p{color:var(--dim);margin:0 0 18px;font-size:14px;max-width:56ch}

/* ---- the readout: one object, one action ---- */
.term{border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:hidden}
.termHead{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:12px;color:var(--dim)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--ac);box-shadow:0 0 10px var(--ac)}
.dot.off{background:var(--dim);box-shadow:none}
.termHead .sp{margin-left:auto}
.read{padding:22px 16px 18px;text-align:center}
.read .lbl{font-size:12px;color:var(--dim);text-transform:uppercase;letter-spacing:.14em}
.read .num{font-family:Sora,sans-serif;font-weight:800;font-size:clamp(38px,12.5vw,62px);line-height:1;margin:8px 0 2px;letter-spacing:-.03em;color:var(--ac);word-break:break-all}
.read .num.done{color:var(--ok)}
.read .unit{font-size:13px;color:var(--dim)}
.rail{position:relative;height:16px;margin:18px 14px 8px;border:1px solid var(--line);border-radius:5px;background:#0A0912;overflow:hidden}
.rail .fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#6B3FB0,var(--ac));box-shadow:0 0 16px rgba(179,107,255,.5);transition:width .5s ease}
.rail .fill.done{background:linear-gradient(90deg,#2E8F63,var(--ok));box-shadow:0 0 16px rgba(124,242,176,.45)}
.railKeys{display:flex;justify-content:space-between;padding:0 14px;font-size:11px;color:var(--dim)}
.railKeys b{color:var(--ink);font-weight:500}
.act{padding:14px 14px 16px;display:flex;gap:10px}
.btn{flex:1;font:inherit;font-weight:700;padding:14px 12px;border-radius:11px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}
.btn.pri{background:var(--ac);border-color:var(--ac);color:#12081F}
.btn.pri:disabled{background:#241b33;border-color:var(--line);color:var(--dim);cursor:not-allowed}
.btn.ghost{flex:0 0 auto;color:var(--dim)}
.meta{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.meta div{padding:12px 10px;text-align:center;border-right:1px solid var(--line)}
.meta div:last-child{border-right:0}
.meta .k{font-size:10px;color:var(--dim);text-transform:uppercase;letter-spacing:.12em}
.meta .v{font-family:Sora,sans-serif;font-weight:800;font-size:17px;margin-top:3px}
.mine{padding:11px 14px;border-top:1px solid var(--line);font-size:12.5px;color:var(--dim)}
.mine b{color:var(--ac)}

.carry{display:flex;align-items:center;gap:10px;margin:14px 0 0;padding:13px 14px;border:1px dashed var(--line);border-radius:12px;font-size:13px;color:var(--dim)}
.carry b{font-family:Sora,sans-serif;font-size:17px;color:var(--ac)}

h2{font-size:12px;color:var(--dim);text-transform:uppercase;letter-spacing:.16em;margin:26px 0 10px;font-weight:600}
.feed{border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden;font-size:12.5px}
.feed .row{display:flex;align-items:center;gap:9px;padding:10px 13px;border-bottom:1px solid var(--line);white-space:nowrap;overflow:hidden}
.feed .row:last-child{border-bottom:0}
.feed .car{color:var(--ac);flex:0 0 auto}
.feed .who{color:var(--dim);text-overflow:ellipsis;overflow:hidden}
.feed .who a{text-decoration:none}
.feed .amt{margin-left:auto;flex:0 0 auto;color:var(--ink)}
.feed .t{flex:0 0 auto;color:var(--dim);font-size:11px;width:38px;text-align:right}
.pill{flex:0 0 auto;font-size:10px;letter-spacing:.1em;padding:3px 7px;border-radius:5px;border:1px solid var(--line);color:var(--dim)}
.pill.quorate{color:var(--ok);border-color:rgba(124,242,176,.4)}
.pill.short{color:var(--no);border-color:rgba(255,107,138,.35)}
.empty{padding:20px 14px;color:var(--dim);font-size:13px;text-align:center}

.steps{display:grid;gap:9px;margin-top:20px}
.step{border:1px solid var(--line);border-radius:11px;padding:13px 14px;font-size:13px;color:var(--dim);background:var(--panel)}
.step b{display:block;font-family:Sora,sans-serif;font-size:11px;letter-spacing:.14em;color:var(--ac);margin-bottom:5px}

.prose{font-size:14px;color:var(--dim);max-width:62ch}
.prose h3{font-size:15px;color:var(--ink);margin:22px 0 6px}
.prose code{color:var(--ac);word-break:break-all}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13px;padding:13px 14px;border-top:1px solid var(--line)}
.kv span{color:var(--dim)}.kv code{text-align:right;word-break:break-all}
.card{border:1px solid var(--line);border-radius:12px;background:var(--panel);margin-bottom:11px;overflow:hidden}
.card .h{display:flex;align-items:center;gap:9px;padding:11px 14px;border-bottom:1px solid var(--line);font-size:12px;color:var(--dim)}
.card .h .t{font-family:Sora,sans-serif;font-weight:800;color:var(--ink);letter-spacing:.04em}
.card p{margin:0;padding:12px 14px}

.foot{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;align-items:center;gap:9px;padding:9px 13px;background:rgba(8,7,12,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);font-size:11px;color:var(--dim)}
.foot code{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.foot button{font:inherit;font-size:11px;padding:5px 9px;border:1px solid var(--line);background:transparent;color:var(--dim);border-radius:7px;cursor:pointer}
#buy{flex:0 0 auto;background:var(--ac);color:#12081F;font-weight:700;padding:6px 11px;border-radius:7px;text-decoration:none}
.k2 a{color:var(--dim)}

#modal{position:fixed;inset:0;z-index:40;background:rgba(4,3,8,.72);display:flex;align-items:flex-end;justify-content:center}
#modal[hidden]{display:none}
.sheet{width:100%;max-width:520px;background:var(--panel);border:1px solid var(--line);border-radius:16px 16px 0 0;padding:14px 15px 24px}
.sheetHead{display:flex;align-items:center;margin-bottom:12px;font-size:12px;color:var(--dim);text-transform:uppercase;letter-spacing:.14em}
.sheetHead button{margin-left:auto;font-size:20px;line-height:1;background:none;border:0;color:var(--dim);cursor:pointer}
.fine{font-size:12.5px;color:var(--dim);margin-bottom:12px}
.fine b{color:var(--ink)}
.presets{display:flex;gap:7px;margin-bottom:9px}
.presets button{flex:1;font:inherit;font-size:12px;padding:8px;border:1px solid var(--line);background:transparent;color:var(--dim);border-radius:8px;cursor:pointer}
.presets button.on{border-color:var(--ac);color:var(--ac)}
#amt{width:100%;font:inherit;font-size:19px;padding:12px;border:1px solid var(--line);background:#0A0912;color:var(--ink);border-radius:9px;margin-bottom:9px}
.warn{font-size:12.5px;color:var(--no);margin-bottom:10px}
.wl{display:grid;gap:7px}
.wl button{display:flex;align-items:center;gap:9px;font:inherit;padding:11px;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:9px;cursor:pointer}
.wl img{width:20px;height:20px;border-radius:5px}
.toast{position:fixed;left:50%;bottom:74px;transform:translateX(-50%);z-index:60;background:#171226;border:1px solid var(--line);color:var(--ink);padding:10px 15px;border-radius:10px;font-size:12.5px;max-width:88vw}
@media(min-width:620px){.hero h1{font-size:40px}main{padding-top:26px}}
