/* ============================================================
   fulcrum — the launchpad app (/app).
   Same tokens as the landing (style.css). Motion is transform and
   opacity only; nothing animates a filter, a shadow or a layout box.
   ============================================================ */
:root{
  --bg:#03060f;
  --bg2:#070d1d;
  --card:#0a1226;
  --field:#050a18;
  --line:rgba(233,237,246,.09);
  --line2:rgba(233,237,246,.16);
  --ink:#eef1f8;
  --mute:#8790a6;
  --dim:#555e74;
  --pearl:#e6ebf5;
  --pearl2:#d6deee;
  --navy:#16244d;
  --navy2:#223672;
  --bad:#dba9b0;
  --ease:cubic-bezier(.19,1,.22,1);
  --pad:clamp(16px,3.2vw,40px);
  --max:1240px;
  --bar:72px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--bar) + 16px)}
body{background:var(--bg);color:var(--ink);font-family:'Inter Tight',system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
button:disabled{cursor:not-allowed}
img{display:block;max-width:100%}
svg{flex:none}
em{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;letter-spacing:-.02em}
.mono{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase}
::selection{background:var(--pearl);color:var(--bg)}
:focus-visible{outline:2px solid var(--pearl);outline-offset:2px}
[hidden]{display:none!important}

/* one still wash behind everything; fixed + no animation = painted once */
.bg{position:fixed;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(ellipse 70% 42% at 50% -8%,rgba(34,54,114,.30),transparent 70%),
  radial-gradient(ellipse 40% 30% at 100% 100%,rgba(22,36,77,.22),transparent 70%)}

/* ================= HEADER ================= */
/* transparent at the top of the page; a solid backing only once content
   scrolls under it (a background-color fade, not a blur) */
.bar{position:sticky;top:0;z-index:50;background:rgba(3,6,15,0);transition:background-color .35s}
.bar.is-stuck{background:rgba(3,6,15,.97)}
.bar-in{max-width:calc(var(--max) + 2 * var(--pad));margin:0 auto;height:var(--bar);padding:0 var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}
.logo{display:flex;align-items:center;gap:10px;justify-self:start}
.logo svg{width:26px;height:26px;color:var(--ink)}
.logo b{display:block;font-weight:500;font-size:18px;letter-spacing:-.02em;line-height:1}
.logo small{display:block;font-size:8px;color:var(--mute);margin-top:4px}
.logo.sm svg{width:20px;height:20px}
.logo.sm b{font-size:15px}

.tabs{position:relative;display:flex;padding:4px;border-radius:999px;background:var(--card);border:1px solid var(--line)}
.tabs a{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;height:36px;padding:0 20px;border-radius:999px;font-size:14px;font-weight:500;color:var(--mute);transition:color .4s var(--ease)}
.tabs a:hover{color:var(--ink)}
.tabs a[aria-current="page"]{color:var(--bg)}
.tabs-thumb{position:absolute;left:0;top:4px;height:36px;width:0;border-radius:999px;background:var(--pearl);transform:translateX(0);transition:transform .55s var(--ease),width .55s var(--ease),opacity .3s;opacity:0}
.tabs.is-ready .tabs-thumb{opacity:1}
.tabs.no-anim .tabs-thumb{transition:none}

.bar-right{justify-self:end;display:flex;align-items:center;gap:10px}
.net{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line);color:var(--mute);white-space:nowrap}
.net-dot{width:6px;height:6px;border-radius:50%;background:var(--dim)}
.net.is-live .net-dot{background:var(--pearl)}

.wallet{position:relative}
.wbtn{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 20px;border-radius:999px;background:var(--pearl);color:var(--bg);font-size:13px;font-weight:600;letter-spacing:.01em;white-space:nowrap;transition:transform .5s var(--ease),background .3s}
.wbtn:hover{background:#fff}
.wbtn:active{transform:scale(.97)}
.wbtn-dot{display:none;width:7px;height:7px;border-radius:50%;background:var(--pearl)}
.wbtn.is-on{background:var(--card);color:var(--ink);border:1px solid var(--line2);padding:0 16px}
.wbtn.is-on:hover{background:#0f1a36}
.wbtn.is-on .wbtn-dot{display:block}
.wbtn-bal{color:var(--mute);font-size:11px;padding-left:10px;border-left:1px solid var(--line2)}
.wbtn.is-busy{opacity:.7}

.wmenu{position:absolute;right:0;top:calc(100% + 10px);width:280px;background:var(--card);border:1px solid var(--line2);border-radius:20px;padding:8px;box-shadow:0 30px 60px -20px rgba(0,0,0,.8);transform-origin:top right;animation:pop .35s var(--ease) backwards;z-index:60}
@keyframes pop{from{opacity:0;transform:translateY(-6px) scale(.98)}}
.wmenu-head{padding:12px 12px 14px;display:flex;flex-direction:column;gap:6px}
.wmenu-head small{color:var(--mute)}
.wmenu-addr{font-size:13px;color:var(--ink);text-transform:none;letter-spacing:.02em}
.wmenu-bal{font-size:24px;font-weight:500;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.wmenu-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;font-size:14px;color:var(--ink);text-align:left;transition:background .25s}
.wmenu-item:hover{background:rgba(233,237,246,.06)}
.wmenu-item svg{width:16px;height:16px;color:var(--mute)}
.wmenu-head small{display:flex;gap:6px}
.wmenu-name{text-transform:none;letter-spacing:.02em}

/* wallet picker: a plain dimmed backdrop (no blur) and one card */
.wpick{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:16px;background:rgba(3,6,15,.78);animation:fade .25s ease backwards}
@keyframes fade{from{opacity:0}}
.wpick-card{width:min(380px,100%);background:var(--card);border:1px solid var(--line2);border-radius:24px;padding:10px;box-shadow:0 40px 80px -30px rgba(0,0,0,.9);animation:pop .35s var(--ease) backwards}
.wpick-h{display:flex;justify-content:space-between;align-items:center;padding:12px 10px 14px 14px}
.wpick-h b{font-weight:500;font-size:18px;letter-spacing:-.03em}
.wpick-x{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:var(--mute)}
.wpick-x:hover{color:var(--ink);background:rgba(233,237,246,.06)}
.wpick-x svg{width:16px;height:16px}
.wpick-card > .hint{padding:0 14px 12px}
.wpick-opt{width:100%;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px;border-radius:16px;font-size:15px;font-weight:500;color:var(--ink);text-align:left;transition:background .25s}
.wpick-opt:hover,.wpick-opt:focus-visible{background:rgba(233,237,246,.06)}
.wpick-opt img{width:32px;height:32px;border-radius:9px}
.wpick-ico{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--field);border:1px solid var(--line2);color:var(--pearl)}
.wpick-ico svg{width:16px;height:16px}
.wpick-opt small{color:var(--mute);font-size:10px}

/* ================= LAYOUT ================= */
.main{flex:1;width:100%;max-width:calc(var(--max) + 2 * var(--pad));margin:0 auto;padding:28px var(--pad) 80px}
.view{display:block}
.eyebrow{color:var(--mute);margin-bottom:18px}
.vhead{padding:40px 0 38px}
.vhead.row{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.vtitle{font-weight:500;font-size:clamp(40px,6vw,88px);line-height:.95;letter-spacing:-.055em;max-width:13ch}
.vtitle em{font-size:1.04em;color:var(--pearl2)}
.lead{color:var(--mute);font-size:17px;line-height:1.55;max-width:540px;margin-top:20px}
.hint{color:var(--mute);font-size:13px;line-height:1.55}
.vstats{display:flex;gap:12px}
.vstats div{min-width:150px;padding:16px 18px;border-radius:18px;background:var(--bg2);border:1px solid var(--line)}
.vstats small{display:block;color:var(--mute);margin-bottom:8px}
.vstats b{font-size:30px;font-weight:500;letter-spacing:-.04em;font-variant-numeric:tabular-nums}

/* entrance: a short rise, staggered by --i, opacity + transform only */
.view.is-in .rise{animation:rise .8s var(--ease) backwards;animation-delay:calc(var(--i,0) * 60ms)}
@keyframes rise{from{opacity:0;transform:translate3d(0,16px,0)}}

/* ================= STATUS ================= */
.status{display:flex;align-items:flex-start;gap:14px;padding:16px 20px;border-radius:18px;background:var(--bg2);border:1px solid var(--line2);font-size:14px;line-height:1.5;color:var(--mute)}
.status b{color:var(--ink);font-weight:500}
.status-dot{flex:none;width:8px;height:8px;margin-top:7px;border-radius:50%;background:var(--pearl);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{50%{opacity:.3}}
.status.is-error .status-dot{background:var(--bad)}

/* ================= CARDS + BUTTONS ================= */
.card{background:linear-gradient(180deg,var(--bg2),rgba(7,13,29,.55));border:1px solid var(--line);border-radius:24px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 28px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;position:relative;overflow:hidden;isolation:isolate;transition:color .5s var(--ease),opacity .3s,transform .4s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;border-radius:inherit;transform:translateY(101%);transition:transform .6s var(--ease);z-index:-1}
.btn:not(:disabled):hover::before{transform:none}
.btn:not(:disabled):active{transform:scale(.985)}
.btn.pearl{background:var(--pearl);color:var(--bg)}
.btn.pearl::before{background:#fff}
.btn.dark{background:#111a30;color:var(--ink);border:1px solid var(--line2)}
.btn.dark::before{background:var(--navy2)}
.btn.block{width:100%;height:58px;font-size:13px}
.btn:disabled{opacity:.42}
.btn.is-busy{opacity:.75;cursor:progress}
.reason{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;color:var(--mute);font-size:13px;text-align:center}
.reason svg{width:14px;height:14px}
.reason.is-bad{color:var(--bad)}
.reason:empty{display:none}

/* ================= FORMS ================= */
.field{display:flex;flex-direction:column;gap:9px;position:relative}
.field > .mono{color:var(--mute)}
.opt{font-family:'Instrument Serif',serif;font-style:italic;text-transform:none;letter-spacing:0;font-size:13px;color:var(--dim);margin-left:4px}
.field input,.field textarea,.search input{width:100%;background:var(--field);border:1px solid var(--line2);border-radius:14px;padding:0 16px;height:52px;font-size:16px;outline:none;transition:border-color .3s}
.field textarea{height:auto;padding:14px 16px;resize:vertical;min-height:88px;line-height:1.5}
.field input::placeholder,.field textarea::placeholder,.search input::placeholder{color:var(--dim)}
.field input:focus,.field textarea:focus,.search input:focus{border-color:rgba(230,235,245,.5)}
.field.is-bad input,.field.is-bad textarea{border-color:rgba(219,169,176,.6)}
.input-pre,.input-img,.input-amt{position:relative;display:block}
.input-pre i{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-style:normal;color:var(--mute);font-size:16px;pointer-events:none}
.input-pre input{padding-left:32px;text-transform:uppercase;font-family:'JetBrains Mono',monospace;font-size:15px;letter-spacing:.04em}
/* the image picker: the whole row is the file input's label */
.drop{position:relative;display:flex;align-items:center;gap:14px;min-height:72px;padding:10px 16px 10px 10px;border-radius:14px;border:1px dashed var(--line2);background:var(--field);cursor:pointer;transition:border-color .3s,background .3s}
.drop:hover,.drop.is-over{border-color:rgba(230,235,245,.45)}
.drop:focus-within{border-color:rgba(230,235,245,.5)}
.drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.drop-thumb{flex:none;width:52px;height:52px;border-radius:13px;background:var(--card);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;color:var(--mute)}
.drop-thumb svg{width:22px;height:22px}
.drop-thumb img{width:100%;height:100%;object-fit:cover}
.drop-text{display:flex;flex-direction:column;gap:4px;min-width:0}
.drop-text b{font-weight:500;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.drop-text small{color:var(--mute);font-size:12.5px;line-height:1.4}
.field.is-bad .drop{border-color:rgba(219,169,176,.6)}
.field.is-bad .drop-text small{color:var(--bad)}
.input-amt input{padding-right:64px;font-size:22px;height:62px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.input-amt i{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-style:normal;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.06em;color:var(--mute);pointer-events:none}
.count{position:absolute;right:12px;bottom:10px;color:var(--dim);font-size:10px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.chips button{height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--line2);font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--mute);transition:color .25s,border-color .25s,background .25s}
.chips button:hover{color:var(--ink);border-color:rgba(230,235,245,.35)}
.chips button[aria-pressed="true"]{background:var(--pearl);color:var(--bg);border-color:var(--pearl)}

/* ================= LAUNCH ================= */
.launch-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:24px;align-items:start}
.compose{padding:8px clamp(18px,2.6vw,34px) 30px}
.step{padding:28px 0 30px}
.step + .step{border-top:1px solid var(--line)}
.step-h{display:flex;align-items:baseline;gap:14px;margin-bottom:20px}
.step-h small{color:var(--dim)}
.step-h h2{font-weight:500;font-size:24px;letter-spacing:-.035em}
.step > .hint{margin:-8px 0 16px}
.fields{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}
.fields .wide{grid-column:1/-1}

.names-pick{display:flex;flex-direction:column;gap:8px}
.nopt{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;width:100%;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:var(--field);text-align:left;transition:border-color .3s,background .3s}
.nopt:hover:not(:disabled){border-color:var(--line2)}
.nopt[aria-checked="true"]{border-color:var(--pearl);background:#0b1328}
.nopt:disabled{opacity:.5}
.chip{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--pearl);color:var(--bg);font-style:normal;font-size:13px;font-weight:600;flex:none}
/* the issuer's own xStock tiles are full-bleed squares: shown whole, cropped to a disc */
.chip.has-logo{background:var(--card);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(233,237,246,.08)}
.chip.has-logo img{width:100%;height:100%;object-fit:cover;display:block}
.chip.xs{width:16px;height:16px;font-size:8px}
.lev{display:inline-flex;align-items:center;height:20px;padding:0 8px;margin-left:8px;border-radius:999px;background:rgba(230,235,245,.1);border:1px solid var(--line2);color:var(--ink);font-size:10px;white-space:nowrap;vertical-align:2px;text-transform:none;letter-spacing:.02em}
.lev.in-chip{height:18px;margin-left:4px;font-size:8.5px;padding:0 6px;background:rgba(230,235,245,.12);border-color:transparent}
.chips button .chip.xs{margin-right:6px;vertical-align:-3px}
#pvPay{display:inline-flex;align-items:center;gap:6px}
.nopt-id{display:flex;flex-direction:column;gap:3px;min-width:0}
.nopt-id > b{font-weight:500;font-size:16px;letter-spacing:-.02em}
.nopt-id small{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;color:var(--mute);font-size:12.5px;min-width:0}
.nopt-id .co{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.desk{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;border:1px dashed var(--line2);color:var(--mute);font-size:9.5px;white-space:nowrap}
.desk b{color:var(--ink);font-weight:500;text-transform:none;letter-spacing:.02em;font-size:10.5px}
.nopt-px{display:flex;flex-direction:column;align-items:flex-end;gap:3px;font-variant-numeric:tabular-nums}
.nopt-px b{font-weight:500;font-size:16px;letter-spacing:-.02em}
.nopt-px small{font-size:12px;color:var(--mute)}
.up{color:var(--ink)}
.down{color:var(--mute)}
.radio{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line2);display:grid;place-items:center}
.radio::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--pearl);transform:scale(0);transition:transform .35s var(--ease)}
[aria-checked="true"] .radio{border-color:var(--pearl)}
[aria-checked="true"] .radio::after{transform:scale(1)}

.quote{margin-top:16px;border-radius:16px;background:var(--field);border:1px solid var(--line);padding:4px 16px}
.quote div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 0;font-size:14px}
.quote div + div{border-top:1px solid var(--line)}
.quote span{color:var(--mute)}
.quote b{font-weight:500;font-variant-numeric:tabular-nums;text-align:right}
.quote.is-loading b{opacity:.45}
#lqNote{margin-top:12px}
.submit{padding-top:8px}

.preview{position:sticky;top:calc(var(--bar) + 20px);display:flex;flex-direction:column;gap:16px}
.pv-card .cc-stats{grid-template-columns:.6fr 1fr 1.2fr}
.pv-k{color:var(--mute);margin-bottom:2px}
.pv-desc{color:var(--mute);font-size:14px;line-height:1.5;margin-top:16px;overflow-wrap:anywhere}
.split-card{padding:22px}
.src-list{margin:14px 0 4px;display:flex;flex-direction:column;gap:10px}
.src-list li{display:flex;gap:12px;align-items:flex-start;color:var(--mute);font-size:14px;line-height:1.45}
.src-list b{color:var(--ink);font-weight:500}
.src-dot{flex:none;width:6px;height:6px;border-radius:50%;background:var(--pearl);margin-top:7px}
.split-bar{display:flex;gap:4px;height:12px;margin:16px 0 8px}
.split-bar i{border-radius:4px;background:var(--pearl)}
.split-bar i:nth-child(2){background:#98a5c8}
.split-bar i:nth-child(3){background:#5b6c9e}
.split-bar i:nth-child(4){background:var(--navy2)}
.split-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;font-size:14px}
.split-list li + li{border-top:1px solid var(--line)}
.split-list li span{display:flex;align-items:center;gap:10px;color:var(--mute)}
.split-list li span b{color:var(--ink);font-weight:500}
.split-list > li > b{font-weight:500;font-variant-numeric:tabular-nums}
.sw{width:10px;height:10px;border-radius:3px;background:var(--pearl)}
.sw.s2{background:#98a5c8}.sw.s3{background:#5b6c9e}.sw.s4{background:var(--navy2)}
.split-card .hint{margin-top:10px}

/* ================= COIN CARD (board + preview) ================= */
.coin-card{display:flex;flex-direction:column;padding:20px;transition:border-color .35s,transform .6s var(--ease)}
a.coin-card:hover{border-color:var(--line2);transform:translate3d(0,-3px,0)}
.cc-top{display:flex;align-items:center;gap:14px;min-width:0}
.avatar{flex:none;width:52px;height:52px;border-radius:16px;background:var(--card);border:1px solid var(--line2);display:grid;place-items:center;overflow:hidden;font-weight:600;font-size:15px;color:var(--pearl);letter-spacing:-.02em}
.avatar img{width:100%;height:100%;object-fit:cover}
.avatar.lg{width:76px;height:76px;border-radius:22px;font-size:22px}
.cc-id{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.cc-id b{font-weight:500;font-size:18px;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cc-id small{color:var(--mute)}
.pay-chip{flex:none;display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;background:rgba(230,235,245,.08);color:var(--ink);font-size:10.5px;white-space:nowrap}
/* ticker symbols keep their case (NVDAx, not NVDAX) wherever the mono or button style would shout them */
.pay-chip.mono,.name-filter button,.stat-k,.lv-actions .btn,.pos .btn,.kacts .btn,.panel-h .mono,.drop-row .a small,.kcoin small{text-transform:none;letter-spacing:.02em}
.lv-actions .btn,.pos .btn,.kacts .btn{font-size:13px;font-weight:500}
.tag{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:999px;border:1px solid var(--line2);color:var(--mute);font-size:9px;margin-left:6px;vertical-align:2px}
.cc-stats{display:grid;grid-template-columns:1fr 1.25fr .7fr;gap:10px;margin:22px 0 18px}
.cc-stats > div{min-width:0}
.cc-stats small{display:block;color:var(--mute);font-size:10px;margin-bottom:6px}
.cc-stats b{display:block;font-size:20px;font-weight:500;letter-spacing:-.035em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cc-stats small.unit,.unit{display:inline;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:400;letter-spacing:.04em;color:var(--mute);margin:0 0 0 5px}
.progress{height:6px;border-radius:999px;background:rgba(233,237,246,.08);overflow:hidden}
.progress i{display:block;height:100%;width:100%;background:var(--pearl);border-radius:inherit;transform-origin:left;transition:transform 1s var(--ease)}
.progress.is-grad i{background:linear-gradient(90deg,var(--pearl2),var(--pearl))}
.cc-foot{display:flex;justify-content:space-between;gap:12px;margin-top:12px;color:var(--mute)}

/* ================= BOARD ================= */
.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.search{position:relative;flex:1;min-width:220px}
.search svg{position:absolute;left:18px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:var(--mute);pointer-events:none}
.search input{border-radius:999px;padding-left:48px;height:50px;font-size:15px}
.search input::-webkit-search-cancel-button{filter:invert(.7)}
.seg{display:flex;padding:4px;border-radius:999px;background:var(--card);border:1px solid var(--line)}
.seg button{height:40px;padding:0 18px;border-radius:999px;font-size:13.5px;font-weight:500;color:var(--mute);white-space:nowrap;transition:background .35s var(--ease),color .35s var(--ease)}
.seg button:hover{color:var(--ink)}
.seg button[aria-pressed="true"]{background:var(--pearl);color:var(--bg)}
.name-filter{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 26px}
.name-filter button{height:32px;padding:0 14px;border-radius:999px;border:1px solid var(--line);font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.06em;color:var(--mute);transition:color .25s,border-color .25s,background .25s}
.name-filter button:hover{color:var(--ink);border-color:var(--line2)}
.name-filter button{display:inline-flex;align-items:center;gap:7px}
.stat-k .chip.xs,.kcoin .chip.xs,.pay-chip .chip.xs{flex:none}
.name-filter button[aria-pressed="true"]{color:var(--bg);background:var(--pearl);border-color:var(--pearl)}
.coin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.coin-grid .coin-card{animation:rise .7s var(--ease) backwards;animation-delay:calc(var(--i,0) * 40ms)}
.coin-grid.static .coin-card{animation:none}

.empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:70px 24px;border-radius:24px;border:1px dashed var(--line2);background:rgba(7,13,29,.5)}
.empty svg{width:44px;height:44px;color:var(--pearl);opacity:.9}
.empty h3{font-weight:500;font-size:26px;letter-spacing:-.04em}
.empty p{color:var(--mute);font-size:14.5px;line-height:1.55;max-width:460px}
.empty .btn{margin-top:8px}
.empty.sm{padding:34px 18px;border-radius:18px}
.empty.sm h3{font-size:18px}
.empty.sm svg{width:30px;height:30px}

/* skeleton: a still block, no shimmer loop */
.skel{border-radius:24px;background:var(--bg2);border:1px solid var(--line);min-height:220px;opacity:.6}

/* ================= COIN VIEW ================= */
.back{display:inline-flex;align-items:center;gap:8px;color:var(--mute);margin:18px 0 6px;padding:8px 14px 8px 10px;border-radius:999px;border:1px solid var(--line);transition:color .25s,border-color .25s}
.back:hover{color:var(--ink);border-color:var(--line2)}
.back svg{width:16px;height:16px}
.coin-head{display:flex;align-items:center;gap:20px;padding:26px 0 30px;flex-wrap:wrap}
.coin-head .cc-id b{font-size:clamp(34px,4.6vw,64px);letter-spacing:-.05em;line-height:1;white-space:normal}
.coin-head .cc-id small{font-size:12px}
.coin-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pill{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--line);color:var(--mute);font-size:12px;transition:color .25s,border-color .25s}
.pill:hover{color:var(--ink);border-color:var(--line2)}
.pill svg{width:13px;height:13px}
.pill.is-copied{color:var(--ink);border-color:var(--pearl)}
/* addresses keep their checksum case inside mono labels */
.pill.mono,.rowi .who a.mono,.wmenu-addr{text-transform:none;letter-spacing:.02em}
.coin-desc{color:var(--mute);font-size:15px;line-height:1.55;max-width:640px;margin:-10px 0 26px;overflow-wrap:anywhere}

.coin-grid2{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:24px;align-items:start}
.coin-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.coin-side{position:sticky;top:calc(var(--bar) + 20px);display:flex;flex-direction:column;gap:16px}
.stats4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.stat{padding:18px;border-radius:20px;background:var(--bg2);border:1px solid var(--line);min-width:0}
.stat small{display:block;color:var(--mute);margin-bottom:10px}
.stat b{display:block;font-size:clamp(22px,2.2vw,30px);font-weight:500;letter-spacing:-.04em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stat span{display:block;color:var(--mute);font-size:12px;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.curve-card{padding:22px}
.curve-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px}
.curve-top b{font-weight:500;font-size:20px;letter-spacing:-.03em}
.curve-top span{color:var(--mute);font-size:13px;font-variant-numeric:tabular-nums}
.curve-card .progress{height:10px}
.curve-card .hint{margin-top:12px}
.panel{padding:22px}
.panel-h{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.panel-h h3{font-weight:500;font-size:19px;letter-spacing:-.03em}
.panel-h .mono{color:var(--mute)}

.rows{display:flex;flex-direction:column}
.rowi{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 16px;padding:13px 0;font-size:14px}
.rowi + .rowi{border-top:1px solid var(--line)}
.rowi .who{display:flex;align-items:center;gap:10px;min-width:0}
.rowi .who span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rowi .amt{font-variant-numeric:tabular-nums;font-weight:500;text-align:right;white-space:nowrap}
.rowi .sub{color:var(--mute);font-size:12px}
.rowi a:hover{color:var(--pearl)}
.side-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--pearl)}
.side-dot.sell{background:transparent;border:1.5px solid var(--mute)}
.rank{width:22px;color:var(--dim);font-family:'JetBrains Mono',monospace;font-size:11px;flex:none}

/* the lever */
.lv-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:6px 0 18px}
.lv-stats small{display:block;color:var(--mute);font-size:10px;margin-bottom:6px}
.lv-stats b{display:block;font-size:20px;font-weight:500;letter-spacing:-.035em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lv-stats span{display:block;color:var(--mute);font-size:12px;margin-top:3px}
.lv-actions{display:flex;flex-wrap:wrap;gap:10px}
.lv-actions .btn{height:44px;padding:0 20px;font-size:11px}
.lever-card .hint{margin-top:12px}

/* trade panel */
.trade{padding:18px}
.trade .seg{width:100%}
.trade .seg button{flex:1}
.trade-body{padding:18px 4px 4px}
.bal-line{display:flex;justify-content:space-between;align-items:center;margin-top:10px;color:var(--mute);font-size:12.5px}
.bal-line button{color:var(--ink);font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:8px}
.bal-line button:hover{background:rgba(233,237,246,.06)}
.slip{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}
.slip > span{display:flex;align-items:center;gap:8px;color:var(--mute);font-size:12.5px}
.slip > span svg{width:15px;height:15px}
.slip .chips{margin:0;gap:6px}
.slip .chips button{height:30px;padding:0 10px;font-size:11px}
.slip-custom{width:64px;height:30px;border-radius:999px;border:1px solid var(--line2);background:var(--field);text-align:center;font-family:'JetBrains Mono',monospace;font-size:11px;outline:none}
.slip-custom:focus{border-color:rgba(230,235,245,.5)}
.slip-row{display:flex;gap:6px;align-items:center}
.creator-box{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.creator-box small{display:block;color:var(--mute);font-size:10px;margin-bottom:6px}
.creator-box b{font-size:20px;font-weight:500;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.pos .creator-box .btn{width:auto;height:42px;padding:0 22px}
.trade .btn.block{margin-top:16px}
.pos{padding:20px}
.pos-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:4px 0 16px}
.pos-grid small{display:block;color:var(--mute);margin-bottom:6px;font-size:10px}
.pos-grid b{font-size:20px;font-weight:500;letter-spacing:-.035em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.pos-grid span{display:block;color:var(--mute);font-size:12px;margin-top:3px}
.pos .btn{height:46px;width:100%}

/* ================= DROPS ================= */
.name-totals{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}
.name-totals .stat b{font-size:24px}
.stat-k{display:flex!important;align-items:center;gap:7px}
.list-card{padding:6px 22px}
.drop-row{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(0,1fr) auto 28px;align-items:center;gap:18px;padding:16px 0;font-size:14px}
.drop-row + .drop-row{border-top:1px solid var(--line)}
.drop-row .t{color:var(--mute)}
.drop-row .c{display:flex;align-items:center;gap:10px;min-width:0}
.drop-row .c span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.drop-row .h{color:var(--mute);font-family:'JetBrains Mono',monospace;font-size:12px}
.drop-row .a{text-align:right;white-space:nowrap}
.drop-row .a b{font-size:20px;font-weight:500;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.drop-row .a small{color:var(--mute);margin-left:6px}
.drop-row .x{color:var(--mute);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;transition:color .25s,background .25s}
.drop-row .x:hover{color:var(--ink);background:rgba(233,237,246,.06)}
.drop-row .x svg{width:16px;height:16px}
.avatar.xs{width:28px;height:28px;border-radius:9px;font-size:10px}
.list-card .empty{border:0;background:none}

/* ================= TOASTS ================= */
.toasts{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:100;display:flex;flex-direction:column;gap:10px;width:min(380px,calc(100vw - 32px));pointer-events:none}
.toast{pointer-events:auto;display:grid;grid-template-columns:28px minmax(0,1fr) 24px;gap:12px;align-items:start;padding:16px;border-radius:18px;background:#0b1328;border:1px solid var(--line2);box-shadow:0 24px 50px -20px rgba(0,0,0,.85);animation:toastIn .5s var(--ease) backwards}
.toast.is-out{animation:toastOut .35s ease-in both}
@keyframes toastIn{from{opacity:0;transform:translate3d(0,14px,0) scale(.98)}}
@keyframes toastOut{to{opacity:0;transform:translate3d(0,8px,0)}}
.toast-ico{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(233,237,246,.08)}
.toast-ico svg{width:15px;height:15px}
.toast.is-done .toast-ico{background:var(--pearl);color:var(--bg)}
.toast.is-error .toast-ico{background:rgba(219,169,176,.16);color:var(--bad)}
.spin{width:14px;height:14px;border-radius:50%;border:1.6px solid rgba(233,237,246,.25);border-top-color:var(--pearl);animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.toast b{display:block;font-weight:500;font-size:14.5px;letter-spacing:-.01em}
.toast p{color:var(--mute);font-size:13px;line-height:1.45;margin-top:3px;overflow-wrap:anywhere}
.toast.is-error p{color:var(--bad)}
.toast a{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:12.5px;color:var(--ink);border-bottom:1px solid var(--line2);padding-bottom:1px}
.toast a svg{width:12px;height:12px}
.toast-x{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:var(--mute)}
.toast-x:hover{color:var(--ink);background:rgba(233,237,246,.06)}
.toast-x svg{width:14px;height:14px}
.toast-steps{display:flex;gap:5px;margin-top:10px}
.toast-steps i{height:3px;flex:1;border-radius:2px;background:rgba(233,237,246,.12);overflow:hidden;position:relative}
.toast-steps i::after{content:"";position:absolute;inset:0;background:var(--pearl);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.toast-steps i.on::after{transform:scaleX(1)}

/* ================= KEEPER + DEPLOY PAGES ================= */
.tabs.static a[aria-current="page"]{background:var(--pearl);color:var(--bg)}
.main.narrow{max-width:calc(920px + 2 * var(--pad))}
.page .vhead{padding-top:34px}
.page .status{margin-bottom:16px}
.page .card.panel{margin-top:16px}
.btn.sm{height:36px;padding:0 16px;font-size:10.5px}
.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:22px}
.msg{margin-top:16px;font-size:14px;line-height:1.5;color:var(--mute);min-height:21px}
.msg:empty{min-height:0;margin-top:0}
.msg.bad{color:var(--bad)}
.msg.good{color:var(--ink)}
.fine{font-size:12.5px;color:var(--dim);line-height:1.65;margin-top:30px;max-width:760px}
.code{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--mute);background:var(--field);border:1px solid var(--line);border-radius:6px;padding:1px 6px;white-space:nowrap}
.auto{display:flex;gap:10px;align-items:center;font-size:13.5px;color:var(--mute);cursor:pointer}
.auto input{width:16px;height:16px;accent-color:var(--pearl)}

.krows{padding:6px 22px}
.krow{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr)) auto;gap:16px;align-items:center;padding:16px 0;font-size:14px}
.krow + .krow{border-top:1px solid var(--line)}
.krow.khead{padding:14px 0 10px;color:var(--dim);font-size:10px}
.kcoin{display:flex;align-items:center;gap:12px;min-width:0}
.kcoin > span{display:flex;flex-direction:column;gap:3px;min-width:0}
.kcoin b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kcoin small{display:flex;align-items:center;gap:6px;color:var(--mute);font-size:10px}
.knum{font-variant-numeric:tabular-nums;white-space:nowrap}
.knum small{display:none}
.kacts{display:flex;gap:8px}
.klog{list-style:none;margin-top:16px;font:12px 'JetBrains Mono',monospace;color:var(--mute)}
.klog li{padding:8px 0;border-top:1px solid var(--line)}
.klog a{color:var(--ink)}

.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:6px 0 14px}
.facts > div{padding:18px;border-radius:20px;background:var(--bg2);border:1px solid var(--line);min-width:0}
.facts > div.wide{grid-column:1/-1}
.facts small{display:block;color:var(--mute);margin-bottom:10px}
.facts b{display:block;font-size:clamp(22px,2.4vw,30px);font-weight:500;letter-spacing:-.04em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.facts b.hash{font:500 12px/1.5 'JetBrains Mono',monospace;letter-spacing:.02em;color:var(--mute)}
.live-note{margin-top:16px;padding:18px 20px;border-radius:18px;background:var(--bg2);border:1px solid var(--pearl);font-size:14px;line-height:1.6;color:var(--mute)}
.live-note b{color:var(--ink);font-weight:500}
.live-note a{color:var(--ink);border-bottom:1px solid var(--line2)}
.dsteps{list-style:none;display:flex;flex-direction:column}
.dsteps li{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;font-size:15px;color:var(--mute)}
.dsteps li + li{border-top:1px solid var(--line)}
.dsteps li > i{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--dim);justify-self:center}
.dsteps li small{font:11px 'JetBrains Mono',monospace;color:var(--dim);text-align:right}
.dsteps li.run{color:var(--ink)}
.dsteps li.run > i{border-color:var(--pearl);animation:pulse 1.2s infinite}
.dsteps li.done{color:var(--ink)}
.dsteps li.done > i{background:var(--pearl);border-color:var(--pearl)}
.dsteps li.err{color:var(--bad)}
.dsteps li.err > i{border-color:var(--bad)}
.dsteps li.dbar{display:block;padding:0 0 12px;border-top:0}
.dbar div{height:4px;border-radius:999px;background:rgba(233,237,246,.08);overflow:hidden}
.dbar i{display:block;height:100%;background:var(--pearl);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.house-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:16px}
.house-row .btn{height:52px}

/* ================= FOOTER ================= */
.foot{padding:30px var(--pad) 40px}
.foot-in{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:30px;align-items:center;padding:24px 26px;border-radius:22px;background:var(--bg2);border:1px solid var(--line)}
.foot p{color:var(--dim);font-size:12px;line-height:1.55;max-width:640px}
.foot-links{display:flex;gap:18px;color:var(--mute);white-space:nowrap}
.foot-links a:hover{color:var(--ink)}

/* ================= RESPONSIVE ================= */
@media (max-width:1100px){
  .coin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .coin-grid2{grid-template-columns:minmax(0,1fr) 360px}
  .stats4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .name-totals{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:900px){
  .bar-in{grid-template-columns:auto 1fr;height:auto;padding-top:12px;padding-bottom:12px;row-gap:12px}
  .tabs{grid-row:2;grid-column:1/-1;justify-self:stretch}
  .tabs a{flex:1;padding:0 8px}
  .bar-right{grid-column:2}
  .launch-grid{grid-template-columns:1fr}
  .preview{position:static}
  /* one column: price first, then the trade panel, then history */
  .coin-grid2{grid-template-columns:minmax(0,1fr);gap:16px}
  .coin-main,.coin-side{display:contents}
  .coin-main > .stats4{order:1}
  .coin-main > .curve-card{order:2}
  .coin-side > .trade{order:3}
  .coin-side > .pos{order:4}
  .coin-main > .panel{order:5}
  .coin-main > .lever-card{order:5}
  .foot-in{grid-template-columns:1fr;gap:16px}
}
@media (max-width:640px){
  :root{--bar:118px}
  .main{padding-top:16px}
  .net{display:none}
  .vhead{padding:26px 0 26px}
  .vtitle{font-size:clamp(36px,11vw,56px)}
  .lead{font-size:15.5px}
  .vstats{width:100%}
  .vstats div{flex:1;min-width:0}
  .vstats b{font-size:24px}
  .fields{grid-template-columns:1fr}
  .coin-grid{grid-template-columns:1fr}
  .nopt{grid-template-columns:auto minmax(0,1fr) auto;gap:12px;padding:12px}
  .nopt .radio{display:none}
  .toolbar .seg{width:100%}
  .toolbar .seg button{flex:1;padding:0 8px}
  .name-totals{grid-template-columns:repeat(2,minmax(0,1fr))}
  .drop-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:14px 0}
  .drop-row .t{grid-column:1/-1;order:-1;font-size:11px}
  .drop-row .h{display:none}
  .drop-row .x{display:none}
  .list-card{padding:4px 16px}
  .wbtn{height:40px;padding:0 16px;font-size:12.5px}
  .wbtn-bal{display:none}
  .slip{flex-direction:column;align-items:flex-start}
  .lv-stats{grid-template-columns:1fr 1fr}
  .lv-actions .btn{flex:1 1 auto}
  .facts{grid-template-columns:1fr 1fr}
  .house-row{grid-template-columns:1fr}
  .krows{padding:4px 16px}
  .krow{grid-template-columns:1fr 1fr;gap:10px 14px}
  .krow.khead{display:none}
  .kcoin{grid-column:1/-1}
  .knum small{display:block;color:var(--dim);font-size:9.5px;margin-bottom:4px}
  .kacts{grid-column:1/-1}
  .kacts .btn{flex:1}
  .stat{padding:14px}
  .coin-head{gap:14px;padding:18px 0 22px;align-items:flex-start}
  .avatar.lg{width:60px;height:60px;border-radius:18px}
}
@media (max-width:380px){
  .cc-stats b{font-size:17px}
  .tabs a{font-size:13px}
  .logo small{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}
}
