/* cxNFTs cx mint — black + LED green, block-cursor brand.
   perf: no backdrop-filter, motion = transform/opacity only. */
:root{
  --bg:#000; --g:#1fdc2e; --g-hi:#6dff78; --g-mid:#12a51f; --g-dim:#0d5c16; --g-deep:#031a06;
  --ink:#d6ffd9; --mute:#5f8f63; --dimmer:#3c6640; --white:#f3f5f3; --red:#ff4d6a; --amber:#e6d34a;
  --line:rgba(31,220,46,.2); --line-hi:rgba(31,220,46,.55);
  --panel:rgba(0,6,2,.94);
  --mono:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;
  --sans:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif;
  --top:58px; --tick:34px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--top) + var(--tick) + 12px)}
html,body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 var(--mono);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{min-height:100vh;overflow-x:hidden;-webkit-tap-highlight-color:transparent}
::selection{background:var(--g);color:#000}
a{color:inherit}
button,input{font:inherit;color:inherit}
canvas{display:block}

/* ---------- atmosphere ---------- */
#grid{position:fixed;left:0;top:0;z-index:0;display:block;background-repeat:repeat;background-position:0 0}
.veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,.24) 0 1px,transparent 1px 3px),
    radial-gradient(ellipse 120% 95% at 50% 40%,rgba(0,0,0,.35) 30%,rgba(0,0,0,.86) 100%)}

/* ---------- logo ---------- */
.logo{font-family:var(--sans);font-weight:800;color:var(--white);letter-spacing:-.012em;display:inline-flex;align-items:center;gap:.13em;line-height:1;white-space:nowrap}
.logo .blk{display:inline-block;width:.58em;height:.74em;margin-top:.07em;position:relative;
  background:linear-gradient(90deg,#eaffea 0 9%,var(--g) 9% 100%);box-shadow:0 0 .35em rgba(31,220,46,.55);animation:blink 1.06s steps(1) infinite}
@keyframes blink{0%,62%{opacity:1}63%,100%{opacity:.16}}

/* ---------- header + ticker ---------- */
.top{position:fixed;top:0;left:0;right:0;z-index:40;height:var(--top);display:flex;align-items:center;gap:12px;
  padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));background:#000;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:baseline;gap:8px;text-decoration:none}
.brand .logo{font-size:21px}
.brand .dom{color:var(--mute);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.top .sp{flex:1}
.wbtn{appearance:none;border:1px solid var(--g);background:transparent;color:var(--g);cursor:pointer;min-height:36px;padding:0 14px;
  font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;touch-action:manipulation}
.wbtn:hover{background:rgba(31,220,46,.1)}
.wbtn.on{color:var(--ink);border-color:var(--line-hi)}
#tickbar{position:fixed;top:var(--top);left:0;right:0;height:var(--tick);z-index:35;background:var(--g);color:#021204;overflow:hidden;display:flex;align-items:center}
#tickTrack{display:flex;white-space:nowrap;will-change:transform;animation:tick 40s linear infinite}
#tickbar:hover #tickTrack{animation-play-state:paused}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.tseg{display:inline-flex;align-items:center;gap:8px;padding:0 22px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.tseg .tl{width:8px;height:10px;background:#021204;animation:blink 1.06s steps(1) infinite}
.tseg .sep{opacity:.35}
.tseg .hl{text-decoration:underline;text-underline-offset:2px}

/* ---------- layout ---------- */
main{position:relative;z-index:5;padding-top:calc(var(--top) + var(--tick))}
.wrap{max-width:1120px;margin:0 auto;padding:0 clamp(16px,3vw,28px)}
.kicker{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--g);margin-bottom:14px}
h1,h2{font-family:var(--sans);font-weight:800;color:var(--white);margin:0;letter-spacing:-.01em;text-transform:uppercase}
h2{font-size:clamp(22px,3.2vw,34px);line-height:1.1}
h2 .g{color:var(--g)}
h2 .r{color:var(--red)}
section.ed{padding:56px 0}

/* ---------- panels ---------- */
.panel{background:var(--panel);border:1px solid var(--line);position:relative}
.ph{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.ph .sp{flex:1}
.ph b{color:var(--ink);font-weight:700}
.lights{display:inline-flex;gap:5px}
.lights i{width:7px;height:7px;background:var(--g-dim)}
.lights i:first-child{background:var(--g);box-shadow:0 0 6px var(--g)}
.live{display:inline-flex;align-items:center;gap:6px;color:var(--g)}
.live i{width:7px;height:7px;background:var(--g);box-shadow:0 0 8px var(--g);animation:blink 1.4s steps(1) infinite}
.live.sync{color:var(--amber)} .live.sync i{background:var(--amber);box-shadow:none}

/* ---------- hero ---------- */
#hero{padding:38px 0 26px}
.heroGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(20px,3vw,36px);align-items:start}
#hero h1{font-size:clamp(28px,4.4vw,52px);line-height:1.04}
#hero h1 em{font-style:normal;color:var(--g);text-shadow:0 0 22px rgba(31,220,46,.45)}
.raised{margin-top:26px}
.rl{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
.odoRow{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
#odo{display:flex;align-items:baseline;font-family:var(--sans);font-weight:800;font-size:clamp(40px,6vw,64px);line-height:1;color:var(--white);font-variant-numeric:tabular-nums}
#odo .odc{position:relative;overflow:hidden;height:1.06em;width:.66em}
#odo .col{position:absolute;left:0;top:0;transition:transform .7s cubic-bezier(.22,1,.36,1);will-change:transform}
#odo .col span{display:block;height:1.06em;line-height:1.06em;text-align:center}
#odo .sym{color:var(--mute)}
.odoRow .unit{font-family:var(--sans);font-weight:800;font-size:clamp(20px,2.6vw,28px);color:var(--g)}
.odoRow .usd{font-size:13px;color:var(--mute)}
.mcTxt{font-family:var(--sans);font-weight:800;font-size:clamp(40px,6vw,64px);line-height:1;color:var(--white)}

.rsub{margin-top:8px;color:var(--mute);font-size:13px}
.rsub b{color:var(--ink);font-weight:700}
.rsub .soTag{color:#000;background:var(--g);padding:1px 7px;letter-spacing:.12em;font-weight:800}
.rsub[hidden]{display:none}
.pbar{position:relative;height:14px;margin-top:18px;border:1px solid var(--line-hi);background:#010a03;overflow:hidden}
.pbar i{position:absolute;left:0;top:0;bottom:0;width:0;background:repeating-linear-gradient(90deg,var(--g) 0 8px,var(--g-mid) 8px 10px);box-shadow:0 0 12px rgba(31,220,46,.45);transition:width 1s cubic-bezier(.22,1,.36,1)}
.notches{position:relative;height:18px;margin-top:6px;font-size:10px;color:var(--dimmer)}
.notches span{position:absolute;transform:translateX(-50%)}
.notches span::before{content:"";position:absolute;left:50%;top:-21px;width:1px;height:12px;background:var(--line-hi)}
.notches span.hit{color:var(--g)}
.notches span:last-child{transform:translateX(-100%)}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:20px}
.stat{border:1px solid var(--line);background:var(--panel);padding:11px 12px;transition:border-color .3s}
.stat .sl{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.stat .sv{margin-top:5px;font-size:17px;font-weight:700;color:var(--white);white-space:nowrap;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}
.stat .sv small{font-size:11px;color:var(--mute);font-weight:400}
.stat.flash{border-color:var(--g)}

/* curve */
#curvePanel{position:sticky;top:calc(var(--top) + var(--tick) + 14px)}
.cpHead b{font-size:14px}
.cpHead .mult{color:var(--g);font-weight:700}
#curve{width:100%;height:340px;touch-action:pan-y}
#cpQuick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 14px;border-top:1px solid var(--line)}
.qchip,.schip{appearance:none;border:1px solid var(--line);background:#010a03;color:var(--mute);min-height:42px;cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.06em;white-space:nowrap;touch-action:manipulation}
.qchip:hover,.qchip:focus-visible{border-color:var(--g);color:var(--g);outline:none}
.schip:hover,.schip:focus-visible{border-color:var(--red);color:var(--red);outline:none}
.schip:disabled{opacity:.45;cursor:not-allowed}
.qchip:disabled,#amtIn:disabled,#amtSlider:disabled{opacity:.45;cursor:not-allowed}
.cpFoot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 14px;border-top:1px solid var(--line);font-size:11px;color:var(--mute)}
.cpFoot b{color:var(--ink);font-weight:500}

/* ---------- buy / sell console ---------- */
.tabs{display:flex;align-items:stretch;border-bottom:1px solid var(--line);background:#000}
.tab{display:inline-flex;align-items:center;justify-content:center;min-width:96px;min-height:48px;padding:0 20px;border-right:1px solid var(--line);color:var(--mute);text-decoration:none;font-weight:800;font-size:15px;letter-spacing:.02em;touch-action:manipulation;-webkit-user-select:none;user-select:none}
.tab:hover{color:var(--g)}
.tab.sell:hover{color:var(--red)}
.tab.on{background:var(--g);color:#000}
.tab.sell.on{background:var(--red);color:#000}
.tab:focus-visible{outline:2px solid var(--g-hi);outline-offset:-2px}
.tabs .sp{flex:1}
.tabNote{align-self:center;padding:0 14px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);white-space:nowrap}
#sellIn{width:160px;background:#010a03;border:1px solid rgba(255,77,106,.45);padding:10px 12px;color:var(--white);font-size:24px;font-weight:700;outline:none;border-radius:0;caret-color:var(--red);font-variant-numeric:tabular-nums}
#sellIn:focus{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}
#sellIn::placeholder{color:#5a2d36}
#sellPane .amtRow .unit{color:var(--red)}
#sellCx{margin-left:auto;color:var(--mute);font-size:13px}
#sellSlider{-webkit-appearance:none;appearance:none;width:100%;height:34px;margin:18px 0 4px;background:transparent;cursor:pointer;touch-action:pan-y}
#sellSlider:focus{outline:none}
#sellSlider::-webkit-slider-runnable-track{height:14px;border:1px solid rgba(255,77,106,.5);background:linear-gradient(90deg,var(--red) 0 var(--fill,0%),#0a0103 var(--fill,0%) 100%)}
#sellSlider::-moz-range-track{height:14px;border:1px solid rgba(255,77,106,.5);background:#0a0103}
#sellSlider::-moz-range-progress{height:14px;background:var(--red)}
#sellSlider::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;margin-top:-7px;background:var(--white);border:3px solid var(--red);border-radius:0;box-shadow:0 0 14px rgba(255,77,106,.6)}
#sellSlider::-moz-range-thumb{width:22px;height:22px;background:var(--white);border:3px solid var(--red);border-radius:0}
#sTok{font-family:var(--sans);font-weight:800;font-size:clamp(24px,4.2vw,34px);color:var(--red);line-height:1.15;word-break:break-all}
#sTok small{font-size:13px;color:var(--mute)}
#sUsd{margin-top:4px;color:var(--mute);font-size:13px;min-height:18px}
#sRows{margin-top:10px}
#sellBtn{appearance:none;border:0;width:100%;margin-top:18px;min-height:56px;background:var(--red);color:#000;cursor:pointer;font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:15px;transition:filter .15s,transform .1s;touch-action:manipulation;user-select:none;-webkit-user-select:none}
#sellBtn:hover{filter:brightness(1.12)}
#sellBtn:active{transform:translateY(1px)}
#sellBtn:disabled{background:#2a0b12;color:#6d3d47;cursor:not-allowed}
#sellBtn.shake{animation:shake .35s}
@keyframes shake{20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}
#sellOut{margin-top:12px;min-height:20px;text-align:center;font-size:13px;color:var(--mute);overflow-wrap:anywhere}
#sellOut .bad{color:var(--red)}
/* ---------- buy ---------- */
#buy{padding:34px 0 40px}
#buyCard{max-width:640px;margin:26px auto 0}
.bbody{padding:22px 22px 20px}
.bl{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin-bottom:10px}
.amtRow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#amtIn{width:160px;background:#010a03;border:1px solid var(--line-hi);padding:10px 12px;color:var(--white);font-size:24px;font-weight:700;outline:none;border-radius:0;caret-color:var(--g);font-variant-numeric:tabular-nums}
#amtIn:focus{border-color:var(--g);box-shadow:0 0 0 1px var(--g)}
#amtIn::placeholder{color:#2d5a31}
.amtRow .unit{font-family:var(--sans);font-weight:800;color:var(--g);font-size:18px}
#usdEcho{margin-left:auto;color:var(--mute);font-size:13px}
#amtSlider{-webkit-appearance:none;appearance:none;width:100%;height:34px;margin:18px 0 4px;background:transparent;cursor:pointer;touch-action:pan-y}
#amtSlider:focus{outline:none}
#amtSlider::-webkit-slider-runnable-track{height:14px;border:1px solid var(--line-hi);background:linear-gradient(90deg,var(--g) 0 var(--fill,0%),#010a03 var(--fill,0%) 100%)}
#amtSlider::-moz-range-track{height:14px;border:1px solid var(--line-hi);background:#010a03}
#amtSlider::-moz-range-progress{height:14px;background:var(--g)}
#amtSlider::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;margin-top:-7px;background:var(--white);border:3px solid var(--g);border-radius:0;box-shadow:0 0 14px rgba(31,220,46,.75);transition:transform .12s}
#amtSlider:active::-webkit-slider-thumb{transform:scale(1.15)}
#amtSlider::-moz-range-thumb{width:22px;height:22px;background:var(--white);border:3px solid var(--g);border-radius:0;box-shadow:0 0 14px rgba(31,220,46,.75)}
#amtSlider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px rgba(214,255,217,.55),0 0 14px rgba(31,220,46,.75)}
.scale{display:flex;justify-content:space-between;font-size:10px;color:var(--dimmer);margin-bottom:14px}
.bchips{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:20px}
.get{border-top:1px solid var(--line);padding-top:18px}
#bTok{font-family:var(--sans);font-weight:800;font-size:clamp(24px,4.2vw,34px);color:var(--g);line-height:1.15;text-shadow:0 0 18px rgba(31,220,46,.35);word-break:break-all}
#bTok small{font-size:13px;color:var(--mute);text-shadow:none}
#bCx{margin-top:4px;color:var(--mute);font-size:13px;min-height:18px}
#bRows{margin-top:10px}
.brow{display:flex;justify-content:space-between;gap:14px;padding:4px 0;font-size:13px}
.brow .k{color:var(--mute)}
.brow .v{color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
.brow .v.g{color:var(--g);font-weight:700}
#buyBtn{appearance:none;border:0;width:100%;margin-top:18px;min-height:56px;background:var(--g);color:#000;cursor:pointer;font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:15px;
  transition:background-color .15s,transform .1s;touch-action:manipulation;user-select:none;-webkit-user-select:none}
#buyBtn:hover{background:var(--g-hi)}
#buyBtn:active{transform:translateY(1px)}
#buyBtn:disabled{background:#0b2a0f;color:#3d6d42;cursor:not-allowed}
#buyBtn.so:disabled{background:transparent;color:var(--g);box-shadow:inset 0 0 0 1px var(--g)}
#buyOut{margin-top:12px;min-height:20px;text-align:center;font-size:13px;color:var(--mute);overflow-wrap:anywhere}
#buyOut b{color:var(--ink)} #buyOut .ok{color:var(--g)} #buyOut .bad{color:var(--red)}
#buyOut a{color:var(--mute)}
.fine{margin:12px 0 0;color:var(--dimmer);font-size:11px;text-align:center;line-height:1.6}

/* ---------- feed + position ---------- */
.feedGrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);gap:16px;margin-top:28px;align-items:start}
#feedItems{max-height:440px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--g-dim) transparent}
.fitem{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid rgba(31,220,46,.1);animation:fin .45s cubic-bezier(.22,1,.36,1) both}
.fitem:last-child{border-bottom:0}
@keyframes fin{from{opacity:0;transform:translateX(-12px)}}
.fitem canvas{width:30px;height:30px;image-rendering:pixelated;flex:none;border:1px solid var(--line)}
.fitem .m{flex:1;min-width:0}
.fitem .a{font-size:13px;color:var(--ink)}
.fitem .a a{text-decoration:none}
.fitem .a a:hover{color:var(--g)}
.fitem .s{font-size:12px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fitem .s b{color:var(--ink);font-weight:500}
.fitem .r{text-align:right;flex:none}
.fitem .sol{font-weight:700;color:var(--g);font-size:14px}
.fitem .ago{font-size:11px;color:var(--dimmer)}
.fempty{padding:30px 16px;text-align:center;color:var(--dimmer);font-size:13px}
.pbody{padding:16px}
#posEmpty{color:var(--mute);font-size:13px;line-height:1.6}
.ptop{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.ptop canvas{width:44px;height:44px;image-rendering:pixelated;flex:none;border:1px solid var(--line-hi)}
#posAddr{font-size:12px;color:var(--ink);word-break:break-all;line-height:1.45}
#posSub{font-size:11px;color:var(--mute);margin-top:2px}
.prow{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid rgba(31,220,46,.1);font-size:13px}
.prow:last-of-type{border-bottom:0}
.prow .k{color:var(--mute)}
.prow .v{color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
.prow .v.g{color:var(--g);font-weight:700}
.prow.warn .k,.prow.warn .v{color:var(--amber)}
.pacts{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.sbtn{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid var(--line-hi);color:var(--g);text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.sbtn:hover{background:rgba(31,220,46,.1)}

/* ---------- how ---------- */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px;counter-reset:st}
.step{padding:20px}
.step::before{counter-increment:st;content:"0" counter(st);color:var(--g);font-weight:800;font-size:12px;letter-spacing:.1em}
.step h3{font-family:var(--sans);font-weight:800;color:var(--white);font-size:16px;margin:10px 0 8px;text-transform:uppercase}
.step p{margin:0;color:var(--mute);font-size:13px;line-height:1.6}
.step code{color:var(--ink);font-size:12px}

/* ---------- cta + footer ---------- */
#cta{text-align:center;padding:60px 0 70px}
#cta h2{font-size:clamp(20px,3vw,30px);line-height:1.25}
.ctaBtn{display:inline-flex;align-items:center;justify-content:center;margin-top:24px;min-height:52px;padding:0 26px;background:var(--g);color:#000;text-decoration:none;font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:13px}
.ctaBtn:hover{background:var(--g-hi)}
footer{position:relative;z-index:5;border-top:1px solid var(--line);background:#000;padding:30px 0 40px;font-size:12px;color:var(--mute)}
footer .cols{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer .logo{font-size:18px}
footer .fsub{margin-top:8px}
footer .tre{margin-top:8px;color:var(--dimmer);word-break:break-all}
footer .tre a{color:var(--mute)}
footer nav{display:flex;gap:18px;flex-wrap:wrap}
footer nav a{color:var(--mute);text-decoration:none}
footer nav a:hover{color:var(--g)}
.legal{margin-top:22px;color:var(--dimmer);font-size:11px;line-height:1.6;max-width:820px}

/* ---------- wallet sheet ---------- */
#wmodal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:rgba(0,0,0,.78);display:none;align-items:center;justify-content:center;padding:20px}
#wmodal.open{display:flex}
#wsheet{width:min(380px,100%);background:#000;border:1px solid var(--g);box-shadow:0 0 60px rgba(31,220,46,.12)}
#wsheetBody{padding:16px}
.wtitle{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--g);margin-bottom:12px}
.wnote{font-size:12px;color:var(--mute);margin-bottom:12px;line-height:1.55}
.wrow{display:flex;align-items:center;gap:11px;width:100%;min-height:50px;padding:0 14px;margin-bottom:8px;background:#010a03;border:1px solid var(--line);color:var(--ink);
  text-decoration:none;cursor:pointer;font-size:14px;font-weight:700;text-align:left;touch-action:manipulation}
.wrow:hover{border-color:var(--g);color:var(--g)}
.wrow .warr{margin-left:auto;color:var(--mute);font-weight:400}
.wicon{width:26px;height:26px;flex:none;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#0a1f0d;color:var(--mute);font-size:12px}
.wicon img{width:100%;height:100%;object-fit:contain}
@media(max-width:640px){#wmodal{align-items:flex-end;padding:0}#wsheet{width:100%;border-left:0;border-right:0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom)}}

/* ---------- toast + fx ---------- */
#toasts{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:95;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;width:max-content;max-width:calc(100% - 32px)}
.toast{background:#000;border:1px solid var(--g);padding:9px 14px;font-size:12px;color:var(--ink);box-shadow:0 0 24px rgba(31,220,46,.2);animation:trise .4s cubic-bezier(.22,1,.36,1) both}
.toast b{color:var(--g)}
.toast.gone{opacity:0;transform:translateY(8px);transition:opacity .35s,transform .35s}
@keyframes trise{from{opacity:0;transform:translateY(14px)}}
.spark{position:fixed;width:8px;height:10px;background:var(--g);z-index:70;pointer-events:none;box-shadow:0 0 10px var(--g)}
.oldbanner{position:fixed;top:0;left:0;right:0;z-index:999;background:var(--red);color:#000;font-size:13px;padding:10px 14px;text-align:center}

@media(max-width:960px){.heroGrid{grid-template-columns:1fr}#curvePanel{position:static}}
@media(max-width:400px){.tabNote{display:none}.tab{padding:0 16px}}
@media(max-width:820px){.feedGrid,.steps{grid-template-columns:1fr}}
@media(max-width:560px){
  .brand .dom{display:none}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats .stat:last-child{grid-column:span 2}
  #curve{height:270px}
  .bchips{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tab{min-width:0;flex:none;padding:0 18px}
  #sellIn{width:130px}
  .bbody{padding:18px 14px}
  #amtIn{width:130px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important}
}
