/* Whodl design system, applied on top of the older page styles (live-report.css, chat.css, farm.css, coin.css).
   Loaded last on every page that is not the homepage (the homepage is lean.css, same tokens).
   One dark neutral, white and grey type, lime for actions and live marks, red/green for numbers that fall/rise.
   Linked-wallet and bundle colours stay distinct but muted. No gradients, glow, blinking or window chrome. */
:root{
  --bg:#0b0c0f;--bg-2:#0f1114;--panel:#13161b;--panel-2:#191d23;--line:#22262e;--line-2:#2f343e;
  --text:#eceef2;--muted:#9aa1ad;--faint:#666d7a;
  --green:#b9e65c;--green-hot:#c9f072;--green-ink:#0f1505;
  --pink:#c98aa8;--cyan:#8fb4c6;--amber:#c9ad7a;--red:#e5737e;
  --up:#7ad39f;--down:#e5737e;
  --glow-green:none;--glow-pink:none}

/* Flat ground. */
body::before,body::after,.hero-glow,.hero::after,.vslot-grid,.hud-dots,.blink,.neon-grid{display:none!important}
body{font-size:15.5px;line-height:1.55}
.dash-block{background:var(--bg)}

/* Type: one weight down, no gradient text, no uppercase shouting. */
h1,h2,h3{letter-spacing:-.025em}
h1,.hero h1,.chatpage h1,.progress-card h1{font-weight:700;letter-spacing:-.035em;line-height:1.04;font-size:clamp(34px,5.4vw,60px);background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--text);-webkit-text-fill-color:var(--text);text-shadow:none;text-transform:none}
.hero h1 .dim,.neon-text,.grad,.grad-pink,.grad-amber{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--muted);-webkit-text-fill-color:var(--muted);text-shadow:none;font-size:inherit;letter-spacing:inherit;margin:0}
h2,.panel h2{font-weight:700;letter-spacing:-.025em}
.kicker,.ex-k,.hud-k{color:var(--faint);font-weight:500;letter-spacing:.1em;font-size:12px}
.kicker::before{display:none}
.kicker.pink,.kicker.amber,.kicker.cyan{color:var(--faint)}
.logo{filter:none}
.logo-hot{fill:var(--green-ink)}
.brand{font-weight:700;letter-spacing:-.02em}

/* Buttons and controls. */
.btn,button,select{border-radius:8px;font-weight:600;background:transparent;box-shadow:none;transition:border-color .2s,background .2s}
.btn:hover,button:hover,select:hover{border-color:#454b57;background:var(--panel);box-shadow:none}
.btn.neon,.btn.neon:hover{background:var(--green);border-color:var(--green);color:var(--green-ink);box-shadow:none;transform:none}
.btn.ghost:hover{border-color:#454b57;box-shadow:none}
input:focus,textarea:focus,.chatform input:focus{border-color:var(--line-2);box-shadow:0 0 0 2px #b9e65c33;outline:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:var(--green)}

/* Surfaces: hairline, flat, one radius. */
.panel,.takeaway,.answer,.stat,.quick-card,.hud,.chatbox,.progress-card,.earn,.example,.claim,.admin-panel,.sig,.card,.linkmetrics>div,.toplist li,.fact,.progress-steps li,.account-progress,.progress-eta,.progress-facts,.contract,.room-reason-panel{background:var(--panel)!important;border:1px solid var(--line)!important;border-radius:12px;box-shadow:none!important}
.takeaway::before,.answer::before,.hud::before,.quick-card::before,.stat::before{display:none!important}
.stat{border-top:2px solid var(--line-2)!important}
.stat.pink,.stat.amber,.stat.cyan,.stat.red,.stat.muted{--c:var(--text)}
.stat strong{color:var(--text);font-family:var(--display);font-weight:600}
.stat.red strong,.stat.pink strong{color:var(--down)}
.quick-big,.scenarios b,.linkmetrics strong,.gauge-head strong,.flow-net,.flowrow b,.share b,.ex-n,.clock{font-family:var(--display);font-weight:600;letter-spacing:-.02em;color:var(--text);text-shadow:none;font-variant-numeric:tabular-nums}
.sell .quick-big,.scenarios b{color:var(--down)}
.ex-n.pinkish,.ex-n.big-n{color:var(--text);text-shadow:none}
.quick-card.sell{border-color:var(--line)!important}
.sig.good,.sig.bad,.sig.watch{border-color:var(--line)!important}
.warning{border-color:var(--line-2);background:var(--panel-2);color:var(--muted)}
.chatbar,.hud-bar{font-weight:500;letter-spacing:.08em;color:var(--faint)}
.chatform{background:var(--bg-2)}
.bubble.me{background:var(--panel-2);border-color:var(--line-2)}
.bubble a{color:var(--text)}
.bubble.pending::before{background:var(--green);box-shadow:none}
.pill{font-weight:600;letter-spacing:.08em;color:var(--muted)!important;border-color:var(--line-2)!important;box-shadow:none!important}
.pill::before{box-shadow:none}
.pill[data-tone=accumulation_in_sample]{color:var(--green)!important;border-color:#b9e65c55!important}
.pill[data-tone=distribution_in_sample]{color:var(--down)!important;border-color:#e5737e55!important}
.src,.src.x,.tag{border-color:var(--line-2);color:var(--muted);background:transparent;font-weight:600}
.tag-smart{color:var(--green);border-color:#b9e65c55}
.tag-dev,.tag-linked{color:var(--pink);border-color:#c98aa855}
.tag-sniper{color:var(--down);border-color:#e5737e55}
.tag-fresh{color:var(--cyan);border-color:#8fb4c655}
.tag-all-in{color:var(--amber);border-color:#c9ad7a55}
.who a,.contract a{color:var(--text)}
.rank{font-weight:500}
.hud-chan,.days li.now{border-color:var(--line-2);color:var(--text);box-shadow:none}
.days li.done{background:transparent;border-color:#b9e65c55;color:var(--green)}
.ex-steps li:last-child{border-color:var(--line-2);background:var(--panel-2)}
.progress-steps .active .progress-dot{box-shadow:none}
.progress-eta{border-color:var(--line)!important}
.progress-eta strong{color:var(--text)}
.account-progress strong{color:var(--text)}
.account-progress progress,.account-progress progress::-webkit-progress-bar{background:var(--line-2)}

/* Gauges: a neutral track with a marked position, instead of a rainbow. */
.gauge,.gauge.room-gauge,.gauge.hype-gauge{height:6px;background:var(--line-2)}
.gauge i{width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid var(--text);background:var(--bg);box-shadow:none}
.gauge-head strong{color:var(--text)}
.flowbar{height:8px;border:0;background:var(--line-2)}
.flowbar i{background:var(--up);box-shadow:none}
.flowrow.out .flowbar i{background:var(--down);box-shadow:none}

/* Bubble map: flat ground, muted links. */
.bubblemap{background:var(--bg-2);box-shadow:none}
.bubblemap circle{stroke:var(--bg)}
.bubblemap a:hover circle{filter:brightness(1.15)}
.bubblemap line{stroke:#3a404a}
.bubblemap text{fill:var(--bg)}

/* Motion: no blinking, no glow pulses; keep transitions short. */
.blink,.pill::before,.bubble.pending::before,.progress-dot{animation:none!important}
*{transition-duration:.2s}

@media (max-width:640px){
  h1,.hero h1,.chatpage h1,.progress-card h1{font-size:clamp(30px,8.6vw,36px)}
}

/* Farm big numbers: white, display face. */
.big,.earn.pink .big{color:var(--text);font-family:var(--display);font-weight:700;letter-spacing:-.04em}
.ca-card{border-color:var(--line-2)!important}

/* Chat empty state: example asks instead of a greeting bubble. */
.starter{align-self:center;justify-self:center;max-width:520px;text-align:center;padding:12px 0}
.starter p{margin:0 0 14px;color:var(--muted);font-size:14px}
.starter ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.starter button{font:500 13px var(--display);color:var(--text);background:var(--panel-2);border:1px solid var(--line-2);border-radius:999px;padding:8px 14px;cursor:pointer}
.starter button:hover{border-color:var(--green)}
.chatlog:has(.starter){align-content:center}
