
/* ---- 0. GLOBAL TEXT RENDERING (all themes — rendering hints only) -- */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  font-kerning:normal;
  font-optical-sizing:auto;
}

/* ---- 1. PRO DISPLAY FONT — Space Grotesk for headings & brand
        (all themes — type system is shared; colours stay per-theme) - */
html[data-theme] h1,
html[data-theme] h2,
html[data-theme] h3,
html[data-theme] body .hero-headline.hero-headline,
html[data-theme] body .section-heading.section-heading,
html[data-theme] body .section-title.section-title,
html[data-theme] body .stat-title.stat-title,
html[data-theme] body .modal-title.modal-title,
html[data-theme] body .auth-title.auth-title,
html[data-theme] body .sb-brand.sb-brand,
html[data-theme] body .mob-logo.mob-logo,
html[data-theme] body .landing-logo .logo-text,
html[data-theme] body .plan-card-h.plan-card-h,
html[data-theme] body .np-title.np-title,
html[data-theme] body .bt-symbol-block .sym-name,
html[data-theme] body .bt-guide-head .title,
html[data-theme] body .ptp-risk-title.ptp-risk-title,
html[data-theme] body .ptf-plan-summary-title.ptf-plan-summary-title,
html[data-theme] body .trader-commitment-title.trader-commitment-title{
  font-family:'Space Grotesk','Inter',-apple-system,'Segoe UI',system-ui,sans-serif !important;
  font-weight:700 !important;
  letter-spacing:-0.022em !important;
  text-shadow:none !important;
  text-wrap:balance;
}
html[data-theme] body .hero-headline.hero-headline{
  letter-spacing:-0.03em !important;
}
/* small uppercase display labels keep their tracking, just the pro face */
html[data-theme] body .ptp-risk-title.ptp-risk-title,
html[data-theme] body .ptf-plan-summary-title.ptf-plan-summary-title,
html[data-theme] body .trader-commitment-title.trader-commitment-title,
html[data-theme] body .mob-logo.mob-logo{
  letter-spacing:.06em !important;
}

/* ---- 2. CRISP NUMERALS — kill glow blur, tighten tracking --------- */
html[data-theme] body .hero-stat .val,
html[data-theme] body .stat-card .val{
  text-shadow:none !important;
  letter-spacing:-0.015em !important;
}
html[data-theme="mrkt"] body .pnl-pos.pnl-pos,
html[data-theme="mrkt"] body .grade-A.grade-A,
html[data-theme="mrkt"] body .badge-green.badge-green,
html[data-theme="mrkt"] body .pnl-neg.pnl-neg,
html[data-theme="mrkt"] body .grade-D.grade-D,
html[data-theme="mrkt"] body .badge-red.badge-red{
  text-shadow:none !important;
}

/* ---- 3. BODY TEXT — calm professional rhythm ---------------------- */
html[data-theme="mrkt"] body{
  font-variant-ligatures:contextual;
  letter-spacing:-0.004em;
}

/* ---- 4. SELECTION + KEYBOARD FOCUS — follow each theme's accent --- */
html[data-theme="mrkt"] ::selection{
  background:rgba(139,108,255,0.32);
  color:#FFFFFF;
}
html[data-theme] body :is(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:2px solid var(--hq-accent,#8B6CFF);
  outline-offset:2px;
}

/* ---- 5. 4K COMFORT — slightly larger base type on big panels ------ */
@media (min-width:2400px){
  html[data-theme] body{
    font-size:16px !important;
    line-height:1.6 !important;
  }
}
