/* Orchestrator overrides (2026-11-01), loaded last. The legacy deck (full-viewport panels with the scroll curtain) is neutralised so
   the editorial layout flows normally; the hero, pot card, timeline and Studio controls get exact rules the drafts missed. */
.deck,.slot,.panel { position:relative; height:auto; min-height:0; overflow:visible; transform:none !important; opacity:1 !important; }
.panel { background:transparent; border:0; box-shadow:none; padding:0; border-radius:0; }
.panel::before,.veil,.ph,.zoom,.cue,.k-pic,.king.empty,.hud,.radar,.gh,.sheet-bg,.hero-head::before,body::before,.rail,.progress,.glow,.intro,.roll-tapes,.roll-vessel,.sticker,.netviz.is-hidden { display:none !important; }
.pc { position:static; padding:clamp(72px,9vh,120px) 24px; transform:none !important; }
.p-hero .pc { padding-top:clamp(48px,6vh,80px); padding-right:24px; padding-bottom:clamp(56px,7vh,96px); }
.pc-in,.p-hero .pc-in { width:100%; max-width:1200px; margin:0 auto; }
.ticker { position:relative; z-index:1; }
/* hero */
.roll-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border:1px solid var(--line); border-radius:16px; background:var(--surface); margin:0 0 44px; overflow:hidden; }
.roll-stats > div { padding:16px 20px; border-right:1px solid var(--line); }
.roll-stats > div:last-child { border-right:0; }
.roll-stats small { display:block; font:500 11px/1.4 var(--body); letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.roll-stats b { display:block; margin-top:6px; font:400 28px/1.1 var(--display); color:var(--text); font-variant-numeric:tabular-nums; }
.kicker { font:500 12px/1.5 var(--body); letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin:0 0 18px; display:block; }
.title.huge,h1.title { font:400 clamp(52px,6.4vw,92px)/.98 var(--display); text-transform:none; letter-spacing:-.01em; margin:0; white-space:normal; }
.title.huge .hero-accent,.hero-accent { font-style:italic; color:var(--accent); font-weight:400; }
.hero-live { display:flex; flex-wrap:wrap; align-items:center; gap:8px 22px; margin:18px 0 0; font:500 14px/1.5 var(--mono); color:var(--muted); }
.hero-live b { color:var(--text); font-weight:500; }
.live-dot { display:inline-flex; align-items:center; gap:8px; }
.live-dot::before { content:''; width:8px; height:8px; border-radius:50%; background:var(--up); box-shadow:0 0 0 0 rgba(57,217,138,.5); animation:livep 1.8s ease-out infinite; }
@keyframes livep { to { box-shadow:0 0 0 10px rgba(57,217,138,0); } }
.hero-head .tag { font:400 19px/1.55 var(--body); color:var(--text-2); max-width:56ch; margin:22px 0 0; }
.hero-fee { margin:12px 0 0; font:500 13px/1.6 var(--body); color:var(--text-2); }
.hero-fee b { color:var(--accent-2); font-weight:600; }
.hero-fee a { color:var(--text-2); text-decoration:underline; text-underline-offset:2px; }
.hero-act { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:30px; }
.hero-act .cta-mega { height:52px; padding:0 26px; border-radius:12px; background:var(--accent); color:var(--ink); border:0; font:600 15px var(--body); text-transform:none; letter-spacing:0; box-shadow:none; }
.hero-act .cta-mega:hover { background:var(--accent-2); }
.hero-act .cta-mega::before,.hero-act .cta-mega::after { display:none; }
.hero-act .btn.ghost { height:52px; padding:0 22px; border-radius:12px; border:1px solid var(--line-2); color:var(--text); background:transparent; font:600 14px var(--body); }
.hero-head > .demo-note { margin-top:14px; font:400 12px/1.6 var(--mono); color:var(--muted); }
.hero-grid.has-book { display:grid; grid-template-columns:minmax(0,6fr) minmax(320px,6fr); gap:clamp(32px,4vw,56px); align-items:start; }
/* the pot card */
.hero-roll { position:relative; overflow:hidden; background:var(--terrain); border:1px solid var(--line); border-radius:20px; padding:28px; box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 30px 80px -40px rgba(0,0,0,.7); }
.hero-roll svg.terrain { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.hero-roll .terrain-line { stroke:rgba(123,154,255,.14); fill:none; stroke-width:1; }
.hero-roll > :not(svg.terrain) { position:relative; }
.pot-head { display:flex; justify-content:space-between; align-items:center; gap:14px; font:500 12px/1 var(--body); letter-spacing:.12em; text-transform:uppercase; color:var(--text-2); }
.pot-head .pill { font:500 11px/1 var(--body); letter-spacing:.1em; text-transform:uppercase; padding:7px 10px; border-radius:999px; border:1px solid var(--line-2); background:transparent; color:var(--text-2); }
.pot-figure { margin:20px 0 4px; font:400 clamp(44px,4vw,58px)/1 var(--display); color:var(--accent); font-variant-numeric:tabular-nums; }
.pot-figure b { font-weight:400; font-family:inherit; }
svg.gauge { display:block; width:200px; height:150px; margin:0 0 6px; }
.gauge-track { stroke:var(--line-2); fill:none; }
.gauge-fill { stroke:var(--accent); fill:none; }
.roll-rows { border-top:1px solid var(--line); margin-top:6px; }
.roll-rows > div { display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:11px 0; border-bottom:1px solid var(--line); font:500 11px/1.4 var(--body); letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.roll-rows > div b { font:500 13px/1.4 var(--mono); color:var(--text); text-transform:none; letter-spacing:0; text-align:right; font-variant-numeric:tabular-nums; }
.hero-roll .roll-button { display:block; width:100%; margin:18px 0 18px; height:48px; border-radius:12px; background:var(--accent); color:var(--ink); border:0; font:600 14px var(--body); text-transform:none; letter-spacing:0; cursor:pointer; }
.hero-roll .roll-button:hover { background:var(--accent-2); }
.hero-roll .roll-button:disabled { opacity:.55; background:var(--accent); }
.roll-mini-hits h3 { font:500 11px/1.4 var(--body); letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin:0 0 6px; }
.roll-mini-hits ul { list-style:none; margin:0; padding:0; }
.roll-mini-hits li { display:flex; justify-content:space-between; gap:8px; padding:8px 0; border-bottom:1px solid var(--line); font:500 13px/1.4 var(--mono); color:var(--text-2); text-align:left; }
.roll-mini-hits li b { color:var(--up); font-weight:500; }
.hero-roll .demo-note { margin-top:12px; font:400 12px/1.6 var(--body); color:var(--muted); }
/* timeline */
.flow { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:30px 0 0; padding-top:26px; }
.flow-rail { position:absolute; left:0; right:0; top:4px; height:1px; background:var(--line-2); }
.flow-step { position:relative; }
.flow-num { position:absolute; top:-26px; left:0; display:flex; align-items:center; gap:8px; font:500 12px/1 var(--mono); color:var(--muted); background:none; width:auto; height:auto; border:0; }
.flow-num::before { content:''; width:10px; height:10px; border-radius:50%; background:var(--accent); }
.flow-title { font:400 26px/1.1 var(--display); text-transform:none; letter-spacing:-.01em; margin:8px 0 6px; color:var(--text); }
.flow-line { font:400 14px/1.55 var(--body); color:var(--text-2); margin:0; }
/* sections */
.num,.strat-title,.roll-tag { font:500 12px/1.5 var(--body); letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.title,h2.title,.roll-title { font:400 clamp(36px,4vw,56px)/1.02 var(--display); text-transform:none; letter-spacing:-.01em; }
.hc h3,.strat h4,.empty h3 { font-family:var(--display); font-weight:400; text-transform:none; letter-spacing:-.01em; }
/* studio */
.studio-head { max-width:760px; margin:0 0 40px; }
.studio-head h1 { font:400 clamp(40px,5vw,72px)/1 var(--display); text-transform:none; letter-spacing:-.01em; margin:10px 0 14px; }
.studio-head h1 em { font-style:italic; color:var(--accent); }
.studio-head .label { font:500 12px/1.5 var(--body); letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.studio-card h2 { font:400 34px/1.05 var(--display); text-transform:none; margin:4px 0 18px; }
.studio-num { font:500 12px/1 var(--mono); color:var(--accent); letter-spacing:.1em; }
.preset-card { position:relative; }
.preset-card input[type=radio] { position:absolute; opacity:0; width:1px; height:1px; pointer-events:none; }
.preset-card .terrain svg,.preset-card svg { width:100%; height:72px; display:block; }
.preset-card .terrain-line { stroke:rgba(123,154,255,.14); fill:none; }
.value-label { display:block; text-align:right; font:500 13px/1.6 var(--mono); color:var(--text-2); margin:0 0 6px; white-space:nowrap; }
.value-label span { display:inline; }
.summary-title { display:block; font:400 32px/1 var(--display); text-transform:none; margin:0 0 10px; }
.summary .pill { display:inline-block; margin:0 0 16px; font:500 11px/1 var(--body); letter-spacing:.1em; text-transform:uppercase; padding:7px 10px; border-radius:999px; border:1px solid var(--line-2); background:transparent; color:var(--text-2); }
.receipt h3 { font:500 11px/1.4 var(--body); letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin:14px 0 4px; }
.receipt > div,.receipt div[data-r] { display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid var(--line); font:400 13px/1.4 var(--body); color:var(--text-2); text-transform:none; letter-spacing:0; }
.receipt b { font:500 13px/1.4 var(--mono); color:var(--text); font-variant-numeric:tabular-nums; text-align:right; }
.summary-cta { height:48px; border-radius:12px; background:var(--accent); color:var(--ink); font:600 14px var(--body); border:0; width:100%; margin-top:16px; }
.summary-cta[disabled] { opacity:.55; cursor:not-allowed; background:var(--accent); }
/* phone */
@media (max-width:760px) {
  .pc { padding-left:20px; padding-right:20px; }
  .roll-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .roll-stats > div:nth-child(2) { border-right:0; }
  .roll-stats > div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .hero-grid.has-book { grid-template-columns:1fr; gap:28px; }
  .hero-head { order:0; } .hero-roll { order:1; padding:22px; }
  .title.huge,h1.title { font-size:44px; }
  .hero-head .tag { font-size:16px; }
  .flow { grid-template-columns:1fr; gap:18px; padding-top:0; }
  .flow-rail { display:none; }
  .flow-num { position:static; margin-bottom:6px; }
  .hero-act .cta-mega,.hero-act .btn { width:100%; justify-content:center; }
  .studio-card h2 { font-size:28px; }
}

/* the legacy deck fights back (sticky 100vh panels, curtain variables): force normal flow */
.deck,.slot,.panel,.pc,.pc-in,.p-hero,.p-hero .pc { position:relative !important; top:auto !important; inset:auto !important; height:auto !important; min-height:0 !important; max-height:none !important; transform:none !important; opacity:1 !important; filter:none !important; overflow:visible !important; }
.pc { display:block !important; padding:clamp(72px,9vh,120px) 24px !important; }
.p-hero .pc { padding:clamp(40px,5vh,64px) 24px clamp(56px,7vh,96px) !important; }
html.sda .panel,html.sda .pc,html.sda .slot { animation:none !important; }
.ticker { position:relative !important; z-index:2; }
.top { position:sticky !important; top:0; z-index:100; }
/* timeline steps stack their own content */
.flow-step { display:block !important; }
.flow-step > * { display:block; }
.flow-num { display:flex !important; }
/* studio controls */
.studio .value-label,.studio-card .value-label { display:block !important; text-align:right; white-space:nowrap; }
.studio .value-label span { display:inline !important; }
.preset-card svg path:not(.terrain-line) { stroke:var(--accent); fill:none; stroke-width:2; }
.studio input[type=range] { height:28px; background:transparent; padding:0; }
/* section 02/03 cards */
.how { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; list-style:none; padding:0; margin:28px 0 0; }
.hc { background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:22px; }
.hc .n { font:500 12px/1 var(--mono); color:var(--accent); letter-spacing:.1em; -webkit-text-stroke:0; }
.hc h3 { font-size:26px; margin:10px 0 8px; color:var(--text); }
.hc p { font:400 15px/1.55 var(--body); color:var(--text-2); margin:0; }
.worked-example { background:var(--surface-2); border:1px solid var(--line); border-radius:14px; padding:18px 20px; font:500 14px/1.6 var(--mono); color:var(--text); margin-top:18px; }
.strats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.strat { background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:20px; }
.strat h4 { font-size:24px; color:var(--text); margin:0 0 6px; }
.strat p { font:400 14px/1.5 var(--body); color:var(--text-2); margin:0 0 12px; }
.strat b { display:block; font:500 18px/1.3 var(--mono); }
.strat small { display:block; font:400 12px/1.5 var(--body); color:var(--muted); margin-top:6px; text-transform:none; letter-spacing:0; }
.empty { background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:26px; position:static !important; transform:none !important; }
.tools { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0; }
.chip { font:500 12px/1 var(--body); padding:9px 12px; border-radius:999px; border:1px solid var(--line-2); background:transparent; color:var(--text-2); text-transform:none; letter-spacing:0; }
@media (max-width:760px) { .how,.strats { grid-template-columns:1fr; } }

/* the deck's real layout rules (hype.css): 200vh slots with -100vh margins and sticky 100vh panels — undone precisely */
.deck .slot { height:auto !important; margin-top:0 !important; animation:none !important; }
.deck .panel { position:relative !important; top:auto !important; height:auto !important; min-height:0 !important; box-shadow:none !important; }
.deck .pc,.deck .p-launch .pc { height:auto !important; min-height:0 !important; }
.deck .slot + .slot { border-top:1px solid var(--line); }
.ticker { top:auto !important; margin:0 !important; }
#soundBtn,.btn.snd { width:44px; height:44px; padding:0; display:inline-flex; align-items:center; justify-content:center; }
#soundBtn svg,.btn.snd svg { width:18px; height:18px; display:block; }
#soundBtn svg path,#soundBtn svg .spk { stroke:currentColor; fill:none; stroke-width:1.8; }

/* T8b: preset terrain and range controls */
.studio input[type=range] { appearance:none; border:0; height:18px; cursor:pointer; }
.studio input[type=range]::-webkit-slider-runnable-track { height:4px; background:var(--line-2); border-radius:2px; }
.studio input[type=range]::-webkit-slider-thumb { appearance:none; width:18px; height:18px; margin-top:-7px; border-radius:50%; background:var(--accent); }
.studio input[type=range]::-moz-range-track { height:4px; background:var(--line-2); }
.studio input[type=range]::-moz-range-thumb { width:18px; height:18px; border:0; border-radius:50%; background:var(--accent); }
.preset-card:has(input:checked),.preset-card:focus-within { border-color:var(--accent); background:var(--surface-2); }

/* T8b: live board */
#crown { display:none; }
.board-filters { display:flex; flex-wrap:wrap; gap:16px 24px; margin-top:24px; }
.board-filter { border:0; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:6px; min-width:0; }
.board-filter legend { font:500 12px var(--body); color:var(--muted); margin-bottom:10px; }
.board-filter .chip { cursor:pointer; display:inline-flex; align-items:center; gap:5px; }
.board-filter input { accent-color:var(--accent); width:12px; height:12px; margin:0; }
.board-filter .chip:has(:checked) { color:var(--accent); border-color:var(--accent); background:var(--surface-2); }
#lgrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px; width:100%; }
.board-card,.lc.board-card { display:block; width:100%; max-width:460px; padding:0; overflow:hidden; border:1px solid var(--line); border-radius:20px; background:var(--surface); }
.listing-terrain { position:relative; aspect-ratio:16/7; background:#101c30; }
.listing-terrain svg { width:100%; height:100%; display:block; }
.listing-terrain .contour { fill:none; stroke:var(--terrain); stroke-width:1; }
.listing-terrain .sparkline { fill:none; stroke:var(--accent); stroke-width:2; }
.listing-terrain > span { position:absolute; bottom:12px; left:18px; color:var(--text-2); font:11px var(--mono); }
.board-card .lc-b { padding:20px; }
.listing-identity { display:flex; align-items:center; gap:12px; margin:12px 0 20px; min-width:0; }
.listing-identity h3 { font:400 26px var(--display); margin:0 0 6px; text-transform:none; }
.listing-logo { display:grid; place-items:center; flex:0 0 44px; height:44px; background:var(--surface-2); border-radius:12px; overflow:hidden; color:var(--accent); }
.listing-logo img { width:44px; height:44px; object-fit:cover; }
.listing-stats { display:grid; grid-template-columns:1fr 1fr; gap:18px 12px; margin:0; }
.listing-stats dt { font:12px/1.5 var(--body); color:var(--text-2); }
.listing-stats dd { margin:5px 0 0; font:500 17px var(--mono); }
.listing-terms { border-top:1px solid var(--line); padding-top:16px; margin-top:20px; font:12px/1.6 var(--body); color:var(--text-2); }
.example-label { font:12px var(--body); color:var(--accent); }

/* T8b: Roll receipts */
.roll-header { max-width:760px; margin-bottom:28px; }
.roll-header p { color:var(--text-2); line-height:1.65; }
.roll-content { display:grid; grid-template-columns:minmax(260px,1fr) minmax(0,2fr); gap:20px; }
.roll-pot,.roll-table-container,.roll-rounds,.roll-verify { background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:24px; min-width:0; }
.roll-pot > p { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; padding:12px 0; border-bottom:1px solid var(--line); font:12px/1.5 var(--body); color:var(--text-2); }
.roll-pot b,.roll-pot code,.roll-pot-amount { font-family:var(--mono); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.roll-pot-amount { color:var(--text); font-size:32px; margin:12px 0; }
.roll-table-container { overflow-x:auto; }
.roll-table { width:100%; border-collapse:collapse; white-space:nowrap; }
.roll-table th { text-align:left; font:500 12px var(--body); color:var(--muted); text-transform:none; }
.roll-table td { font:12px var(--mono); color:var(--text-2); }
.roll-table th,.roll-table td { padding:13px 10px; border-bottom:1px solid var(--line); }
.roll-chip { display:inline-block; border-radius:999px; padding:5px 9px; background:var(--surface-2); }
.roll-chip.win { color:var(--up); } .roll-chip.lose { color:var(--down); }
.roll .strat-title,.roll-rounds h3,.roll-verify summary { font:400 26px var(--display); text-transform:none; letter-spacing:0; }
.roll .strats { margin:20px 0; }
.roll-verify { margin-top:20px; } .roll-verify pre { white-space:pre-wrap; overflow-wrap:anywhere; font:12px/1.7 var(--mono); }
.roll-tag { text-transform:none; letter-spacing:0; }
@media(max-width:760px) { .roll-content { grid-template-columns:minmax(0,1fr); } }

/* T8b: phone layout */
@media(max-width:760px) {
 .top { gap:10px; padding:12px 16px; }
 .top .nav,.top .word,.top .pill { display:none !important; }
 .top .right { display:flex; gap:8px; margin-left:auto; min-width:0; }
 .top #launchTop { display:inline-flex; white-space:nowrap; padding:0 14px; height:44px; }
 .hero-grid.has-book { display:grid; grid-template-columns:minmax(0,1fr); }
 .hero-head { order:0; min-width:0; } .hero-roll { order:1; min-width:0; }
 .pc-in,.hrail,.studio,.studio-cards,.summary { min-width:0; max-width:100%; }
 #lgrid { grid-template-columns:minmax(0,1fr); }
 .studio { grid-template-columns:minmax(0,1fr); }
 .studio .value-label,.studio-card .value-label { white-space:normal; }
 .studio .preset-row { display:grid; grid-template-columns:minmax(0,1fr); }
 .studio .preset-card { min-width:0; }
 .studio .summary { position:static; }
 .studio .receipt > div { flex-wrap:wrap; }
 .listing-identity > div { min-width:0; overflow-wrap:anywhere; }
 .roll-pot,.roll-table-container { padding:18px; }
}
/* Keep pot labels within their receipt panel in both demo skins. */
.roll-pot > span { font:400 28px/1.2 var(--display); text-transform:none; letter-spacing:0; overflow-wrap:anywhere; }
/* .roll-pot sets a 56px display font for its headline figure; buttons must not inherit it (02/11 overflow fix). */
.roll-pot .roll-button { display:block; width:100%; margin-top:18px; height:48px; border-radius:12px; font:600 14px var(--body); text-transform:none; letter-spacing:0; }

/* Board terrain contrast and alignment with its section heading. */
.p-live .hrail { max-width:1200px; margin:0 auto; padding:0 0 40px; }
.listing-terrain .contour { stroke:var(--line-2); }
.board-card .sym { font:12px/1.5 var(--mono); color:var(--text-2); }
#launchStatus,.top #launchTop { text-transform:none; letter-spacing:0; }
/* Standalone Studio uses the same page inset and panel radius. */
.studio-page { max-width:1180px; margin:0 auto; padding:40px 24px 80px; }
.studio .studio-card,.studio .summary { border-radius:20px; }
.studio .studio-head h1 { font-weight:400; }
.studio .receipt h3 { text-transform:none; letter-spacing:0; }
.studio .toggle input { flex:0 0 20px; margin:0; }

/* Curve Lab (02/11): the hero's touchable demo for Curve Share, replacing the old pot/gauge visual. */
.curve-lab { background:var(--terrain); border:1px solid var(--line); border-radius:16px; padding:20px; margin-bottom:18px; box-shadow:inset 0 1px 0 rgba(255,255,255,.04); }
.cl-head { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:14px; font:500 12px/1 var(--body); letter-spacing:.12em; text-transform:uppercase; color:var(--text-2); }
.cl-head .pill { font:500 11px/1 var(--body); letter-spacing:.1em; text-transform:uppercase; padding:7px 10px; border-radius:999px; border:1px solid var(--line-2); color:var(--text-2); }
.cl-svg { display:block; width:100%; height:auto; aspect-ratio:520/300; border-radius:10px; cursor:grab; -webkit-tap-highlight-color:transparent; }
.cl-svg:active { cursor:grabbing; }
.cl-grid line { stroke:rgba(123,154,255,.14); stroke-width:1; }
.cl-axis { font-family:var(--mono); font-size:9px; letter-spacing:.08em; fill:var(--muted); }
.cl-axis-r { fill:var(--accent-2); opacity:.7; }
.cl-price { stroke:var(--accent); stroke-width:2.5; }
.cl-reward { stroke:var(--accent-2); stroke-width:2; stroke-dasharray:1 5; opacity:.85; }
.cl-handle { fill:var(--accent-2); stroke:var(--ink); stroke-width:2; filter:drop-shadow(0 0 7px var(--accent)); }
.cl-handle:focus-visible { outline:2px solid var(--accent-2); outline-offset:5px; }
.cl-readout { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 14px; margin-top:16px; }
.cl-readout small { display:block; font:500 10px/1.3 var(--body); letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.cl-readout b { display:block; margin-top:4px; font:500 15px/1.2 var(--mono); color:var(--text); font-variant-numeric:tabular-nums; }
.curve-lab .demo-note { margin-top:12px; }
@media(max-width:520px) { .cl-readout { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .cl-handle { filter:none; } }

/* Small polish pass (02/11): hover states and number transitions so the demo reads as live, not static. */
.strat,.roll-mini-hits li,.board-card { transition:border-color .2s var(--motion-normal,ease), transform .2s var(--motion-normal,ease); }
.strat:hover { border-color:var(--line-2); transform:translateY(-2px); }
.roll-stats b,.pot-body b,.cl-readout b { transition:color .2s ease; }
.brand .mark { transition:transform .25s ease; }
/* The real logo image (02/11): hype.css's lettered-box mark, and its CSS-mask icon (a flat single-colour
   silhouette of /art/mark.svg - fine for thin line art, not for this detailed gradient/glass artwork), are both
   overridden here in favour of the actual image, at any screen that supports mask-image (i.e. the one hype.css
   itself gates the mask trick behind, so this wins the same way). */
@supports (mask-image:url("")) or (-webkit-mask-image:url("")) {
  .brand .mark, .brand .mark::before, .brand .mark::after { all:unset; }
}
.brand .mark { display:block; width:42px; height:42px; border-radius:11px; color:transparent; border:0; box-shadow:none;
  background-image:url(/art/mark.png); background-size:cover; background-position:center; }
.brand.small .mark, .brand.mini .mark { width:34px; height:34px; }

/* Proof row (02/11): 3 real, already-trading coins (one per launchpad), explicitly not launched on Squall - links
   straight into the real terminal so the chart/trade-tape rendering can be checked against live GeckoTerminal data. */
.proof-row { margin-top:18px; padding:14px 16px; background:var(--surface); border:1px solid var(--line); border-radius:14px; }
.proof-label { margin:0 0 10px; font:500 13px/1.5 var(--body); color:var(--text-2); }
.proof-links { display:flex; flex-wrap:wrap; gap:10px; }
.proof-chip { display:inline-flex; align-items:center; padding:8px 14px; border-radius:999px; border:1px solid var(--line-2); font:500 13px var(--body); color:var(--text); text-decoration:none; transition:border-color .2s ease, background .2s ease; }
.proof-chip:hover { border-color:var(--accent); background:var(--surface-2); }
.st.example { background:color-mix(in srgb, var(--accent-2) 16%, transparent); color:var(--accent-2); }
.brand:hover .mark { transform:rotate(-6deg) scale(1.05); }

/* Rain ambiance (02/11): cheap, fixed, behind content; two tiled diagonal-streak layers animated via background-position.
   z-index:-1 (not 0): a 02/11 regression here once forced .top/.ticker/.hud/.rail/.modal to position:relative;z-index:1,
   which stomped their own position:fixed + z-index 57-100 from hype.css and let scrolled deck panels paint over the header.
   Fixed by never touching their stacking at all - z-index:-1 alone keeps rain behind the page's own background. */
.rain { position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.4;
  background-image:
    repeating-linear-gradient(166deg, transparent 0 3px, rgba(180,216,255,.16) 3px 4px, transparent 4px 90px),
    repeating-linear-gradient(166deg, transparent 0 2px, rgba(180,216,255,.09) 2px 3px, transparent 3px 56px);
  background-size: 260px 260px, 160px 160px;
  animation: rainfall .7s linear infinite;
}
@keyframes rainfall { to { background-position: -22px 88px, -14px 56px; } }
@media (prefers-reduced-motion:reduce) { .rain { animation:none; opacity:.2; } }

/* Storm Radar (02/11): the hero's hook — an honestly-labeled "coming at mainnet" preview, not a live feature. */
.storm-radar { display:flex; gap:16px; align-items:flex-start; margin-top:22px; padding:16px; background:var(--surface); border:1px solid var(--line); border-radius:14px; max-width:480px; }
.storm-radar .sr-head { display:flex; flex-direction:column; gap:8px; }
.pill.soon { font:500 10px/1 var(--body); letter-spacing:.08em; text-transform:uppercase; padding:5px 9px; border-radius:999px; border:1px solid var(--line-2); color:var(--accent-2); white-space:nowrap; }
.sr-body { display:flex; gap:14px; align-items:center; }
.sr-svg { flex:none; width:64px; height:64px; }
.sr-ring { fill:none; stroke:var(--line-2); stroke-width:1; }
.sr-sweep { stroke:var(--accent); stroke-width:1.5; transform-origin:60px 60px; animation:sr-sweep 3.2s linear infinite; }
.sr-blip { fill:var(--accent-2); opacity:0; animation:sr-blip 3.2s ease-out infinite; animation-delay:var(--d,0s); }
.storm-radar p { margin:0; font-size:12px; line-height:1.55; color:var(--text-2); }
@keyframes sr-sweep { to { transform:rotate(360deg); } }
@keyframes sr-blip { 0%,80%,100% { opacity:0; } 15%,55% { opacity:1; } }
@media (prefers-reduced-motion:reduce) { .sr-sweep { animation:none; } .sr-blip { animation:none; opacity:.7; } }
@media (max-width:520px) { .storm-radar { flex-direction:column; } .sr-body { flex-direction:column; align-items:flex-start; } }
.studio .toggle label { flex:1; }

/* ===================================================================================================================
   Visual pass v4 (02/11): Sora display type, storm art + rain on the hero, glass cards with icons, cyan→indigo
   gradients, far less text. Loads last, so equal-specificity rules here win over hype.css/theme.css.
   =================================================================================================================== */
:root { --display:'Sora', system-ui, sans-serif; --font-display:'Sora', system-ui, sans-serif; --c1:#4fc3f7; --c2:#bfe8ff; --c3:#6d7cff; --c4:#2dd4bf;
  --glass:linear-gradient(180deg,rgba(23,30,45,.78),rgba(11,16,26,.78)); }
html { background:radial-gradient(1200px 640px at 88% -12%,rgba(79,195,247,.11),transparent 60%),radial-gradient(1000px 620px at -12% 112%,rgba(109,124,255,.11),transparent 60%),var(--bg); background-attachment:fixed; }
h1,h2,h3,h4,.title,h2.title,.roll-title,.ctitle { font-family:var(--display); font-weight:700; letter-spacing:-.025em; text-transform:none; }
.title,h2.title,.roll-title { font-size:clamp(34px,3.8vw,54px); line-height:1.04; }
.title.huge { font-size:clamp(42px,5.4vw,82px); font-weight:800; line-height:1.0; letter-spacing:-.035em; }
.grad, .title .ln.grad { background:linear-gradient(90deg,var(--c1),var(--c3)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.ic { width:20px; height:20px; flex:none; }
.eyebrow { gap:10px; font:600 12px/1 var(--body); letter-spacing:.04em; text-transform:none; color:var(--text-2); }
.eyebrow .no { display:inline-flex; align-items:center; justify-content:center; gap:0; min-width:30px; height:24px; padding:0 9px; border-radius:999px; font:700 11px/1 var(--mono); color:var(--ink); background:linear-gradient(135deg,var(--c1),var(--c3)); }
.eyebrow .no::after { display:none; }
.roll-header .roll-tag { font:600 12px/1 var(--body); margin:0; }
.roll-pot { margin:0; }
.lead { color:var(--text-2); font-size:17px; line-height:1.6; max-width:52ch; }

/* header */
.top { background:rgba(9,13,20,.72); border-bottom:1px solid rgba(79,195,247,.12); }
.btn.primary, .top #launchTop { background:linear-gradient(135deg,var(--c1),var(--c3)); color:var(--ink); border:0; text-decoration:none; box-shadow:0 10px 28px -12px rgba(79,195,247,.7); }
.top #launchTop { display:inline-flex; align-items:center; height:44px; padding:0 18px; border-radius:12px; font:700 14px/1 var(--body); }

/* hero: storm art with rain falling over it */
#top .panel { background:
    repeating-linear-gradient(166deg,transparent 0 3px,rgba(190,225,255,.13) 3px 4px,transparent 4px 90px),
    repeating-linear-gradient(166deg,transparent 0 2px,rgba(190,225,255,.08) 2px 3px,transparent 3px 56px),
    linear-gradient(90deg,rgba(9,13,20,.97) 0%,rgba(9,13,20,.82) 40%,rgba(9,13,20,.30) 100%),
    linear-gradient(0deg,var(--bg) 0%,rgba(9,13,20,0) 26%),
    url(/art/scene/hero.jpg) center 35% / cover no-repeat;
  background-size:260px 260px,160px 160px,auto,auto,cover;
  animation:hero-rain .7s linear infinite; }
@keyframes hero-rain { from { background-position:0 0,0 0,0 0,0 0,center 35%; } to { background-position:-22px 88px,-14px 56px,0 0,0 0,center 35%; } }
@media (prefers-reduced-motion:reduce) { #top .panel { animation:none; } }
.kicker { display:flex; align-items:center; gap:12px; font:600 13px/1 var(--body); letter-spacing:0; text-transform:none; color:var(--text-2); margin:0 0 22px; }
.kv { display:inline-flex; }
.kv img { width:26px; height:26px; border-radius:50%; object-fit:cover; border:2px solid var(--bg); margin-left:-8px; background:#fff; }
.kv img:first-child { margin-left:0; }
.kv img.dk, .proof-chip img.dk { background:#0b0f17; padding:3px; object-fit:contain; }
.hero-head .tag { font:400 18px/1.55 var(--body); color:var(--text-2); max-width:44ch; margin:20px 0 0; }
.hero-act { gap:12px; margin-top:30px; }
.cta-main, .cta-ghost { display:inline-flex; align-items:center; gap:10px; height:54px; padding:0 24px; border-radius:15px; font:700 15px/1 var(--body); text-decoration:none; cursor:pointer; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.cta-main { color:var(--ink); border:0; background:linear-gradient(135deg,var(--c1),var(--c3)); box-shadow:0 16px 36px -14px rgba(79,195,247,.8); }
.cta-main:hover { transform:translateY(-2px); box-shadow:0 20px 44px -14px rgba(79,195,247,.95); }
.cta-ghost { color:var(--text); background:rgba(255,255,255,.05); border:1px solid var(--line-2); backdrop-filter:blur(8px); }
.cta-ghost:hover { border-color:var(--c1); transform:translateY(-2px); }
.hero-live { gap:8px; margin-top:22px; font:500 13px/1 var(--body); color:var(--muted); }
.hero-live > span { display:inline-flex; align-items:center; gap:7px; padding:8px 12px; border-radius:999px; background:rgba(9,13,20,.55); border:1px solid var(--line); backdrop-filter:blur(8px); }
.hero-live .ic { width:14px; height:14px; color:var(--c1); }
.hero-live b { color:var(--text); font:500 12px/1 var(--mono); }
.storm-radar { align-items:center; gap:14px; margin-top:20px; padding:10px 16px 10px 10px; border-radius:16px; max-width:420px; background:rgba(9,13,20,.6); border:1px solid var(--line); backdrop-filter:blur(8px); }
.storm-radar b { font:600 14px/1 var(--display); margin-right:8px; }
.storm-radar p { margin:6px 0 0; font-size:12px; color:var(--muted); }
.storm-radar .sr-svg { width:50px; height:50px; }

/* hero right card */
.hero-roll { background:linear-gradient(180deg,rgba(18,25,38,.84),rgba(9,13,21,.88)); backdrop-filter:blur(16px); border:1px solid rgba(79,195,247,.2); border-radius:26px; box-shadow:0 40px 90px -40px rgba(0,0,0,.95),0 0 70px -34px rgba(79,195,247,.45); }
.curve-lab { border-radius:18px; border-color:var(--line); background:radial-gradient(90% 120% at 85% 0%,rgba(79,195,247,.13),transparent 60%),radial-gradient(70% 90% at 0% 100%,rgba(109,124,255,.10),transparent 60%),rgba(8,12,19,.7); }
.cl-grid line { stroke:rgba(150,190,255,.07); }
.cl-price { stroke:url(#clLine); stroke-width:3.5; stroke-linecap:round; filter:drop-shadow(0 0 7px rgba(79,195,247,.55)); }
.cl-reward { stroke:var(--c4); opacity:.75; }
.cl-axis-r { fill:var(--c4); }
.cl-handle { fill:#fff; stroke:var(--c1); stroke-width:3; filter:drop-shadow(0 0 9px rgba(79,195,247,.95)); }
.cl-head, .pot-head { letter-spacing:.04em; text-transform:none; font:600 13px/1 var(--body); color:var(--text); }
.cl-readout small, .roll-rows > div { text-transform:none; letter-spacing:0; }
.cl-readout b { font:700 15px/1.2 var(--display); color:var(--c2); }
.roll-rows > div { font:500 13px/1.4 var(--body); color:var(--muted); }
.roll-button, .hero-roll .roll-button, .roll-pot .roll-button { background:linear-gradient(135deg,var(--c1),var(--c3)); color:var(--ink); border:0; font:700 14px/1 var(--body); box-shadow:0 12px 28px -14px rgba(79,195,247,.8); }
.roll-mini-hits h3 { text-transform:none; letter-spacing:0; font:600 13px/1 var(--body); color:var(--text-2); }
.roll-mini-hits li b { color:var(--c4); }

/* stats as glass cards with icons */
.roll-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:44px 0 0; border:0; background:none; border-radius:0; overflow:visible; }
.roll-stats > div, .roll-stats > div:last-child { position:relative; padding:18px 18px 18px 70px; border:1px solid var(--line); border-radius:20px; background:var(--glass); backdrop-filter:blur(12px); }
.roll-stats .ic { position:absolute; left:18px; top:50%; transform:translateY(-50%); width:38px; height:38px; padding:8px; border-radius:13px; color:var(--c1); background:rgba(79,195,247,.12); box-shadow:inset 0 0 0 1px rgba(79,195,247,.25); }
.roll-stats small { font:500 12px/1.2 var(--body); letter-spacing:0; text-transform:none; color:var(--muted); }
.roll-stats b { margin-top:5px; font:700 21px/1.1 var(--display); color:#fff; font-variant-numeric:tabular-nums; }

/* live board proof chips */
.proof-row { background:var(--glass); border-radius:20px; padding:16px 18px; }
.proof-label { font:500 13px/1.4 var(--body); color:var(--muted); }
.proof-chip { padding:7px 14px 7px 7px; background:rgba(9,13,20,.55); font:600 13px/1 var(--body); }
.proof-chip img { width:24px; height:24px; border-radius:50%; object-fit:cover; margin-right:9px; background:#fff; }
.proof-chip .nt { margin-left:6px; color:var(--c1); font-family:var(--mono); }

/* how it works */
.how { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; max-width:none; margin-top:28px; }
.hc { padding:26px; border-radius:22px; background:var(--glass); border:1px solid var(--line); opacity:1; transform:none; }
.hc .n { display:none; }
.hc-ic { display:grid; place-items:center; width:54px; height:54px; margin-bottom:18px; border-radius:17px; color:var(--c1); background:linear-gradient(135deg,rgba(79,195,247,.22),rgba(109,124,255,.18)); box-shadow:inset 0 0 0 1px rgba(79,195,247,.3),0 0 30px -10px rgba(79,195,247,.6); }
.hc-ic .ic { width:26px; height:26px; }
.hc h3 { font:700 21px/1.1 var(--display); margin:0 0 8px; color:var(--text); }
.hc p { margin:0; font:400 15px/1.55 var(--body); color:var(--text-2); }

/* strategies */
.strat-title, .roll .strat-title { font:700 22px/1.1 var(--display); letter-spacing:-.01em; text-transform:none; color:var(--text); margin:36px 0 14px; }
.strats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.strat { padding:22px; border-radius:20px; background:var(--glass); border:1px solid var(--line); }
.strat:hover { border-color:rgba(79,195,247,.35); }
.st-ic { display:grid; place-items:center; width:44px; height:44px; margin-bottom:14px; border-radius:14px; color:var(--c1); background:rgba(79,195,247,.12); }
.strat:nth-child(2) .st-ic { color:var(--c4); background:rgba(45,212,191,.12); }
.strat:nth-child(3) .st-ic { color:#ff9b9b; background:rgba(255,107,107,.12); }
.strat h4 { font:700 18px/1.1 var(--display); margin:0 0 4px; }
.strat p { font:400 14px/1.4 var(--body); color:var(--muted); margin:0; }
.strat b { display:block; margin-top:14px; font:700 26px/1.05 var(--display); color:var(--c2); }
.strat small { margin-top:6px; font:400 12px/1.4 var(--body); color:var(--muted); }

/* share section (fixes theme.css's display:flex header that squeezed tag/title/paragraph into 3 columns) */
.roll-header { display:block; max-width:680px; }
.roll-tag { display:inline-flex; align-items:center; gap:8px; padding:7px 12px; border-radius:999px; font:600 12px/1 var(--body); letter-spacing:0; text-transform:none; color:var(--c2); background:rgba(79,195,247,.1); border:1px solid rgba(79,195,247,.25); }
.roll-title { margin:16px 0 10px; }
.roll-header p { color:var(--text-2); font-size:17px; }
.roll-pot, .roll-table-container, .roll-rounds, .roll-verify { background:var(--glass); border-radius:22px; backdrop-filter:blur(10px); }
.roll-pot { text-align:left; }
.roll-pot > span { font:600 13px/1 var(--body); color:var(--muted); }
.roll-pot-amount { font:800 38px/1.05 var(--display); background:linear-gradient(90deg,var(--c2),var(--c1)); -webkit-background-clip:text; background-clip:text; color:transparent; margin:12px 0 8px; }
.roll-pot > p { font:500 13px/1.4 var(--body); color:var(--muted); }
.roll-table th { font:600 11px/1 var(--body); letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
.roll-table td { font:500 13px/1 var(--body); color:var(--text-2); border-bottom:1px solid rgba(255,255,255,.04); vertical-align:middle; }
.roll-table tbody tr { transition:background .15s; }
.roll-table tbody tr:hover { background:rgba(79,195,247,.05); }
.wav { display:inline-block; width:24px; height:24px; margin-right:10px; vertical-align:middle; border-radius:50%; background:conic-gradient(hsl(var(--h) 75% 62%),hsl(calc(var(--h) + 70) 75% 52%),hsl(var(--h) 75% 62%)); box-shadow:0 0 0 2px rgba(255,255,255,.06); }
.loy { display:inline-block; width:58px; height:6px; margin-right:8px; vertical-align:middle; border-radius:6px; overflow:hidden; background:rgba(255,255,255,.08); }
.loy i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--c3),var(--c1)); }
.roll-table td.pend { color:var(--text); font-family:var(--mono); }
.sp { display:inline-block; padding:5px 10px; border-radius:999px; font:600 11px/1 var(--body); text-transform:capitalize; }
.sp-diamond { color:var(--c2); background:rgba(191,232,255,.12); }
.sp-steady { color:var(--c1); background:rgba(79,195,247,.12); }
.sp-flipper { color:#ff9b9b; background:rgba(255,107,107,.12); }
.roll-rounds h3, .roll-verify summary { font:700 18px/1.1 var(--display); }
.roll-legend { font:400 12px/1.5 var(--body); color:var(--muted); }

/* the tape */
.tps { gap:14px; max-width:none; }
.tp, .tp.odds { padding:20px 20px 20px 76px; border-radius:20px; background:var(--glass); border:1px solid var(--line); font-family:var(--body); }
.tp .ic { position:absolute; left:20px; top:20px; width:40px; height:40px; padding:9px; border-radius:13px; color:var(--c1); background:rgba(79,195,247,.12); }
.tp span { font:500 12px/1.2 var(--body); letter-spacing:0; text-transform:none; color:var(--muted); }
.tp b { margin:6px 0 4px; font:700 26px/1.1 var(--display); color:#fff; }
.tp small { display:block; font:400 12px/1.4 var(--body); letter-spacing:0; text-transform:none; color:var(--muted); }
.tp-src { font:400 12px/1.4 var(--body); color:var(--muted); }

/* launch now */
.launch-cta { position:relative; overflow:hidden; text-align:center; padding:clamp(40px,7vh,72px) 24px; border-radius:32px; border:1px solid rgba(79,195,247,.24);
  background:linear-gradient(180deg,rgba(9,13,20,.25),rgba(9,13,20,.85)),url(/art/scene/cta.jpg) center / cover no-repeat; }
.launch-mark { display:block; width:96px; height:96px; margin:0 auto 20px; border-radius:26px; box-shadow:0 0 54px rgba(79,195,247,.55); }
.launch-cta .eyebrow { justify-content:center; }
.launch-cta .lead { margin:12px auto 28px; }
.launch-cta .cta { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }

/* studio page backdrop */

@media (max-width:860px) {
  .roll-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .how, .strats, .tps { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:520px) {
  .roll-stats { grid-template-columns:minmax(0,1fr); }
  .cta-main, .cta-ghost { width:100%; justify-content:center; }
  .title.huge { font-size:40px; }
}

/* ===================================================================================================================
   v5 (02/11): usewoop-style interactions (spinning iridescent rim on the selected choice, press-down, arrow chip),
   floatlaunch-style coin cards / search / sort / tabs / dock, the cut-out logo, and the earnings calculator.
   =================================================================================================================== */
@property --rim { syntax:'<angle>'; inherits:false; initial-value:0deg; }
@keyframes rim-spin { to { --rim:360deg; } }

/* the logo is a cut-out drop now: no square behind it */
.brand .mark { border-radius:0; background-size:contain; background-repeat:no-repeat; filter:drop-shadow(0 0 10px rgba(79,195,247,.35)); }
.launch-mark { border-radius:0; box-shadow:none; filter:drop-shadow(0 0 34px rgba(79,195,247,.6)); }

/* buttons: press down, arrow chip, rim on hover */
.cta-main, .cta-ghost, .btn, .roll-button, .chip, .proof-chip, .fsort button, .dock a { transition:transform .15s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease; }
.cta-main:active, .cta-ghost:active, .btn:active, .roll-button:active, .chip:active, .fsort button:active, .dock a:active, .fc:active { transform:scale(.96); transition-duration:.08s; }
.cta-main { position:relative; isolation:isolate; padding-right:8px; }
.cta-arr { display:grid; place-items:center; width:38px; height:38px; margin-left:6px; border-radius:50%; background:var(--ink); color:#fff; transition:transform .2s ease; }
.cta-arr .ic { width:18px; height:18px; }
.cta-main:hover .cta-arr { transform:translateX(3px); }
.cta-main::before, .cta-ghost::before { content:""; position:absolute; inset:-2px; border-radius:inherit; padding:2px; pointer-events:none; opacity:0; transition:opacity .25s ease;
  background:conic-gradient(from var(--rim),#4fc3f7,#6d7cff,#b38cff,#2dd4bf,#bfe8ff,#4fc3f7);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; animation:rim-spin 3s linear infinite; }
.cta-ghost { position:relative; isolation:isolate; }
.cta-main:hover::before, .cta-ghost:hover::before, .cta-main:focus-visible::before, .cta-ghost:focus-visible::before { opacity:1; }
.cta-main.sm { height:44px; font-size:14px; padding-left:16px; margin-top:16px; }
.cta-main.sm .cta-arr { width:32px; height:32px; }

/* floatlaunch-style board: search + sort, tabs, coin cards */
.fbar { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:26px 0 14px; }
.fsearch { flex:1 1 280px; display:flex; align-items:center; gap:10px; height:48px; padding:0 16px; border-radius:999px; background:rgba(9,13,20,.6); border:1px solid var(--line-2); color:var(--muted); }
.fsearch:focus-within { border-color:var(--c1); box-shadow:0 0 0 3px rgba(79,195,247,.15); }
.fsearch input { flex:1; height:100%; border:0; background:none; outline:none; color:var(--text); font:500 14px/1 var(--body); }
.fsort { display:inline-flex; padding:4px; gap:2px; border-radius:999px; background:rgba(9,13,20,.6); border:1px solid var(--line-2); }
.fsort button { height:38px; padding:0 16px; border:0; border-radius:999px; background:none; color:var(--muted); font:600 13px/1 var(--body); cursor:pointer; }
.fsort button.on { color:var(--ink); background:linear-gradient(135deg,var(--c1),var(--c3)); }
.p-live .tools { display:flex; gap:22px; border-bottom:1px solid var(--line); margin:0 0 18px; }
.p-live .tools .chip { position:relative; padding:0 0 12px; border:0; border-radius:0; background:none; color:var(--muted); font:600 14px/1 var(--body); }
.p-live .tools .chip.on { color:var(--text); background:none; }
.p-live .tools .chip.on::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; border-radius:2px; background:linear-gradient(90deg,var(--c1),var(--c3)); }
#lgrid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.fc { position:relative; overflow:hidden; min-height:178px; padding:20px; border-radius:20px; background:var(--glass); border:1px solid var(--line); cursor:pointer; display:flex; flex-direction:column; align-items:flex-start; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.fc:hover { transform:translateY(-3px); border-color:rgba(79,195,247,.35); box-shadow:0 20px 40px -24px rgba(79,195,247,.5); }
.fc-bg { position:absolute; right:-36px; top:50%; width:170px; height:170px; transform:translateY(-50%); border-radius:50%; overflow:hidden; opacity:.16; pointer-events:none; }
.fc-bg img { width:100%; height:100%; object-fit:cover; filter:saturate(.8); }
.fc-av { position:relative; width:46px; height:46px; margin-bottom:14px; }
.fc-av img:not(.fc-badge) { width:46px; height:46px; border-radius:50%; object-fit:cover; box-shadow:0 6px 16px rgba(0,0,0,.45); }
.fc-av.new { display:grid; place-items:center; border-radius:14px; color:var(--c1); background:rgba(79,195,247,.12); box-shadow:inset 0 0 0 1px rgba(79,195,247,.3); }
.fc-av.new .ic { width:24px; height:24px; }
.fc-badge { position:absolute; right:-5px; bottom:-5px; width:20px; height:20px; border-radius:50%; object-fit:cover; background:#fff; border:2px solid #121a28; }
.fc-sym { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font:700 12px/1 var(--mono); letter-spacing:.04em; color:var(--muted); }
.fc-sym .nt { color:var(--c2); }
.fc-ext { font:600 10px/1 var(--body); font-style:normal; letter-spacing:0; padding:4px 7px; border-radius:999px; color:var(--c2); background:rgba(191,232,255,.1); }
.fc-mc { margin:6px 0 8px; font:800 28px/1.05 var(--display); letter-spacing:-.02em; color:#fff; }
.fc-pair { display:inline-flex; align-items:center; gap:6px; font:500 12px/1 var(--body); color:var(--muted); }
.fc-pair img { width:16px; height:16px; border-radius:50%; object-fit:cover; background:#fff; }
.fc-st { position:absolute; right:16px; bottom:16px; padding:5px 10px; border-radius:999px; font:600 11px/1 var(--body); color:var(--c2); background:rgba(79,195,247,.14); border:1px solid rgba(79,195,247,.3); }
.fc-bar { position:absolute; left:0; bottom:0; height:3px; width:var(--p,0%); background:linear-gradient(90deg,var(--c3),var(--c1)); }
.fc.example-card { cursor:default; border-style:dashed; border-color:rgba(79,195,247,.3); }
.fc[hidden] { display:none; }
.cimg.ex { position:relative; width:140px; height:140px; margin:0 0 18px; }
.cimg.ex img:first-child { width:140px; height:140px; border-radius:50%; object-fit:cover; box-shadow:0 20px 50px -10px rgba(79,195,247,.45); }
.cimg.ex .fc-badge { width:36px; height:36px; right:0; bottom:4px; border-width:3px; }

/* earnings calculator (How it works) */
.earn { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); margin-top:18px; border-radius:24px; overflow:hidden; border:1px solid rgba(79,195,247,.22); background:var(--glass); }
.earn-l { padding:26px; }
.earn-l h3 { margin:0 0 18px; font:700 22px/1.1 var(--display); }
.earn-row { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin:0 0 12px; font:500 14px/1 var(--body); color:var(--muted); }
.earn-row b { font:700 16px/1 var(--mono); color:var(--c2); }
.earn input[type=range] { width:100%; accent-color:var(--c1); margin:4px 0 6px; }
.earn .sq-switch { position:relative; display:flex; align-items:center; gap:12px; margin-top:12px; cursor:pointer; font:500 13px/1 var(--body); color:var(--text-2); }
.earn .sq-switch input { position:absolute; opacity:0; width:1px; height:1px; }
.earn .sq-switch i { position:relative; flex:none; width:40px; height:22px; border-radius:22px; background:rgba(255,255,255,.12); transition:background .2s; }
.earn .sq-switch i::after { content:""; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:#fff; transition:transform .2s; }
.earn .sq-switch input:checked + i { background:var(--c1); }
.earn .sq-switch input:checked + i::after { transform:translateX(18px); }
.earn-r { display:flex; flex-direction:column; justify-content:center; padding:26px; background:radial-gradient(120% 120% at 100% 0%,rgba(79,195,247,.22),rgba(109,124,255,.10) 50%,transparent 80%); border-left:1px solid var(--line); }
.earn-r small { font:500 13px/1 var(--body); color:var(--muted); }
.earn-r b { margin:8px 0 4px; font:800 clamp(38px,4vw,54px)/1 var(--display); letter-spacing:-.03em; background:linear-gradient(90deg,var(--c2),var(--c1)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.earn-r span { font:500 14px/1.3 var(--body); color:var(--text-2); }
.earn-r em { margin-top:6px; font:600 14px/1.3 var(--body); font-style:normal; color:var(--c4); }
.earn-r p { margin:16px 0 0; font:400 11px/1.5 var(--body); color:var(--muted); }

/* strategy icons: the 3D renders, floating */
.st-ic { width:64px; height:64px; background:none !important; margin-bottom:10px; }
.st-ic img { width:64px; height:64px; object-fit:contain; filter:drop-shadow(0 8px 18px rgba(0,0,0,.5)); transition:transform .3s ease; }
.strat:hover .st-ic img { transform:translateY(-3px) rotate(-4deg) scale(1.06); }

/* floating dock (floatlaunch), phones only */
.dock { display:none; }
@media (max-width:760px) {
  .dock { position:fixed; left:50%; bottom:14px; z-index:65; display:flex; gap:4px; padding:6px; transform:translateX(-50%); border-radius:20px; background:rgba(12,17,27,.82); border:1px solid rgba(79,195,247,.2); backdrop-filter:blur(16px); box-shadow:0 18px 40px -16px rgba(0,0,0,.8); }
  .dock a { display:grid; place-items:center; width:50px; height:44px; border-radius:14px; color:var(--muted); }
  .dock a svg { width:21px; height:21px; }
  .dock a:hover { color:var(--text); background:rgba(255,255,255,.05); }
  .dock .dock-go { color:var(--ink); background:linear-gradient(135deg,var(--c1),var(--c3)); }
  body { padding-bottom:76px; }
  #lgrid { grid-template-columns:minmax(0,1fr); }
  .earn { grid-template-columns:minmax(0,1fr); }
  .earn-r { border-left:0; border-top:1px solid var(--line); }
}
@media (min-width:761px) and (max-width:1020px) { #lgrid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (prefers-reduced-motion:reduce) { .cta-main::before, .cta-ghost::before, .sq-venue::before, .sq-pill::before, .sq-q::before { animation:none; } }

/* ===================================================================================================================
   v6 (03/11): no vibe-coding chrome. No glow under buttons, cards, the logo or titles; no blinking dots; no numbered
   eyebrows or rail; no ticker, HUD, radar or cursor glow; no mainnet / SOL / sound / DEMO in the header; no CSS rain.
   The hero, the Studio and the last panel sit on pixel-dithered paintings (art/scene/hero*, studio, cta).
   =================================================================================================================== */
.top .right .pill, #soundBtn, .ticker, .hud, .radar, .rail, .glow, .progress, .rain, .eyebrow .no, .live-dot::before { display:none !important; }
.btn.primary, .top #launchTop, .cta-main, .cta-main:hover, .roll-button, .hero-roll .roll-button, .roll-pot .roll-button, .fc:hover,
.cimg.ex img:first-child, .launch-cta, .launch-mark, .fsort button.on, .dock .dock-go { box-shadow:none !important; }
.hc-ic { box-shadow:inset 0 0 0 1px rgba(79,195,247,.3) !important; }
.brand .mark, .launch-mark, .cl-price, .cl-handle, .st-ic img, .title, .title .ln, .title .ln.grad { filter:none !important; }
.title, .title *, .sfx, .k-row b { text-shadow:none !important; }
.live-dot { gap:0; }

/* hero: the painting, darkened on the left for the headline; no streak layers, no animation */
/* sized to the width, anchored at the top, faded into the page at the bottom of the hero: the whole painting reads */
#top .panel { animation:none !important;
  background:linear-gradient(90deg,rgba(9,13,20,.90) 0%,rgba(9,13,20,.72) 34%,rgba(9,13,20,.22) 62%,rgba(9,13,20,.10) 100%) 0 0 / 100% 100% no-repeat,
    linear-gradient(180deg,rgba(9,13,20,0) 50%,rgba(9,13,20,.6) 80%,var(--bg) 100%) 0 0 / 100% 100% no-repeat,
    url(/art/scene/hero.jpg) center top / 100% auto no-repeat,
    var(--bg) !important; }
@media (max-aspect-ratio:4/5) {
  #top .panel { background:linear-gradient(180deg,rgba(9,13,20,.55) 0%,rgba(9,13,20,.86) 45%,var(--bg) 100%),url(/art/scene/hero-portrait.jpg) center top / cover no-repeat !important; background-size:auto,cover !important; }
}
/* the Studio: the painting spans the whole width (no side gaps on wide screens) and fades into the page */
body.page-studio { background:linear-gradient(180deg,rgba(9,13,20,.22) 0,rgba(9,13,20,.70) 320px,var(--bg) 660px),url(/art/scene/studio.jpg) top center / max(100%,1600px) auto no-repeat,var(--bg); }
.launch-cta { background:linear-gradient(180deg,rgba(9,13,20,.30),rgba(9,13,20,.86)),url(/art/scene/cta.jpg) center / cover no-repeat; }

/* ===================================================================================================================
   v7 (03/11): glass buttons that never grow or move on hover; the brand word in white; How it works + X in the header;
   a smaller hero whose right card holds the chart directly (no card inside the card); stats + coins in one Explore block.
   =================================================================================================================== */
.brand .word { color:#fff !important; -webkit-text-fill-color:#fff; background:none !important; }

/* glass: translucent fill, hairline light border, a lit top edge; hover only brightens */
.cta-main, .top #launchTop, .btn.primary, .roll-button, .hero-roll .roll-button, .roll-pot .roll-button, .dock .dock-go {
  color:#06101d !important; font-weight:700; border:1px solid rgba(255,255,255,.42) !important;
  background:linear-gradient(180deg,#86d6ff 0%,#5fb0ff 52%,#5d82ff 100%) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -8px 14px -8px rgba(30,50,140,.45) !important;
  -webkit-backdrop-filter:blur(14px) saturate(1.4); backdrop-filter:blur(14px) saturate(1.4); }
.cta-main:hover, .top #launchTop:hover, .btn.primary:hover, .roll-button:hover:not(:disabled), .dock .dock-go:hover {
  background:linear-gradient(180deg,#99ddff 0%,#70baff 52%,#6c8eff 100%) !important; border-color:rgba(255,255,255,.6) !important; }
.hbtn, .cta-ghost, .btn.ghost {
  color:var(--text); border:1px solid rgba(255,255,255,.14) !important; background:rgba(255,255,255,.06) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12) !important; -webkit-backdrop-filter:blur(14px) saturate(1.3); backdrop-filter:blur(14px) saturate(1.3); }
.hbtn:hover, .cta-ghost:hover, .btn.ghost:hover { background:rgba(255,255,255,.11) !important; border-color:rgba(255,255,255,.26) !important; }
.btn:hover, .cta-main:hover, .cta-ghost:hover, .cta-main:hover .cta-arr, .top #launchTop:hover, .hbtn:hover, .roll-button:hover, .fc:hover, .dock a:hover { transform:none !important; }
.cta-main::before, .cta-ghost::before { display:none !important; }
.cta-arr { background:#0b1220 !important; color:#fff !important; }
.roll-button:disabled { opacity:.5; }
.fsort button.on { color:#fff !important; background:rgba(255,255,255,.12) !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.18) !important; }
.fc:hover { box-shadow:none !important; }

/* header: How it works (popover) + X */
.top .right { display:flex; align-items:center; gap:10px; }
.hbtn { display:inline-flex; align-items:center; justify-content:center; gap:8px; height:44px; padding:0 16px; border-radius:12px; font:600 14px/1 var(--body); text-decoration:none; cursor:pointer; }
.hx { width:44px; padding:0; }
.hx svg { width:16px; height:16px; }
.top #launchTop { border-radius:12px; }
.hiw { position:fixed; inset:auto; top:74px; right:24px; margin:0; width:min(380px,calc(100vw - 32px)); padding:18px 20px 16px; border-radius:18px; color:var(--text);
  background:rgba(13,18,28,.92); border:1px solid rgba(255,255,255,.12); -webkit-backdrop-filter:blur(22px); backdrop-filter:blur(22px); box-shadow:0 30px 70px -30px rgba(0,0,0,.9); }
.hiw::backdrop { background:transparent; }
.hiw-h { display:flex; align-items:center; justify-content:space-between; margin:0 0 12px; font:700 16px/1 var(--display); }
.hiw-h button { width:30px; height:30px; border:0; border-radius:9px; background:rgba(255,255,255,.06); color:var(--muted); font:400 20px/1 var(--body); cursor:pointer; }
.hiw ul { list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.hiw li { display:grid; grid-template-columns:22px minmax(0,1fr); gap:12px; align-items:start; }
.hiw li svg { width:20px; height:20px; color:var(--c1); margin-top:1px; }
.hiw li div > b { display:block; font:600 14px/1.2 var(--body); color:#fff; }
.hiw li span { display:block; margin-top:3px; font:400 13px/1.45 var(--body); color:var(--text-2); }
.hiw-f { display:flex; justify-content:space-between; align-items:center; gap:10px; margin:14px 0 0; padding-top:12px; border-top:1px solid rgba(255,255,255,.08); font:500 12px/1.3 var(--body); color:var(--muted); }
.hiw-f a { color:var(--c2); text-decoration:none; font-weight:600; white-space:nowrap; }
@media (max-width:760px) { .hiw-btn { display:none; } .hiw { top:66px; right:16px; } }

/* hero: smaller headline, smaller right card, chart drawn straight on the card */
.title.huge { font-size:clamp(36px,4.1vw,62px) !important; letter-spacing:-.03em; }
.hero-head .tag { font-size:16px; max-width:46ch; margin-top:16px; }
.hero-act { margin-top:26px; }
@media (min-width:901px) { .hero-grid.has-book { grid-template-columns:minmax(0,1fr) minmax(300px,430px); align-items:center; gap:clamp(32px,5vw,80px); } }
#top .pc-in { padding-top:0 !important; }
#top .hero-grid { margin:0 !important; padding:0 !important; min-height:0 !important; }
section.hero-roll, #top .hero-roll { margin-top:0 !important; padding:20px 22px 22px !important; border-radius:22px; }
.curve-lab { background:none !important; border:0 !important; border-radius:0 !important; padding:0 !important; margin:0 0 14px !important; box-shadow:none !important; }
.cl-head { margin-bottom:8px; }
.cl-readout { margin-top:10px; }
.cl-readout b { font-size:13px !important; white-space:nowrap; }
.pot-body { padding-top:14px; border-top:1px solid var(--line); }
.hero-roll .roll-button { margin:14px 0 0; height:44px; }
.roll-rows > div { padding:9px 0; }
.storm-radar { margin-top:18px; padding:12px 14px; }
.p-hero .pc { padding-top:clamp(36px,5vh,64px) !important; padding-bottom:clamp(28px,4vh,48px) !important; }

/* Explore: one block = title + stream stats + search/sort + tabs + coins */
.p-live .pc { padding-top:20px !important; }
.xb { padding:clamp(20px,2.4vw,30px); border-radius:26px; background:var(--glass); border:1px solid var(--line); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); }
.xb-head { display:flex; align-items:center; justify-content:space-between; gap:18px 28px; flex-wrap:wrap; }
.xb-title { margin:0; font:700 clamp(26px,2.6vw,36px)/1.05 var(--display); letter-spacing:-.025em; }
.roll-stats.xb-stats { display:flex; flex-wrap:wrap; gap:0; margin:0; }
.roll-stats.xb-stats > div, .roll-stats.xb-stats > div:last-child { padding:2px 22px; border:0; border-left:1px solid var(--line); border-radius:0; background:none; backdrop-filter:none; }
.roll-stats.xb-stats > div:first-child { border-left:0; padding-left:0; }
.roll-stats.xb-stats .ic { display:none; }
.roll-stats.xb-stats small { font-size:12px; }
.roll-stats.xb-stats b { margin-top:4px; font-size:18px; }
.xb .fbar { margin:20px 0 10px; }
.xb-note { margin:14px 0 0; font:400 12px/1.4 var(--body); color:var(--muted); }
@media (max-width:760px) {
  .roll-stats.xb-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 0; width:100%; }
  .roll-stats.xb-stats > div, .roll-stats.xb-stats > div:last-child { padding:0 12px; }
  .roll-stats.xb-stats > div:nth-child(odd) { border-left:0; padding-left:0; }
}

/* ===================================================================================================================
   v8 (03/11): a brighter primary (above), the logo stays still, the coin search in the header, the fee line in How it works.
   =================================================================================================================== */
.brand .mark, .brand:hover .mark { transform:none !important; transition:none !important; }
.hsearch { position:relative; flex:1 1 auto; max-width:440px; margin:0 24px; }
.hsearch label { display:flex; align-items:center; gap:10px; height:42px; padding:0 14px; border-radius:12px; color:var(--muted);
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); box-shadow:inset 0 1px 0 rgba(255,255,255,.06); }
.hsearch label:focus-within { border-color:rgba(127,211,255,.6); background:rgba(255,255,255,.08); color:var(--c2); }
.hsearch svg { width:16px; height:16px; flex:none; }
.hsearch input { flex:1; min-width:0; height:100%; padding:0; border:0; background:none; outline:none; color:var(--text); font:500 14px/1 var(--body); }
.hsearch input::-webkit-search-cancel-button { filter:invert(.6); }
.hs-res { position:absolute; top:calc(100% + 8px); left:0; right:0; z-index:90; padding:6px; border-radius:14px; background:rgba(13,18,28,.97);
  border:1px solid rgba(255,255,255,.12); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); box-shadow:0 24px 60px -24px rgba(0,0,0,.9); }
.hs-hit { display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:10px; color:var(--text); text-decoration:none; }
.hs-hit:hover, .hs-hit:focus-visible { background:rgba(255,255,255,.06); outline:none; }
.hs-hit img { width:30px; height:30px; border-radius:50%; object-fit:cover; flex:none; }
.hs-hit span { flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.hs-hit b { font:700 13px/1 var(--mono); }
.hs-hit small { font:500 11px/1 var(--body); color:var(--muted); }
.hs-hit em { font:700 13px/1 var(--display); font-style:normal; color:var(--c2); }
.hs-none { margin:0; padding:10px; font:500 13px/1.4 var(--body); color:var(--muted); }
@media (max-width:1180px) { .hsearch { max-width:300px; margin:0 14px; } }
@media (max-width:980px) { .hsearch { display:none; } }
.how-fee { display:flex; align-items:center; gap:10px; margin:16px 0 0; font:500 14px/1.4 var(--body); color:var(--text-2); }
.how-fee .ic { width:18px; height:18px; color:var(--c1); }
.how-fee b { color:#fff; }

/* v10 (03/11): coin page — "Recent trades | Holders" tabs in the tape panel */
.tp-tabs { display:flex; align-items:baseline; gap:22px; }
.tp-tabs button { padding:0; border:0; background:none; cursor:pointer; font:400 24px/1 var(--display); text-transform:uppercase; color:var(--muted); }
.tp-tabs button:hover { color:var(--text-2, #c8d3e4); }
.tp-tabs button.on { color:var(--text); }
.tp-tabs button span { margin-left:7px; font:500 12px/1 var(--mono); color:var(--muted); }
.tm-tape-h small[hidden], [data-pane-box][hidden] { display:none; }
.hd-sum { margin:0; padding:2px 16px 10px; font:500 12.5px/1.5 var(--body); color:var(--muted); }
.hd-sum b { color:var(--text); font-weight:700; }
.hd-head, .hd-row { display:grid; grid-template-columns:34px minmax(0,1.7fr) minmax(0,.8fr) minmax(0,.9fr) 132px; gap:10px; align-items:center; padding:0 16px; }
.hd-head { height:28px; border-bottom:1px solid var(--line); font:700 10px/1 var(--mono); letter-spacing:.14em; text-transform:uppercase; color:var(--dim, var(--muted)); }
.hd-head span:nth-child(n+3), .hd-row > span:nth-child(n+3) { text-align:right; }
.hd-row { min-height:36px; border-bottom:1px solid rgba(173,208,255,.05); font:500 12.5px/1.2 var(--mono); color:var(--soft, #c8d3e4); }
.hd-n { color:var(--muted); }
.hd-h { display:flex; align-items:center; flex-wrap:wrap; gap:4px 6px; min-width:0; }
.hd-w { color:var(--text); text-decoration:none; }
.hd-w:hover { text-decoration:underline; }
.hd-c { padding:3px 6px; border-radius:5px; font:700 9.5px/1 var(--mono); font-style:normal; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); background:rgba(255,255,255,.06); }
.hd-c.pool { color:var(--c1, var(--acc)); background:rgba(79,195,247,.10); }
.hd-c.warn { color:#f2b45a; background:rgba(242,180,90,.10); }
.hd-row.pool .hd-w { color:var(--muted); }
.hd-p { position:relative; display:flex; justify-content:flex-end; align-items:center; height:20px; }
.hd-p i { position:absolute; right:0; top:3px; bottom:3px; border-radius:3px; background:rgba(79,195,247,.14); }
.hd-p b { position:relative; padding-right:6px; font-weight:600; color:var(--text); }
@media (max-width:900px) {
  .tp-tabs { gap:16px; } .tp-tabs button { font-size:20px; }
  .hd-head, .hd-row { grid-template-columns:28px minmax(0,1.6fr) minmax(0,.9fr) 96px; gap:6px; padding:0 12px; }
  .hd-head span:nth-child(4), .hd-row > span:nth-child(4) { display:none; }
  .hd-sum { padding:2px 12px 10px; }
}
.tp-tabs button { white-space:nowrap; }
@media (max-width:640px) { .tp-tabs { gap:14px; } .tp-tabs button { font-size:17px; } .tp-tabs button span { margin-left:5px; font-size:11px; } .tm-tape-h small { display:none; } }
.hiw li span b.sfx { font-weight:700; color:#fff; }

/* mainnet (03/11): the wallet button is back in the header, styled like its neighbours; phones connect from the Studio */
.top #walletBtn { display:inline-flex; }
.top #walletBtn.wallet-addr { font-family:var(--mono, monospace); }

/* 03/11 phones keep the wallet button, compact */
@media(max-width:760px) { .top #walletBtn { padding:7px 10px; font-size:12px; white-space:nowrap; } }
/* 03/11 the hero curve card: the real curve, every coin launched here as a dot, the connected holder's coins larger */
.hc .hc-dot circle { fill:#bfe8ff; stroke:#06101d; stroke-width:2; transition:fill .15s; }
.hc .hc-dot text { font:600 11px/1 var(--mono, monospace); fill:#dbeeff; paint-order:stroke; stroke:#06101d; stroke-width:3px; }
.hc .hc-dot.mine circle { fill:#4fc3f7; stroke:#fff; }
.hc .hc-dot.mine text { fill:#fff; }
.hc .hc-dot:hover circle { fill:#fff; }
.hc .hc-note { margin:10px 2px 0; font:500 12px/1.45 var(--body); color:rgba(219,238,255,.72); }

/* 03/11 the profile page (/profile): creator fees to claim, bags */
.prof { min-height:100vh; padding:110px 24px 90px; background:radial-gradient(1200px 600px at 70% -10%, rgba(79,195,247,.10), transparent 60%), #070b14; }
.prof-in { max-width:920px; margin:0 auto; display:flex; flex-direction:column; gap:18px; }
.prof .back { color:#86d6ff; font:600 13px/1 var(--body); text-decoration:none; }
.prof-t { font:700 44px/1.05 var(--display); margin:4px 0 2px; color:#fff; }
.prof-w { display:flex; flex-wrap:wrap; align-items:center; gap:10px; color:#dbeeff; font:500 14px/1.5 var(--body); }
.prof-addr { font:600 13px/1.4 var(--mono, monospace); color:#bfe8ff; word-break:break-all; padding:8px 12px; border-radius:10px; background:rgba(255,255,255,.05); border:1px solid rgba(191,232,255,.16); }
.prof-card { border-radius:18px; border:1px solid rgba(191,232,255,.16); background:rgba(10,18,32,.72); backdrop-filter:blur(12px); padding:18px 18px 8px; }
.prof-h h2 { margin:0; font:700 18px/1.2 var(--display); color:#fff; } .prof-h small { display:block; margin-top:4px; color:rgba(219,238,255,.66); font:500 12px/1.45 var(--body); }
.prof-total { margin:14px 0 4px; color:#dbeeff; font:500 14px/1.4 var(--body); } .prof-total b { color:#fff; }
.prof-row { display:grid; grid-template-columns:42px minmax(0,1fr) auto auto; align-items:center; gap:12px; padding:12px 0; border-top:1px solid rgba(191,232,255,.10); }
.prof-row:first-of-type { border-top:0; }
.prof-row img { width:42px; height:42px; border-radius:12px; object-fit:cover; background:#0e1a2c; }
.prof-coin { text-decoration:none; color:#fff; min-width:0; } .prof-coin b { display:block; font:700 15px/1.2 var(--body); } .prof-coin small { display:block; color:rgba(219,238,255,.62); font:500 12px/1.4 var(--body); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.prof-fee { text-align:right; } .prof-fee b { display:block; color:#fff; font:700 14px/1.2 var(--mono, monospace); } .prof-fee small { color:rgba(219,238,255,.6); font:500 11px/1.3 var(--body); }
.prof-msg { grid-column:1 / -1; margin:0; font:500 12px/1.45 var(--body); color:#dbeeff; } .prof-msg.ok { color:#9ff2c8; } .prof-msg.bad { color:#ffb4b4; } .prof-msg a { color:#86d6ff; }
.prof .tm-none { padding:14px 0; color:rgba(219,238,255,.7); } .prof .tm-none a { color:#86d6ff; }
@media(max-width:640px) { .prof { padding:90px 14px 70px; } .prof-t { font-size:34px; } .prof-row { grid-template-columns:36px minmax(0,1fr) auto; } .prof-row > .btn { grid-column:1 / -1; } }
