/* ─── CryptoScanRobot design tokens + typography normalization (Jul 2026) ───
   One type scale, one font stack, one card standard. Overrides below consolidate
   the historic inline-style sprawl without touching markup structure. */
:root{
    --fs-xs:11px;      /* labels/meta */
    --fs-sm:12.5px;    /* secondary */
    --fs-base:14px;    /* body */
    --fs-md:15.5px;    /* card values */
    --fs-lg:18px;      /* card titles / big numbers */
    --fs-xl:22px;      /* section titles */
    --fs-2xl:28px;     /* hero numbers only */
    --fw-body:400;
    --fw-label:500;
    --fw-card:600;
    --fw-title:700;
    --font-ui:'Inter','Segoe UI',system-ui,sans-serif;
    --font-num:'JetBrains Mono',ui-monospace,'Courier New',monospace;
    --card-pad:18px;
    --card-radius:14px;
}

/* Utility classes (use in new markup / JS template literals) */
.t-xs{font-size:var(--fs-xs)}
.t-sm{font-size:var(--fs-sm)}
.t-base{font-size:var(--fs-base)}
.t-md{font-size:var(--fs-md)}
.t-lg{font-size:var(--fs-lg)}
.t-xl{font-size:var(--fs-xl)}
.t-2xl{font-size:var(--fs-2xl)}
.t-label{font-size:var(--fs-xs);font-weight:var(--fw-label);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.t-title{font-size:var(--fs-xl);font-weight:var(--fw-title);letter-spacing:.04em}
.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}

/* Unified card standard */
.card-unified{padding:var(--card-pad);border:1px solid var(--border);border-radius:var(--card-radius);background:var(--surface)}
.card-unified>.card-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px}
.card-unified>.card-head>.t{font-size:var(--fs-md);font-weight:var(--fw-card)}
.card-unified>.card-head>.m{font-size:var(--fs-xs);color:var(--muted)}

/* ── Normalization overrides (visual only) ── */
body{font-family:var(--font-ui)}

/* One section-header pattern: 22px / 700 / uppercase / tight tracking */
section h2{font-size:var(--fs-xl)!important;font-weight:var(--fw-title)!important;letter-spacing:.04em!important}
section h3{font-size:var(--fs-lg)!important;font-weight:var(--fw-card)!important}
section h2,section h3{text-wrap:balance}

/* One card silhouette */
.panel,.card{border-radius:var(--card-radius)!important}

/* Mono only for numbers/prices/hashes; tabular figures keep columns aligned */
.num,[style*="font-family:monospace"],[style*="font-family: monospace"]{
    font-family:var(--font-num)!important;
    font-variant-numeric:tabular-nums;
}

/* Rhythm: consistent section gaps where markup doesn't already set one */
section .panel{margin-bottom:16px}
section .panel:last-child{margin-bottom:0}

@media(max-width:768px){
    section h2{font-size:var(--fs-lg)!important}
    section h3{font-size:var(--fs-md)!important}
}
