/* ============ ASSDAQ — the ass securities exchange ============ */
:root{
  --bg:#050507;
  --bg-2:#0a0a0d;
  --panel:#0d0e12;
  --panel-2:#121319;
  --line:#1e202a;
  --line-hi:#2c2f3d;
  --ink:#f2f3f7;
  --ink-2:#9aa0b4;
  --ink-3:#5f6579;
  --pink:#ff2e88;
  --pink-dim:#a3185480;
  --up:#00e77a;
  --down:#ff4242;
  --amber:#ffb32c;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --disp:'Chakra Petch',system-ui,sans-serif;
  --body:'Inter',system-ui,-apple-system,sans-serif;
  --tape-h:34px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);
  font-size:16px;line-height:1.55;overflow-x:hidden;
  background-image:
    radial-gradient(1100px 620px at 50% -10%,#ff2e8814,transparent 70%),
    radial-gradient(900px 500px at 90% 20%,#00e77a0b,transparent 70%);
  background-attachment:fixed;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button{font:inherit;color:inherit}
::selection{background:var(--pink);color:#fff}

.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
@media(max-width:640px){.wrap{width:min(1180px,100% - 28px)}}

/* --- scanline / grid texture --- */
.grid-bg{
  position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.5;
  background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);
  background-size:58px 58px;
  -webkit-mask-image:radial-gradient(120% 90% at 50% 0%,#000 20%,transparent 78%);
  mask-image:radial-gradient(120% 90% at 50% 0%,#000 20%,transparent 78%);
}
main,header,footer{position:relative;z-index:1}

/* ================= TICKER TAPE ================= */
.tape{
  position:fixed;top:0;left:0;right:0;height:var(--tape-h);z-index:60;
  background:#000;border-bottom:1px solid var(--line);
  display:flex;align-items:center;overflow:hidden;
  font-family:var(--mono);font-size:12px;letter-spacing:.04em;
  box-shadow:0 1px 0 #ffffff08;
}
.tape-track{display:flex;flex:none;will-change:transform;animation:tape 52s linear infinite}
.tape:hover .tape-track{animation-play-state:paused}
@keyframes tape{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.tape-set{display:flex;flex:none;align-items:center}
.tick{display:inline-flex;align-items:center;gap:8px;padding:0 18px;white-space:nowrap;border-right:1px solid #ffffff0f}
.tick b{font-weight:700;color:#fff;letter-spacing:.08em}
.tick .v{color:var(--ink-2)}
.tick .d{font-weight:700}
.tick.live b{color:var(--pink)}
.up{color:var(--up)}.down{color:var(--down)}.flat{color:var(--ink-2)}
@media(prefers-reduced-motion:reduce){.tape-track{animation:none}}

/* ================= NAV ================= */
.nav{
  position:sticky;top:var(--tape-h);z-index:55;
  background:#05050799;border-bottom:1px solid var(--line);
}
.nav-in{display:flex;align-items:center;gap:18px;height:62px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.brand svg{width:118px;color:#fff;display:block}
.brand .est{
  font-family:var(--mono);font-size:9px;color:var(--ink-3);letter-spacing:.14em;
  border-left:1px solid var(--line-hi);padding-left:9px;line-height:1.15;
}
.nav-links{display:flex;gap:2px;margin-left:auto;align-items:center}
.nav-links a{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-2);text-decoration:none;padding:9px 12px;border-radius:6px;transition:.15s;
}
.nav-links a:hover{color:#fff;background:#ffffff0a}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--mono);font-weight:700;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;
  padding:12px 20px;border-radius:8px;border:1px solid transparent;cursor:pointer;
  text-decoration:none;transition:.16s;background:none;
}
.btn-pink{background:var(--pink);color:#fff;box-shadow:0 0 0 0 #ff2e8866}
.btn-pink:hover{background:#ff4d9c;box-shadow:0 6px 26px -6px #ff2e88aa;transform:translateY(-1px)}
.btn-ghost{border-color:var(--line-hi);color:var(--ink);background:#ffffff05}
.btn-ghost:hover{border-color:var(--pink);color:#fff;background:#ff2e880f}
.btn-sm{padding:9px 14px;font-size:11px}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--line-hi);border-radius:8px;padding:8px 11px;cursor:pointer}
.burger span{display:block;width:18px;height:2px;background:var(--ink);margin:3.5px 0;transition:.2s}
@media(max-width:900px){
  .nav-links{
    position:fixed;top:calc(var(--tape-h) + 62px);left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;margin:0;
    background:#08080b;border-bottom:1px solid var(--line);
    padding:8px 20px 18px;transform:translateY(-130%);transition:transform .25s ease;
    box-shadow:0 24px 40px -20px #000;
  }
  .nav-links.open{transform:translateY(0)}
  .nav-links a{padding:13px 4px;border-bottom:1px solid #ffffff08;font-size:13px}
  .nav-links .btn{margin-top:12px}
  .burger{display:block;z-index:2}
  .nav-in{gap:10px}
  .brand svg{width:96px}
  .brand .est{display:none}
}

/* ================= HERO ================= */
.hero{padding:34px 0 6px;position:relative}
.kicker{
  font-family:var(--mono);font-size:11px;letter-spacing:.26em;text-transform:uppercase;
  color:var(--pink);display:flex;align-items:center;gap:10px;justify-content:center;
}
.kicker::before,.kicker::after{content:"";height:1px;width:38px;background:linear-gradient(90deg,transparent,var(--pink))}
.kicker::after{background:linear-gradient(90deg,var(--pink),transparent)}
/* --- hero art plate: the exchange board is the live quote screen --- */
.hero-art{
  position:relative;margin-top:14px;border-radius:18px;overflow:hidden;
  border:1px solid var(--line);background:#05060a;
  box-shadow:0 50px 90px -60px #ff2e8866, 0 0 0 1px #ffffff08 inset;
}
.hero-art img{width:100%;display:block}

/* the blank LED panel measured off the artwork, in image percentages */
.hero-screen{
  position:absolute;left:29.62%;top:8.14%;width:41.34%;height:53.49%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:1.4%;padding:2% 3%;text-align:center;
}
.screen-glow{
  position:absolute;inset:-6%;pointer-events:none;
  background:radial-gradient(60% 70% at 50% 45%,#ff2e8826,transparent 70%);
}
.hero-screen .mark{
  position:relative;width:86%;color:#fff;
  filter:drop-shadow(0 0 22px #ff2e8899) drop-shadow(0 0 60px #ff2e8844);
}
.hero-screen .tagline{
  position:relative;font-family:var(--body);font-weight:500;color:#c9cddd;
  font-size:clamp(9px,1.35vw,20px);letter-spacing:-.01em;margin-top:.1em;
}
.screen-live{
  position:relative;display:inline-flex;align-items:center;gap:6px;margin-bottom:.4%;
  font-family:var(--mono);font-size:clamp(6px,.66vw,9px);letter-spacing:.24em;
  text-transform:uppercase;color:#7d859c;
}
.screen-live i{
  width:5px;height:5px;border-radius:50%;background:var(--up);flex:none;
  box-shadow:0 0 0 0 #00e77aaa;animation:pulse 2s infinite;
}
@media(prefers-reduced-motion:reduce){.screen-live i{animation:none}}
.screen-board{
  position:relative;display:flex;gap:clamp(10px,2.6vw,38px);margin-top:3%;
  font-family:var(--mono);line-height:1.25;
}
.screen-board div{display:flex;flex-direction:column;gap:2px;min-width:0}
.screen-board span{font-size:clamp(6px,.72vw,10px);letter-spacing:.2em;text-transform:uppercase;color:#7d859c}
.screen-board b{font-size:clamp(9px,1.25vw,18px);font-weight:700;color:#fff;white-space:nowrap}
/* faint scanlines so it reads as a powered screen */
.hero-screen::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:repeating-linear-gradient(180deg,#ffffff0a 0 1px,transparent 1px 3px);
}

@media(max-width:820px){
  .hero-screen{left:23.31%;top:7.78%;width:53.81%;height:51.11%}
  .hero-art{margin-top:12px}
}
@media(max-width:560px){
  .hero-screen{gap:0;padding:2% 3% 0}
  .hero-screen .mark{width:92%}
  .hero-screen .tagline{font-size:10px}
  .screen-live{display:none}
  .screen-board{gap:11px;margin-top:5%}
  .screen-board div:first-child{display:none}   /* LAST is the widest; the board below carries it */
  .screen-board span{font-size:7px;letter-spacing:.14em}
  .screen-board b{font-size:11px}
  .kicker{font-size:8.5px;letter-spacing:.1em}
  .kicker::before,.kicker::after{display:none}
  .hero-sub{font-size:15px}
}
.hero-sub{
  max-width:660px;margin:20px auto 0;text-align:center;color:var(--ink-2);
  font-size:16px;line-height:1.65;
}
.hero-sub b{color:var(--ink);font-weight:600}
.hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:20px}

/* --- big live quote strip --- */
.quotebar{
  margin-top:26px;border:1px solid var(--line);border-radius:14px;background:
    linear-gradient(180deg,#101118,#0a0b0f);
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;overflow:hidden;
}
.quotebar > div{padding:18px 20px;border-left:1px solid var(--line);min-width:0}
.quotebar > div:first-child{border-left:0;background:#ff2e880a}
.qlab{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}
.qval{font-family:var(--mono);font-weight:700;font-size:clamp(19px,2.5vw,29px);letter-spacing:-.02em;margin-top:5px;line-height:1.1}
.qsub{font-family:var(--mono);font-size:11px;color:var(--ink-3);margin-top:4px}
@media(max-width:820px){
  .quotebar{grid-template-columns:1fr 1fr}
  .quotebar > div:nth-child(3){border-left:0}
  .quotebar > div:nth-child(n+3){border-top:1px solid var(--line)}
}

/* ================= SECTIONS ================= */
section{padding:62px 0;scroll-margin-top:calc(var(--tape-h) + 66px)}
.sec-head{margin-bottom:30px}
.sec-tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--pink)}
h2{
  font-family:var(--disp);font-weight:700;letter-spacing:-.01em;
  font-size:clamp(28px,5vw,46px);margin:8px 0 0;line-height:1.05;text-transform:uppercase;
}
.sec-sub{color:var(--ink-2);margin-top:12px;max-width:660px;font-size:15.5px}
.rule{height:1px;background:linear-gradient(90deg,var(--line-hi),transparent)}

/* ---- composite board ---- */
.board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.cell{background:var(--panel);padding:20px 18px;min-width:0}
.cell .qlab{display:flex;justify-content:space-between;gap:8px}
.cell .qval{font-size:clamp(18px,2.2vw,25px)}
@media(max-width:900px){.board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.cell{padding:16px 14px}}

.sessions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.chip{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;
  border:1px solid var(--line-hi);border-radius:999px;padding:7px 13px;background:#ffffff05;
  display:inline-flex;gap:9px;align-items:center;
}
.chip i{font-style:normal;color:var(--ink-3);font-size:10px;letter-spacing:.14em}

.pressure{margin-top:20px;border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:var(--panel)}
.pressure-top{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);gap:12px;flex-wrap:wrap}
.pbar{height:9px;border-radius:99px;background:#ff424233;margin-top:10px;overflow:hidden;display:flex}
.pbar span{display:block;background:linear-gradient(90deg,#00e77a,#00ffa0);transition:width .6s cubic-bezier(.2,.7,.2,1)}

/* ---- listings ---- */
.listings{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:860px){.listings{grid-template-columns:1fr}}
.listing{
  border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,var(--panel-2),var(--panel));
  padding:24px;position:relative;overflow:hidden;min-width:0;
}
.listing.primary{border-color:#ff2e8855;box-shadow:0 0 0 1px #ff2e8814,0 30px 60px -40px #ff2e8877}
.listing.primary::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,var(--pink),transparent)}
.lst-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.badge{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
  padding:5px 10px;border-radius:5px;border:1px solid var(--line-hi);color:var(--ink-2);white-space:nowrap;
}
.badge.hot{border-color:var(--pink);color:var(--pink);background:#ff2e8814}
.badge.dim{opacity:.75}
.lst-pair{font-family:var(--disp);font-weight:700;font-size:24px;letter-spacing:.01em;margin-top:14px}
.lst-meta{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);margin-top:4px;letter-spacing:.05em}
.lst-stats{display:flex;gap:22px;margin-top:18px;flex-wrap:wrap}
.lst-stats div{min-width:0}
.lst-note{color:var(--ink-2);font-size:14px;margin-top:16px;line-height:1.6}

.ca{
  margin-top:18px;border:1px solid var(--line-hi);border-radius:10px;background:#00000066;
  display:flex;align-items:center;gap:10px;padding:11px 12px;min-width:0;
}
.ca code{
  font-family:var(--mono);font-size:12px;color:var(--ink);flex:1;min-width:0;
  overflow-wrap:anywhere;word-break:break-all;line-height:1.4;
}
.copy{
  flex:none;border:1px solid var(--line-hi);background:#ffffff08;border-radius:7px;
  padding:7px 11px;cursor:pointer;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-2);transition:.15s;
}
.copy:hover{border-color:var(--pink);color:#fff}
.copy.done{border-color:var(--up);color:var(--up)}
.lst-links{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}

/* ---- stamper ---- */
.stamper{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
@media(max-width:960px){.stamper{grid-template-columns:1fr}}
.stage{
  border:1px solid var(--line);border-radius:16px;background:
    repeating-conic-gradient(#0e0f13 0% 25%,#111218 0% 50%) 50%/22px 22px;
  min-height:560px;display:grid;place-items:center;position:relative;overflow:hidden;
}
.stage.drag{border-color:var(--pink);box-shadow:inset 0 0 0 2px #ff2e8844}
.stage.has{background:#08090c}
#canvas{max-width:100%;max-height:min(70vh,620px);display:block;touch-action:none;cursor:grab}
#canvas.grabbing{cursor:grabbing}
.drop{
  text-align:center;padding:52px 26px;color:var(--ink-2);pointer-events:none;
}
.drop .big{font-family:var(--disp);font-weight:700;text-transform:uppercase;font-size:20px;color:var(--ink);letter-spacing:.02em}
.drop .sm{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;margin-top:8px;color:var(--ink-3)}
.drop .btn{pointer-events:auto;margin-top:18px}
.panel{
  border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:18px;min-width:0;
}
.panel h3{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink-3);margin:0 0 14px;font-weight:500;
}
.ctl{margin-bottom:16px}
.ctl > label:not(.tg){
  display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-bottom:7px;
}
.ctl > label span{color:var(--pink)}
input[type=range]{
  -webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:99px;
  background:var(--line-hi);outline:none;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--pink);
  cursor:pointer;border:2px solid #050507;box-shadow:0 0 0 3px #ff2e8833;
}
input[type=range]::-moz-range-thumb{width:14px;height:14px;border:none;border-radius:50%;background:var(--pink);cursor:pointer}
.seg{display:flex;gap:6px;flex-wrap:wrap}
.seg button{
  flex:1;min-width:0;border:1px solid var(--line-hi);background:#ffffff05;border-radius:7px;
  padding:8px 6px;cursor:pointer;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-2);transition:.15s;white-space:nowrap;
}
.seg button:hover{border-color:var(--line-hi);color:#fff;background:#ffffff0d}
.seg button.on{border-color:var(--pink);color:#fff;background:#ff2e881f}
.grid9{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.grid9 button{aspect-ratio:1.6;border:1px solid var(--line-hi);background:#ffffff05;border-radius:6px;cursor:pointer;display:grid;transition:.15s;padding:5px}
.grid9 button:nth-child(3n+1){justify-items:start}
.grid9 button:nth-child(3n+2){justify-items:center}
.grid9 button:nth-child(3n){justify-items:end}
.grid9 button:nth-child(-n+3){align-items:start}
.grid9 button:nth-child(n+4):nth-child(-n+6){align-items:center}
.grid9 button:nth-child(n+7){align-items:end}
.grid9 button:hover{border-color:var(--pink);background:#ff2e8814}
.grid9 button i{display:block;width:14px;height:4px;background:var(--ink-3);border-radius:1px}
.grid9 button:hover i{background:var(--pink)}
.toggles{display:flex;flex-direction:column;gap:8px}
.tg{display:flex;align-items:center;gap:10px;cursor:pointer;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.tg input{appearance:none;width:34px;height:19px;border-radius:99px;background:var(--line-hi);position:relative;cursor:pointer;transition:.18s;flex:none}
.tg input::after{content:"";position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:#7c8298;transition:.18s}
.tg input:checked{background:#ff2e8855}
.tg input:checked::after{left:17px;background:var(--pink)}
.panel .btn{width:100%;margin-top:8px}
.hint{font-family:var(--mono);font-size:10px;color:var(--ink-3);letter-spacing:.06em;line-height:1.6;margin-top:14px;border-top:1px solid var(--line);padding-top:12px}

/* ---- chart ---- */
.chartbox{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel);position:relative;height:min(72vh,620px)}
.chartbox iframe{width:100%;height:100%;border:0;display:block}

/* ---- prospectus ---- */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media(max-width:900px){.cards{grid-template-columns:1fr}}
.card{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:24px;min-width:0}
.card h3{font-family:var(--disp);font-weight:700;text-transform:uppercase;font-size:17px;letter-spacing:.02em;margin:0 0 12px}
.card p{color:var(--ink-2);font-size:14.5px;line-height:1.68;margin:0}
.card .num{font-family:var(--mono);font-size:11px;color:var(--pink);letter-spacing:.2em;display:block;margin-bottom:10px}
.card.risk{border-color:#ffb32c33;background:linear-gradient(180deg,#ffb32c08,var(--panel))}
.card.risk h3{color:var(--amber)}

/* ---- opening-bell band ---- */
.bell{
  position:relative;margin-top:26px;border:1px solid var(--line);border-radius:18px;
  overflow:hidden;background:#05060a;isolation:isolate;
}
.bell picture{position:relative;display:block}
.bell img{width:100%;display:block}
/* the scrim belongs to the picture, not the card — so a stacked mobile
   layout does not end up with a gradient painted over its own copy */
.bell picture::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,#05060af2 0%,#05060ad9 34%,#05060a4d 56%,transparent 72%);
}
.bell-copy{
  position:absolute;left:0;top:0;bottom:0;width:50%;z-index:1;
  display:flex;flex-direction:column;justify-content:center;gap:14px;
  padding:clamp(20px,3.4vw,48px);
}
.bell-copy h3{
  font-family:var(--disp);font-weight:700;text-transform:uppercase;margin:0;
  font-size:clamp(18px,2.9vw,38px);line-height:1.04;letter-spacing:-.01em;
}
.bell-copy p{margin:0;color:var(--ink-2);font-size:clamp(12px,1.15vw,15.5px);line-height:1.62;max-width:34ch}
.hours{
  display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;
  font-family:var(--mono);font-size:clamp(9px,.82vw,11px);letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-3);
}
.hours b{color:var(--ink);font-weight:500}
.hours b.up{color:var(--up)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--up);box-shadow:0 0 0 0 #00e77a99;animation:pulse 2s infinite;flex:none}
@keyframes pulse{70%{box-shadow:0 0 0 9px #00e77a00}100%{box-shadow:0 0 0 0 #00e77a00}}
@media(prefers-reduced-motion:reduce){.dot{animation:none}}

@media(max-width:820px){
  /* stack: art on top, copy underneath on solid ground */
  .bell picture::after{background:linear-gradient(180deg,transparent 46%,#05060ab8 80%,#05060a 100%)}
  .bell-copy{position:static;width:auto;padding:18px 20px 24px;gap:12px}
  .bell-copy h3{font-size:clamp(20px,5.6vw,26px)}
  .bell-copy p{font-size:14px;max-width:none}
  .hours{font-size:10px;gap:7px 14px}
}

/* ---- footer ---- */
footer{border-top:1px solid var(--line);padding:44px 0 60px;margin-top:20px;background:#040406}
.foot-top{display:flex;justify-content:space-between;gap:26px;flex-wrap:wrap;align-items:flex-start}
.foot-brand svg{width:150px;color:#fff}
.foot-links{display:flex;gap:20px;flex-wrap:wrap;font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase}
.foot-links a{color:var(--ink-2);text-decoration:none;transition:.15s}
.foot-links a:hover{color:var(--pink)}
.disclaim{margin-top:30px;padding-top:22px;border-top:1px solid var(--line);color:var(--ink-3);font-size:12px;line-height:1.7;max-width:820px}

/* ---- toast ---- */
#toast{
  position:fixed;left:50%;bottom:26px;transform:translate(-50%,calc(100% + 40px));z-index:99;
  background:#101118;border:1px solid var(--pink);color:#fff;border-radius:10px;
  padding:12px 20px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;
  text-transform:uppercase;transition:transform .3s cubic-bezier(.2,.8,.2,1);
  box-shadow:0 20px 50px -20px #000,0 0 30px -10px #ff2e8866;pointer-events:none;
  max-width:calc(100vw - 32px);text-align:center;
}
#toast.show{transform:translate(-50%,0)}

/* reduced motion: paint everything solid */
.rv{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}
