/* News mobile-first overrides. Load AFTER /assets/app.css. */
:root{--navy:var(--bl-navy);--dn:var(--bl-down);--gold:var(--bl-gold);--gold2:var(--bl-gold-hi)}
html,body{overflow-x:visible}
body{font:400 var(--bl-fs-b)/1.5 var(--bl-sans);font-variant-numeric:tabular-nums}
.h1,h1{font-family:var(--bl-display);font-size:var(--bl-fs-h1);line-height:var(--bl-lh-h)}
.card h2{font-family:var(--bl-display);font-size:var(--bl-fs-s);line-height:1.25}
table,.kv,.mini,.alrt li,nav.x a,.nl,.tabs button{font-size:var(--bl-fs-xs)}
th,.status,.it .m,.strip,.rel,.ticker,.ldw,.tag,.card .src,.heat div{font-size:var(--bl-fs-min)}
.mono,table,td,.kv,.ticker,.heat{font-variant-numeric:tabular-nums}
/* wide widgets scroll inside card instead of being clipped */
.card table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
.heat,.tabs,.ticker,.strip{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
main{max-width:1600px;overflow-x:clip}
.card{min-width:0}
.dn{color:var(--bl-down)}
nav.x a,.tabs button,#mode,#push,select{min-height:var(--bl-tap);display:inline-flex;align-items:center}
#mode,#push{padding:6px 12px}
/* chips must not shrink inside the scroll strip */
.tabs{display:flex;flex-wrap:nowrap;gap:8px}
.tabs button,.tabs a{flex:0 0 auto;padding:0 14px;border-radius:999px;min-width:0}
/* news headline: brand font but compact (not a marketing hero) */
.h1,h1{font-size:clamp(1.375rem,1.1rem + 1.2vw,2rem);line-height:1.2}
