/* Race news — homepage strip + news.html archive. Night style, compact rows (not cards). */
.race-news{margin:0 auto;padding:18px 24px 8px;max-width:1120px}
.race-news[hidden]{display:none!important}
.rn-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 4px}
.rn-lbl{font:600 11px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--dim,#6e6f78)}
.rn-more{font:500 13px/1.2 var(--sans);color:var(--blue-hi,#8ea0ff);text-decoration:none;white-space:nowrap}
.rn-more:hover,.rn-more:focus-visible{text-decoration:underline}
.rn-list{list-style:none;margin:0;padding:0}
.rn-row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:4px 16px;padding:12px 0;border-top:1px solid rgba(255,255,255,.06)}
.rn-date{grid-column:1;grid-row:1 / span 3;font:500 12.5px/1.35 var(--sans);color:var(--muted,#a2a3ad);padding-top:2px}
.rn-h{grid-column:2;margin:0;font:600 15px/1.35 var(--sans);color:var(--ink,#f2f2f5)}
.rn-s{grid-column:2;margin:2px 0 0;font:400 13px/1.4 var(--sans);color:var(--muted,#a2a3ad)}
.rn-meta{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:8px}
.rn-chip{display:inline-block;padding:3px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);color:var(--ink,#f2f2f5);font:500 11.5px/1.3 var(--sans);text-decoration:none;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rn-chip:hover,.rn-chip:focus-visible{border-color:rgba(142,160,255,.45);color:var(--blue-hi,#8ea0ff)}
.rn-more-chips{font:500 11.5px/1.3 var(--sans);color:var(--dim,#6e6f78)}
/* Nov 9: headline opens the race (stretched over the row); chips, +N more and source stay on top and tappable (≥28px). */
.rn-row{position:relative}
.rn-h-a{color:inherit;text-decoration:none}
.rn-h-a::after{content:'';position:absolute;inset:0;z-index:0}
.rn-has-link:hover .rn-h-a,.rn-h-a:focus-visible{color:var(--blue-hi,#8ea0ff)}
.rn-h-a:focus-visible{outline:none}.rn-row:has(.rn-h-a:focus-visible){outline:2px solid var(--blue-hi,#8ea0ff);outline-offset:4px;border-radius:6px}
.rn-chip,.rn-src,a.rn-more-chips{position:relative;z-index:1}
.rn-chip{display:inline-flex;align-items:center;min-height:28px;padding:4px 11px}
a.rn-more-chips{text-decoration:none;display:inline-flex;align-items:center;min-height:28px}
a.rn-more-chips:hover,a.rn-more-chips:focus-visible{color:var(--blue-hi,#8ea0ff)}
.rn-row:target .rn-h{color:var(--blue-hi,#8ea0ff)}
.rn-src{font:500 12.5px/1.3 var(--sans);color:var(--blue-hi,#8ea0ff);text-decoration:none;margin-left:auto}
.rn-src:hover,.rn-src:focus-visible{text-decoration:underline}
@media (max-width:760px){
 .race-news{padding:14px 16px 4px}
 .rn-row{grid-template-columns:1fr;gap:2px}
 .rn-date{grid-column:1;grid-row:auto;margin-bottom:2px}
 .rn-h,.rn-s,.rn-meta{grid-column:1}
 .rn-src{margin-left:0}
}
/* Archive page */
.news-page{min-height:100vh;background:var(--bg,#0b0b0e);color:var(--ink,#f2f2f5)}
.news-page .np-top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 max(24px,calc((100vw - 1240px)/2));min-height:64px;border-bottom:1px solid rgba(255,255,255,.06)}
.news-page .np-top .wm{font:600 15px/1 var(--sans);letter-spacing:.02em;color:var(--ink);text-decoration:none}
.news-page .np-wrap{max-width:860px;margin:0 auto;padding:28px 24px 64px}

.news-page .np-back{display:inline-block;margin:0 0 18px;font:500 13px var(--sans);color:var(--blue-hi,#8ea0ff);text-decoration:none}
.news-page .np-back:hover{text-decoration:underline}
.news-page h1{margin:0 0 6px;font:700 34px/1.05 var(--disp,var(--sans));letter-spacing:.04em;text-transform:uppercase}
.news-page .np-lead{margin:0 0 22px;color:var(--muted,#a2a3ad);font:400 14px/1.45 var(--sans)}
.news-page .rn-row{grid-template-columns:88px minmax(0,1fr)}
.news-page .rn-chip{white-space:normal}
@media (max-width:760px){
 .news-page .np-wrap{padding:20px 16px 120px}
 .news-page .np-top{padding:0 16px;min-height:56px}
 .news-page .np-top nav .nav-long{display:none}
 .news-page h1{font-size:26px}
 .news-page .rn-row{grid-template-columns:1fr}
}

.news-page .np-top .brand{font-size:20px;gap:.1em}
.news-page .np-top .brand .pin{height:1em;width:.71em}
.news-page .np-top .wm{font:400 20px/1 var(--disp);letter-spacing:.02em;text-transform:uppercase;color:#f2f2f5;text-decoration:none}
