/* A brighter India-inspired sports palette; layout and source data unchanged. */
:root { --paper: #f3f6fc; --white: #fff; --line: #d7e0ee; --blue: #214ec6; --green: #178057; --saffron: #ef7639; --muted: #56667c; }
.athlete-full-name { display: block; margin-top: 4px; font-size: 11px; line-height: 1.45; font-weight: 500; letter-spacing: normal; text-transform: none; overflow-wrap: anywhere; }
.hero .athlete-full-name { color: #edf4ff; font-size: 15px; }
body { background: radial-gradient(ellipse at 0 0,#ffe7d1 0,transparent 35rem),radial-gradient(ellipse at 100% 36rem,#dcf5e9 0,transparent 45rem),#f3f6fc; }
.hero { box-shadow: 0 16px 45px #17386c26,0 4px 0 #f39442; }
.hero::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 5px; background: linear-gradient(90deg,#ff9a48 0 33.3%,#fff 33.3% 66.6%,#37b581 66.6%); pointer-events: none; }
.hero .brand-flag { background: #ffffff18; border-radius: 8px; }
.hero .refresh-button { background: #ffb56b; color: #122342; border-color: #ffc68d; }
.hero .news-button { background: #173c66; color: #fff; border-color: #6786ab; }
/* Banner-specific contrast must override the dark athlete style on result cards.
   These rules apply to every automatically selected photo and future slide. */
.hero #page-title { color: #fff; text-shadow: 0 2px 12px #0008; overflow-wrap: anywhere; }
.hero .subtitle { color: #edf4ff; background: #091b32; padding: 16px 18px; border-left: 4px solid #ffb56b; border-radius: 0 12px 12px 0; box-shadow: 0 8px 28px #0003; overflow-wrap: anywhere; }
.hero .subtitle > .india-athlete { color: #fff; font-size: clamp(24px,3vw,34px); line-height: 1.25; letter-spacing: -.5px; }
.hero .india-athlete { color: #fff; }
.hero .hero-team-names { color: #e2ebfa; }
.hero .hero-copy > .eyebrow { color: #ffc48a; background: #091b32; width: fit-content; padding: 6px 9px; border-radius: 6px; }
.hero .hero-moment-context { color: #f4f7ff; background: #091b32; border: 1px solid #55708e; border-radius: 10px; padding: 12px; }
.hero .hero-moment-context .history-button { color: #fff; background: #214985; border-color: #86a7d4; }
.hero .hero-moment-context .history-button:hover { color: #fff; background: #315fa0; }
.hero .hero-moment-badge { color: #e4f887; background: #172e33; }
@media (max-width: 600px) { .hero .subtitle { padding: 12px 14px; } .hero .hero-moment-context { gap: 8px; } }
.desk-nav { background: #ffffffb8; border-bottom-color: #c8d8ed; }
.desk-nav a[data-nav="home"] { color: #a44212; background: #fff0df; }
.desk-nav a[data-nav="search"] { color: #2448a7; background: #e8efff; }
.desk-nav a[data-nav="news"] { color: #126148; background: #e1f5eb; }
.desk-nav a[data-nav="history"] { color: #654292; background: #f0e8fa; }
.desk-nav a[data-nav="gallery"] { color: #963851; background: #fbe8ef; }
.desk-nav a[data-nav="sports"] { color: #17627b; background: #e0f4fa; }
.desk-nav a[data-nav="olympics"] { color: #735313; background: #fff2cf; }
.desk-nav a:hover,.desk-nav a[aria-current="page"] { color: #fff; background: #193e93; box-shadow: inset 0 -3px #ffb96d; }
.status-bar { border-bottom-color: #aec9e1; }
.section-heading .eyebrow,.daily-heading .eyebrow { color: #a44512; }
.tally-gold { background: linear-gradient(125deg,#fff9e6,#ffe5a1); color: #a26a08; }
.tally-silver { background: linear-gradient(125deg,#f8fbff,#dce7f8); color: #536d9a; }
.tally-bronze { background: linear-gradient(125deg,#fff4e9,#f3cfb3); color: #99501e; }
.tally-total { background: linear-gradient(125deg,#e9f6ed,#bbe9d3); color: #14744e; }
.tally-total strong { color: #0d5037; }
.tally-total small,.tally-total > span { color: #285d48; }
.date-rail { background: #e4ecfa; border-color: #c7d6ee; }
.date-button:hover { background: #fff0dc; color: #934310; }
.date-button.is-selected { background: linear-gradient(135deg,#214ec6,#123475); color: #fff; box-shadow: 0 4px 12px #214ec633; }
.day-board { box-shadow: 0 8px 26px #2443690d; }
.day-board-head { background: linear-gradient(110deg,#fff0df,#f3f7ff 60%,#e7f7ef); }
.day-column { background: #eff4ff; }
.day-column.live-column { background: #eaf8f0; }
.day-column.completed-column { background: #f3effb; }
.live-column .column-heading { color: #126443; }
.completed-column .column-heading { color: #68419a; }
.day-column:not(.live-column):not(.completed-column) .column-heading { color: #2450a9; }
.event-card { box-shadow: 0 3px 10px #173f6a08; border-color: #cbd9eb; }
.live-column .event-card { border-top: 3px solid #239b70; }
.completed-column .event-card { border-top: 3px solid #9471c7; }
.day-column:not(.live-column):not(.completed-column) .event-card { border-top: 3px solid #648ee5; }
.event-card.is-medal-event { background: linear-gradient(135deg,#fff,#fff6dc); border-color: #d4a347; }
.event-stage { background: #eaf1ff; border-left-color: #547bd1; color: #243d6b; }
.is-india-row,.participant.is-india { background: #fff3e2; }
.medal-wire { background: #f0f6ff; border-color: #b8d0ee; border-top-color: #ef8b43; box-shadow: 0 8px 26px #2443690e; }
.medal-wire .section-heading h2 { color: #214885; }
.wire-story { background: #fff8e8; border-bottom-color: #dacbaf; border-left: 3px solid #dca13e; }
.wire-story .eyebrow { color: #865406; }
.wire-news { background: #eef4ff; border-left-color: #6389d8; }
.wire-news .eyebrow { color: #315897; }
.wire-achievement { background: #eaf7ef; border-left-color: #35a77a; }
.wire-achievement .eyebrow { color: #20684d; }
.future-section { background: linear-gradient(115deg,#173568,#07545a); box-shadow: 0 12px 30px #16476222; }
.future-item { background: #ffffff08; }
.future-item:nth-child(even) { background: #ffffff12; }
.history-button,.text-link { text-underline-offset: 3px; }
.history-button:hover { color: #a74916; }
.archive-medal.medal-gold { background: #fff6db; }
.archive-medal.medal-silver { background: #edf3fe; }
.archive-medal.medal-bronze { background: #fff0e4; }
.gallery-filters,.search-section .schedule-toolbar { background: linear-gradient(120deg,#eef4ff,#eaf7f2); }
.moment-photo-card { box-shadow: 0 5px 18px #2443690e; }
.moment-photo-card.is-historic-moment { border-color: #c58d22; }
.event-history-edition > h3 { color: #28569b; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline: 3px solid #214ec6; outline-offset: 3px; }
.hero button:focus-visible,.hero a:focus-visible,.future-section button:focus-visible { outline-color: #ffcc84; }
/* Medal semantics are shared by live updates, archives, podiums and banners. */
:is([data-medal="gold"],.medal-gold,.podium-gold,.achievement-gold,.tally-gold,.gold-cell) { --medal-bg:#fff3c4; --medal-edge:#b58112; --medal-ink:#654600; --medal-shine:#e8bf4c; }
:is([data-medal="silver"],.medal-silver,.podium-silver,.achievement-silver,.tally-silver,.silver-cell) { --medal-bg:#edf0f3; --medal-edge:#87919d; --medal-ink:#414b58; --medal-shine:#cbd1d8; }
:is([data-medal="bronze"],.medal-bronze,.podium-bronze,.achievement-bronze,.tally-bronze,.bronze-cell) { --medal-bg:#f7e3d3; --medal-edge:#ad693d; --medal-ink:#713b1b; --medal-shine:#d49b70; }
:is(.wire-story[data-medal],.archive-medal[class*="medal-"],.medal-record,.podium-place,.achievement-gold,.achievement-silver,.achievement-bronze,.moment-photo-card[data-medal],.olympic-card[data-medal],.olympic-history-row[data-medal],.athlete-profile[class*="medal-"]):not(.medal-none) { background:var(--medal-bg); border-color:var(--medal-edge); border-left:4px solid var(--medal-edge); color:var(--ink,#122342); }
:is(.wire-story[data-medal],.archive-medal,.medal-record,.moment-photo-card[data-medal],.olympic-card[data-medal],.athlete-profile):is([data-medal],.medal-gold,.medal-silver,.medal-bronze) :is(.eyebrow,.medal-label,.moment-photo-label,.olympic-medal,.medal-disc) { color:var(--medal-ink); }
:is(.tally-gold,.tally-silver,.tally-bronze) { background:linear-gradient(125deg,#fff,var(--medal-bg)); border-color:var(--medal-edge); color:var(--medal-ink); }
:is(.gold-cell,.silver-cell,.bronze-cell) { background:var(--medal-bg); color:var(--medal-ink); }
.podium-place .podium-medal,.medal-record .medal-orb { background:linear-gradient(135deg,#fff,var(--medal-shine)); color:var(--medal-ink); border-color:var(--medal-edge); }
.hero[data-medal] .subtitle { border-left-color:var(--medal-shine); }
.hero[data-medal] .hero-moment-context { border-color:var(--medal-shine); }
.hero[data-medal] .hero-moment-badge { background:var(--medal-bg); color:var(--medal-ink); }
.moment-photo-card[data-medal] .moment-athlete-profile { background:var(--medal-bg); }
/* A scheduled medal event has no awarded medal yet: keep it neutral. */
.event-card.is-medal-event { background:#fff; border-color:#cbd9eb; }
@media (prefers-contrast: more) { :root { --muted: #37445a; --line: #8d9bb0; } }
