:root { color-scheme:dark; --bg:#080f1a; --panel:#0d1827; --line:rgba(166,193,220,.15); --txt:#f5f7fb; --muted:#889caf; --gold:#ffc957; --cyan:#4ae4e4; --pink:#fb5e9f; --blue:#6d8dff; --panel-hi:#142338; font-family:"DM Sans",system-ui,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; background:var(--bg); color:var(--txt); overflow-x:hidden; }
button { font:inherit; cursor:pointer; }
button:focus-visible { outline:3px solid var(--cyan); outline-offset:4px; }
.ambient { position:fixed; border-radius:50%; pointer-events:none; filter:blur(100px); opacity:.15; z-index:-1; }
.ambient-a { width:620px; height:620px; top:-280px; right:-160px; background:#4670b6; }
.ambient-b { width:570px; height:570px; top:660px; left:-290px; background:#195e75; }
.app-shell { max-width:1500px; margin:0 auto; padding:0 clamp(20px,4.5vw,74px); }
.masthead { min-height:104px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:14px; }
.brand-mark { width:46px; height:50px; flex-shrink:0; color:#08121d; background:var(--gold); border-radius:6px 6px 15px 15px; clip-path:polygon(0 0,100% 0,100% 74%,50% 100%,0 74%); display:flex; align-items:center; justify-content:center; position:relative; font-family:"Barlow Condensed",sans-serif; font-size:28px; font-weight:900; letter-spacing:-2px; }
.brand-mark i { position:absolute; width:29px; height:2px; background:#08121d; bottom:11px; opacity:.45; }
.brand-text { display:flex; flex-direction:column; gap:4px; }
.brand-text strong { font-size:13px; letter-spacing:.15em; font-weight:800; }
.brand-text span { color:var(--muted); font-size:10px; letter-spacing:.22em; font-weight:700; }
.header-actions { display:flex; align-items:center; gap:20px; }
.live-label { display:flex; align-items:center; gap:10px; letter-spacing:.17em; font-size:10px; color:#b2c8d5; font-weight:800; }
.live-pip { width:8px; height:8px; border-radius:50%; background:var(--cyan); box-shadow:0 0 0 5px rgba(74,228,228,.09),0 0 24px var(--cyan); }
.icon-button { width:43px; height:43px; background:rgba(255,255,255,.03); border:1px solid var(--line); border-radius:11px; display:grid; place-items:center; color:white; transition:.2s; }
.icon-button:hover { background:#19304a; border-color:var(--cyan); }
.icon-button svg { width:19px; height:19px; }
.hero { min-height:242px; display:flex; align-items:center; justify-content:space-between; gap:24px; position:relative; overflow:hidden; }
.hero-text { position:relative; z-index:1; padding:32px 0; }
.eyebrow { color:var(--cyan); font-weight:800; letter-spacing:.24em; font-size:10px; display:flex; align-items:center; gap:13px; margin-bottom:14px; }
.accent-line { display:inline-block; height:2px; width:28px; background:var(--cyan); }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3,.display-font { font-family:"Barlow Condensed",Impact,sans-serif; }
h1 { font-size:clamp(64px,7.8vw,112px); line-height:.82; font-weight:900; letter-spacing:-.017em; margin:0; white-space:nowrap; }
h1 em { font-style:normal; color:var(--gold); }
.end-dot { color:var(--cyan); }
.hero p { color:#a4b4c5; font-size:14px; margin:24px 0 0; }
.hero-art { width:260px; height:210px; flex-shrink:0; display:flex; align-items:center; justify-content:center; position:relative; opacity:.95; }
.art-ring { position:absolute; border-radius:50%; border:1px solid rgba(86,228,227,.35); transform:rotate(-30deg); }
.ring-1 { width:190px; height:190px; }
.ring-2 { width:245px; height:133px; border-color:rgba(255,201,87,.35); }
.hero-star { position:absolute; font-size:134px; color:var(--gold); text-shadow:0 0 90px rgba(255,199,87,.36); transform:rotate(-15deg); }
.art-7 { position:relative; font-family:"Barlow Condensed",sans-serif; color:#08111f; font-size:34px; font-weight:900; letter-spacing:0; transform:rotate(-15deg); }
.art-spark { position:absolute; color:var(--cyan); }
.spark-1 { right:10px; top:22px; font-size:28px; }.spark-2 { left:10px; bottom:18px; font-size:19px; }
.section-cap { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:12px 0 13px; }
.section-number { color:#7b92a5; font-weight:800; letter-spacing:.16em; font-size:10px; }
.week-badge { color:var(--gold); border:1px solid rgba(255,201,87,.20); padding:7px 10px; border-radius:4px; background:rgba(255,201,87,.05); font-size:10px; font-weight:800; letter-spacing:.07em; text-align:right; }
.tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) minmax(220px,1.62fr); gap:8px; margin-bottom:25px; }
.tab { height:63px; border:1px solid var(--line); background:#101a29; color:#a4b4c6; text-align:left; padding:0 19px; display:flex; gap:14px; align-items:center; position:relative; border-radius:8px; font-family:"Barlow Condensed",Impact,sans-serif; font-weight:800; letter-spacing:.035em; font-size:23px; transition:.2s; }
.tab:hover { border-color:rgba(74,228,228,.55); background:#14253a; color:#f8ffff; }
.tab.active { color:#07121c; border-color:var(--cyan); background:var(--cyan); box-shadow:0 4px 35px rgba(74,228,228,.13); }
.tab-index { font-family:"DM Sans",sans-serif; font-size:10px; font-weight:800; opacity:.58; }
.comparison-tab { background:#182032; border-color:rgba(255,201,87,.23); color:var(--gold); font-size:21px; padding-left:17px; }
.comparison-tab.active { background:var(--gold); border-color:var(--gold); color:#101825; box-shadow:0 4px 35px rgba(255,201,87,.16); }
.tab-icon { font-family:system-ui,sans-serif; font-size:21px; }
.tab-arrow { margin-left:auto; font-size:21px; }
.stage { position:relative; border:1px solid var(--line); background:linear-gradient(135deg,rgba(21,35,54,.96),rgba(10,19,32,.99) 65%); border-radius:14px; overflow:hidden; box-shadow:0 17px 50px rgba(0,0,0,.24); }
.stage::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse at 82% 0%,rgba(74,228,228,.08),transparent 45%); }
.stage-top { position:relative; display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:27px 34px 24px; border-bottom:1px solid var(--line); }
.stage-kicker { color:var(--cyan); font-size:11px; font-weight:800; letter-spacing:.21em; margin-bottom:6px; }
.stage-heading { font-size:clamp(44px,4.7vw,68px); line-height:.94; font-weight:900; margin:0; }
.stage-heading span { color:var(--gold); }
.stage-sub { color:#91a5b8; font-size:13px; line-height:1.6; margin:11px 0 0; max-width:600px; }
.progress-label { flex-shrink:0; margin-top:6px; text-align:right; }
.progress-label strong { font-family:"Barlow Condensed",Impact,sans-serif; font-size:44px; line-height:1; letter-spacing:.025em; }
.progress-label small { display:block; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.15em; margin-top:5px; }
.progress-track { height:3px; background:#24384a; overflow:hidden; }
.progress-fill { width:0%; height:100%; background:linear-gradient(90deg,var(--cyan),var(--gold)); transition:width .5s ease; }
.arena-content { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(255px,.8fr); gap:26px; padding:26px 32px 30px; }
.panel-cap { display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:10px; font-weight:800; letter-spacing:.17em; color:#91a5b8; margin:0 0 16px; }
.panel-cap .side { font-size:10px; letter-spacing:.13em; color:#657e95; }
.race-list { display:grid; gap:9px; }
.race-row { position:relative; display:grid; grid-template-columns:58px minmax(0,1fr) 83px; align-items:center; gap:15px; min-height:61px; border:1px solid rgba(164,195,224,.12); border-radius:8px; padding:11px 14px; background:rgba(7,15,27,.44); transition:border-color .3s, background .3s, box-shadow .3s; }
.race-row.revealed { border-color:rgba(74,228,228,.26); background:rgba(17,39,52,.72); }
.race-row.just-revealed { box-shadow:0 0 0 1px rgba(74,228,228,.28),0 0 42px rgba(74,228,228,.16); }
.race-class { font-family:"Barlow Condensed",Impact,sans-serif; font-size:31px; font-weight:800; letter-spacing:.025em; color:#dfebf5; }
.race-row .bar-track { background:rgba(171,203,225,.095); height:20px; border-radius:3px; overflow:hidden; position:relative; }
.race-row .bar-fill { height:100%; width:0; transition:width 1.2s cubic-bezier(.18,.77,.27,1); background:linear-gradient(90deg,#25767e,#40dbd7); position:relative; border-radius:3px; }
.race-row .bar-fill::after { content:""; position:absolute; inset:0 0 0 auto; width:22px; background:rgba(255,255,255,.28); filter:blur(12px); }
.race-row.winner .bar-fill { background:linear-gradient(90deg,#c6882e,#ffd978); }
.race-row.runner .bar-fill { background:linear-gradient(90deg,#637dad,#a9c6dd); }
.race-points { font-family:"Barlow Condensed",Impact,sans-serif; font-weight:800; color:#607a91; font-size:27px; text-align:right; letter-spacing:.025em; }
.race-row.revealed .race-points { color:#f4f9ff; }
.race-points small { font-family:"DM Sans",sans-serif; font-size:9px; font-weight:800; letter-spacing:.04em; color:#7f95ab; margin-left:4px; }
.race-empty-row { text-align:center; padding:50px 20px; border:1px dashed rgba(166,193,220,.28); border-radius:10px; }
.empty-medal { font-size:40px; color:var(--gold); margin-bottom:14px; }
.race-empty-row strong { font-family:"Barlow Condensed",Impact,sans-serif; font-size:31px; display:block; }
.race-empty-row p { color:var(--muted); max-width:350px; margin:10px auto 0; font-size:13px; line-height:1.7; }
.winners-panel { border-left:1px solid var(--line); padding-left:26px; min-width:0; }
.results-stack { display:grid; gap:10px; }
.result-card { min-height:89px; border:1px solid rgba(171,203,225,.18); border-radius:9px; background:linear-gradient(105deg,rgba(17,29,46,.82),rgba(9,17,29,.9)); padding:14px 16px; position:relative; overflow:hidden; }
.result-card::before { content:""; width:3px; height:100%; position:absolute; top:0; left:0; background:#415065; }
.result-card.gold::before { background:var(--gold); }.result-card.silver::before { background:#b5c8dc; }.result-card.cyan::before { background:var(--cyan); }
.result-card.gold.revealed { background:linear-gradient(110deg,rgba(94,64,25,.39),rgba(18,25,35,.96)); border-color:rgba(255,201,87,.4); }
.result-card.silver.revealed { border-color:rgba(184,210,235,.36); }
.result-card.cyan.revealed { border-color:rgba(74,228,228,.36); }
.result-caption { font-size:10px; font-weight:800; letter-spacing:.15em; color:#8299ae; display:flex; align-items:center; gap:8px; }
.result-card.gold .result-caption b { color:var(--gold); }.result-card.silver .result-caption b { color:#c9d5e5; }.result-card.cyan .result-caption b { color:var(--cyan); }
.result-line { display:flex; align-items:baseline; gap:10px; margin-top:7px; }
.result-value { font-family:"Barlow Condensed",Impact,sans-serif; font-size:42px; font-weight:900; line-height:1; color:#384a5e; transition:color .35s; }
.result-card.revealed .result-value { color:#f3f8ff; animation:resultPop .54s both; }
.result-card.gold.revealed .result-value { color:var(--gold); }
.result-detail { font-size:11px; color:#63778b; font-weight:700; }
.result-card.revealed .result-detail { color:#b3c4d3; }
@keyframes resultPop { 0% { transform:translateY(10px) scale(.86); opacity:.3; } 70% { transform:translateY(-3px) scale(1.04); } 100% { transform:translateY(0) scale(1); opacity:1; } }
.control-bar { background:rgba(7,13,23,.78); border-top:1px solid var(--line); padding:18px 30px; display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.action { min-height:46px; padding:0 17px; border-radius:7px; border:1px solid var(--line); background:#1a2a40; color:white; font-size:11px; font-weight:800; letter-spacing:.085em; display:inline-flex; align-items:center; justify-content:center; gap:10px; transition:transform .15s,border-color .15s,background .15s; }
.action:hover:not(:disabled) { transform:translateY(-1px); border-color:rgba(255,255,255,.55); }
.action:disabled { opacity:.42; cursor:not-allowed; }
.action.primary { background:var(--gold); border-color:var(--gold); color:#102031; min-width:174px; }
.action.primary:hover:not(:disabled) { background:#ffe399; }
.action.secondary { background:rgba(74,228,228,.09); border-color:rgba(74,228,228,.45); color:var(--cyan); }
.action.textual { background:transparent; }
.action .button-glyph { font-size:15px; }
.controller-note { color:#7a90a4; margin-left:auto; text-align:right; max-width:230px; font-size:11px; line-height:1.5; }
.empty-update { display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px; padding:28px 32px; border-top:1px solid var(--line); background:rgba(8,14,25,.56); }
.empty-update p { color:var(--muted); font-size:12px; max-width:500px; margin:0; line-height:1.7; }
.empty-update strong { font-size:12px; color:var(--gold); letter-spacing:.08em; }
.compare-grid { padding:26px 32px 32px; display:grid; grid-template-columns:minmax(0,1.8fr) minmax(250px,.9fr); gap:28px; }
.compare-options { display:flex; align-items:center; gap:7px; }
.metric-toggle { display:inline-flex; padding:3px; border:1px solid var(--line); background:rgba(0,0,0,.22); border-radius:7px; margin-bottom:21px; }
.metric-toggle button { background:none; border:0; padding:10px 13px; color:#a0b2c5; font-size:11px; font-weight:800; border-radius:5px; }
.metric-toggle button.selected { background:#24394b; color:white; }
.compare-rows { display:grid; gap:12px; }
.compare-row { display:grid; grid-template-columns:74px minmax(0,1fr) 94px; align-items:center; gap:16px; min-height:82px; padding:13px 17px; border:1px solid var(--line); background:rgba(6,14,25,.55); border-radius:8px; }
.compare-row.is-top.revealed { border-color:rgba(255,201,87,.5); background:rgba(255,201,87,.055); }
.compare-year { font-family:"Barlow Condensed",Impact,sans-serif; font-size:27px; font-weight:800; white-space:nowrap; }
.compare-bar-shell { min-width:0; }
.compare-bar-track { height:14px; background:rgba(165,187,213,.10); border-radius:3px; overflow:hidden; }
.compare-bar-fill { height:100%; width:0; transition:width 1.5s cubic-bezier(.19,.8,.22,1); background:linear-gradient(90deg,#215d8c,#53cce2); }
.compare-row.is-top .compare-bar-fill { background:linear-gradient(90deg,#b07529,#ffce63); }
.compare-bar-info { font-size:10px; color:#7f94a9; font-weight:700; margin-top:8px; }
.compare-points { text-align:right; font-family:"Barlow Condensed",Impact,sans-serif; font-size:32px; font-weight:800; color:#596f85; }
.compare-row.revealed .compare-points { color:#edf5fd; }
.compare-row.missing .compare-points { font-family:"DM Sans",sans-serif; font-size:10px; font-weight:800; letter-spacing:.04em; color:#8ea0b3; }
.compare-row.missing { opacity:.65; }
.compare-awards { display:grid; grid-template-rows:1fr 1fr auto; gap:10px; }
.compare-award { border:1px solid var(--line); background:rgba(10,20,34,.62); border-radius:9px; padding:18px; position:relative; overflow:hidden; }
.compare-award::after { content:"✦"; position:absolute; right:-6px; bottom:-31px; color:rgba(255,201,87,.07); font-size:135px; }
.compare-award-kicker { font-size:10px; letter-spacing:.16em; color:var(--muted); font-weight:800; }
.compare-award strong { display:block; font-family:"Barlow Condensed",Impact,sans-serif; font-size:39px; line-height:1.1; margin:12px 0 7px; color:#465b70; }
.compare-award.revealed strong { color:var(--gold); animation:resultPop .55s both; }
.compare-award small { font-size:11px; color:#95aabc; font-weight:600; }
.compare-footnote { color:#879caf; font-size:11px; line-height:1.6; padding:10px 1px; }
.compare-footnote b { color:var(--cyan); }
.compare-actions { padding:18px 32px; border-top:1px solid var(--line); background:rgba(7,13,23,.77); display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.compare-actions span { font-size:11px; color:#7d96aa; margin-left:auto; }
.footer { min-height:98px; padding:28px 0; display:flex; align-items:center; justify-content:space-between; gap:18px; color:#6a8194; font-size:10px; font-weight:800; letter-spacing:.10em; }
.footer-spark { color:var(--gold); font-size:18px; vertical-align:middle; margin-right:6px; }.footer-dim { color:#52687c; }
.countdown-overlay { position:fixed; inset:0; background:rgba(3,9,16,.96); z-index:20; display:none; align-items:center; justify-content:center; flex-direction:column; }
.countdown-overlay.open { display:flex; }
.countdown-overlay::before { content:""; position:absolute; width:min(65vw,540px); aspect-ratio:1; border:2px solid rgba(74,228,228,.15); border-radius:50%; box-shadow:0 0 0 60px rgba(74,228,228,.025),0 0 0 125px rgba(74,228,228,.018); }
.countdown-small,.countdown-bottom { z-index:1; color:var(--cyan); letter-spacing:.32em; font-size:14px; font-weight:800; }
.countdown-digit { position:relative; z-index:1; font-family:"Barlow Condensed",Impact,sans-serif; font-size:clamp(180px,31vw,420px); font-weight:900; line-height:.95; color:var(--gold); text-shadow:0 0 110px rgba(255,201,87,.23); animation:countPulse .7s both; }
@keyframes countPulse { from { transform:scale(1.24); opacity:.25; } to {transform:scale(1); opacity:1;} }
#confetti { position:fixed; inset:0; width:100%; height:100%; pointer-events:none; z-index:30; }
@media (max-width:1100px) { .tabs { grid-template-columns:repeat(4,1fr); }.comparison-tab { grid-column:1/-1; }.hero-art { width:160px; }.race-row { grid-template-columns:45px minmax(0,1fr) 74px; }.arena-content,.compare-grid { gap:18px; }.winners-panel { padding-left:18px; }.controller-note {display:none;} }
@media (max-width:790px) { .masthead { min-height:80px; }.header-actions .live-label { display:none; }.hero { min-height:205px; }.hero-art { display:none; }.hero-text { padding:27px 0; }.hero h1 { white-space:normal; font-size:clamp(56px,11vw,88px); line-height:.9; }.hero p { margin-top:16px; }.tabs { grid-template-columns:repeat(2,1fr); }.comparison-tab { grid-column:1/-1; }.tab { height:58px; }.arena-content,.compare-grid { grid-template-columns:1fr; padding:22px; }.winners-panel { border-left:0; border-top:1px solid var(--line); padding:21px 0 0; }.results-stack { grid-template-columns:repeat(3,minmax(0,1fr)); }.result-card { padding:14px 11px; }.result-value { font-size:36px; }.result-detail { font-size:10px; }.compare-awards { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; }.compare-footnote { grid-column:1/-1; }.stage-top { padding:22px; }.control-bar,.compare-actions { padding:17px 22px; } }
@media (max-width:540px) { .app-shell { padding:0 14px; }.brand-mark { width:36px;height:40px; font-size:24px; }.brand-text strong { font-size:10px; }.brand-text span { font-size:8px; }.hero { min-height:190px; }.eyebrow { font-size:8px; letter-spacing:.13em; } .section-cap { align-items:flex-start; flex-direction:column; }.week-badge {font-size:9px;} .tab { font-size:21px; padding:0 12px; gap:9px; }.tabs { gap:6px; }.stage-heading { font-size:44px; }.stage-top { padding:18px; }.stage-sub { font-size:12px; }.stage-kicker { font-size:9px; }.progress-label strong { font-size:29px; }.progress-label small { font-size:8px; }.arena-content,.compare-grid { padding:18px 13px; }.race-row { gap:9px; grid-template-columns:36px minmax(0,1fr) 62px; padding:9px; min-height:56px; }.race-class {font-size:27px;}.race-points { font-size:23px; }.race-points small { font-size:7px; }.race-row .bar-track {height:18px;}.results-stack {grid-template-columns:1fr;}.result-card { min-height:75px; }.result-line {margin-top:3px;}.control-bar,.compare-actions {padding:14px;}.action {flex-grow:1;}.compare-row {grid-template-columns:58px minmax(0,1fr) 67px; padding:12px 10px; gap:8px;}.compare-year {font-size:24px;}.compare-points {font-size:25px;}.compare-awards {grid-template-columns:1fr;}.footer {flex-direction:column; align-items:flex-start; gap:6px; font-size:9px;}.footer-dim {display:none;} }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; scroll-behavior:auto!important; } }

/* ═══════════════════════════════════════════════════════════════════
   KING'S COLLEGE ALICANTE EDITION · CUSTOM SCHOOL THEME
   Original animations/controls retained; this is the KCA visual layer.
   ═══════════════════════════════════════════════════════════════════ */
:root {color-scheme:light; --bg:#e7f4ff; --panel:#ffffff; --line:#cbdff0; --txt:#082e60; --muted:#5c7592; --gold:#ffca55; --cyan:#3ca4e9; --pink:#da1642; --blue:#236dd2; --panel-hi:#eff8ff;}
body {background:radial-gradient(ellipse at 10% 4%,#fff 0,transparent 35%),linear-gradient(180deg,#eff9ff 0%,#cbe9fb 75%,#f4fbff 100%);color:var(--txt);}
body::before {content:"";position:fixed;inset:0;opacity:.07;pointer-events:none;background-image:linear-gradient(115deg,transparent 25%,#0d5a9f 25.2%,transparent 25.4%),linear-gradient(0deg,#0d5a9f .6px,transparent .6px);background-size:230px 170px,35px 35px;}
.app-shell {max-width:1510px;padding:0 clamp(16px,3.4vw,55px);position:relative;}
.masthead {background:#fff;border:1px solid #d7e7f4;border-top:0;border-radius:0 0 20px 20px;min-height:91px;padding:10px 23px;box-shadow:0 9px 26px rgba(8,51,100,.08);}
.brand {gap:17px;min-width:0;}
.brand-image {width:min(31vw,290px);flex:0 1 290px;}
.brand-image img {width:100%;height:auto;display:block;}
.brand-text {border-left:2px solid #d8e7f2;padding-left:17px;}
.brand-text strong {font-family:'Barlow Condensed',Impact,sans-serif;color:#0c3c78;font-size:22px;font-weight:900;letter-spacing:.06em;}
.brand-text span {color:#bf1b3a;font-size:10px;font-weight:800;letter-spacing:.13em;}
.live-label {color:#224c7a;font-weight:800;}
.live-pip {background:#db1744;box-shadow:0 0 0 5px rgba(219,23,68,.08);}
.icon-button {background:#eaf5fd;color:#0c3b72;border:1px solid #c9dded;}
.icon-button:hover {background:#d8eafb;border-color:#3a8cd7;}
.hero {isolation:isolate;margin:16px 0 16px;min-height:248px;border-radius:23px;border:3px solid #fff;background:linear-gradient(110deg,#062959 0%,#084880 58%,#146db6 100%);box-shadow:0 12px 28px rgba(12,63,116,.17);}
.hero::before {content:"";position:absolute;z-index:-2;inset:0;opacity:.27;background:radial-gradient(circle at 76% 40%,#b9e8ff,transparent 35%),repeating-linear-gradient(120deg,transparent 0 60px,rgba(255,255,255,.06) 61px 62px);}
.hero::after {content:"";position:absolute;bottom:-72px;left:-7%;width:118%;height:125px;transform:rotate(-2deg);background:linear-gradient(90deg,#cfeeff,#8bd7ff,#f8fbff);border-top:6px solid rgba(255,255,255,.83);z-index:-1;}
.hero-text {padding:32px 20px 36px clamp(25px,4vw,55px);}
.eyebrow {font-size:11px;letter-spacing:.15em;color:#bceaff;margin-bottom:13px;}
.accent-line {background:#f4c65c;}
h1 {white-space:nowrap;font-size:clamp(66px,6.6vw,105px);text-shadow:0 4px 0 #041d46;letter-spacing:-.015em;color:#fff;}
h1 em {color:#ffdf69;text-shadow:0 4px 0 #06204a;}
.end-dot {color:#ff4769;}
.hero p {margin:18px 0 15px;color:#ecf8ff;font-size:15px;font-weight:500;}
.hero p strong {color:#ffde6b;}
.hero-ribbon {display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.35);background:rgba(6,25,62,.48);padding:10px 14px;border-radius:999px;font-size:10px;color:white;letter-spacing:.13em;font-weight:800;}
.hero-ribbon span {color:#ffcb59;}.hero-ribbon i {color:#67c7ff;font-style:normal;}
.hero-art {z-index:0;position:absolute;right:clamp(10px,3.2vw,48px);top:13px;width:365px;height:245px;opacity:1;pointer-events:none;}
.hero-photo {position:absolute;width:173px;height:209px;overflow:hidden;border-radius:15px 15px 9px 9px;border:4px solid #fff;box-shadow:0 9px 0 rgba(3,22,57,.44),0 14px 35px rgba(0,0,0,.4);background:#b9e9ff;}
.hero-photo img {display:block;width:100%;height:100%;object-fit:cover;object-position:center top;}
.hero-photo.winter {left:17px;top:13px;transform:rotate(-8deg);}
.hero-photo.summer {right:14px;top:10px;transform:rotate(8deg);}
.hero-sun {position:absolute;right:-4px;top:-11px;font-size:39px;color:#ffda57;text-shadow:0 3px 0 #033469;}
.hero-star {position:absolute;left:-6px;bottom:9px;font-size:46px;color:#ffeb86;transform:rotate(13deg);text-shadow:0 3px 0 #073064;}
.alicante-silhouette {position:absolute;width:420px;height:76px;bottom:-5px;right:0;z-index:-1;background:url('assets/alicante-skyline.svg') bottom right / contain no-repeat;opacity:.72;}
.section-cap {margin:13px 3px;}
.section-number {color:#0b447c;font-size:11px;}
.week-badge {color:#0f4078;border:1px solid #bed8e9;background:rgba(255,255,255,.85);box-shadow:0 2px 9px rgba(2,42,90,.04);border-radius:999px;padding:9px 14px;}
.tabs {gap:10px;margin-bottom:15px;}
.tab {border:2px solid #b5d5e9;background:linear-gradient(#fff,#e2f2fc);border-radius:14px;color:#073c75;box-shadow:0 5px 0 #a7c9df;min-height:65px;transition:transform .16s,box-shadow .16s,border-color .16s;}
.tab:hover {background:linear-gradient(#fff,#cfedfd);color:#0c3d74;border-color:#378dcf;transform:translateY(-2px);}
.tab.active {color:white;border-color:#063469;background:linear-gradient(#155baf,#07396e);box-shadow:0 5px 0 #062a51,0 11px 22px rgba(3,55,100,.16);}
.tab-index {opacity:.65;}
.comparison-tab {background:linear-gradient(#fff9e8,#ffedbd);border-color:#e8c76d;color:#0c356c;font-size:21px;}
.comparison-tab.active {background:linear-gradient(#f32950,#b90d32);color:white;border-color:#8f1233;box-shadow:0 5px 0 #85102d,0 10px 20px rgba(113,6,30,.15);}
.stage {border:2px solid #bcd8ec;border-radius:20px;background:#fff;box-shadow:0 12px 34px rgba(5,60,116,.16);}
.stage::before {display:none;}
.stage-top {background:linear-gradient(100deg,#082f64 0%,#0c5399 68%,#167db8 100%);border-bottom:0;padding:23px 33px 24px;overflow:hidden;}
.stage-top::after {content:"✦";position:absolute;font-size:190px;color:rgba(255,255,255,.065);right:85px;top:-107px;pointer-events:none;}
.stage-kicker {color:#a3e4ff;}
.stage-heading {font-size:clamp(44px,4.5vw,65px);color:white;text-shadow:0 3px 0 #042b59;}
.stage-heading span {color:#ffd764;}
.stage-sub {color:#d8f0ff;font-size:13px;}
.progress-label {position:relative;color:white;}
.progress-label small {color:#c8edff;}
.progress-track {height:6px;background:#81b6e3;}
.progress-fill {background:linear-gradient(90deg,#fbd065,#f31d53);}
.arena-content,.compare-grid {background:linear-gradient(180deg,#f5fbff 0%,#e8f5fd 100%);}
.panel-cap {color:#17456f;font-size:11px;}
.panel-cap .side {color:#5d83a3;}
.race-list {gap:9px;}
.race-row {border:2px solid #d1e6f3;background:#fff;border-radius:12px;min-height:59px;box-shadow:0 3px 0 rgba(100,158,196,.11);}
.race-row.revealed {background:#fff;border-color:#a8d3ef;}
.race-row.just-revealed {border-color:#f0bb48;box-shadow:0 0 0 3px rgba(255,208,86,.29),0 6px 25px rgba(9,67,121,.12);}
.race-class {color:#09366d;}
.race-row .bar-track {background:#daeaf5;height:21px;border-radius:6px;}
.race-row .bar-fill {background:linear-gradient(90deg,#1064b5,#40b0ef);border-radius:6px;}
.race-row.winner {border-color:#eec261;background:#fffbeb;}
.race-row.winner .bar-fill {background:linear-gradient(90deg,#e99b27,#ffcf64);}
.race-row.runner .bar-fill {background:linear-gradient(90deg,#8cacc9,#bdcde5);}
.race-points {color:#9db4c5;}
.race-row.revealed .race-points {color:#0b356b;}
.race-points small {color:#4c718d;}
.winners-panel {border-left-color:#cbdff0;}
.result-card {border:2px solid #d7e5ef;border-radius:12px;background:#fff;min-height:91px;}
.result-card::before {width:6px;border-radius:6px;}
.result-card.gold::before {background:#ffbf45;}.result-card.silver::before {background:#b4c9dc;}.result-card.cyan::before {background:#229adf;}
.result-card.gold.revealed {background:linear-gradient(95deg,#fff4ce,#fffefa);border-color:#e5bd59;}
.result-card.silver.revealed {background:#f5f9fd;border-color:#bbcede;}
.result-card.cyan.revealed {background:#e9f6ff;border-color:#9bd0f0;}
.result-caption {color:#4a6d91;}
.result-card.gold .result-caption b {color:#cc8a15;}.result-card.silver .result-caption b {color:#71869c;}.result-card.cyan .result-caption b {color:#0077bf;}
.result-value {color:#c3d3e2;}
.result-card.revealed .result-value {color:#08376f;}
.result-card.gold.revealed .result-value {color:#af6904;}
.result-detail {color:#a1b3c3;}
.result-card.revealed .result-detail {color:#4a6d8a;}
.control-bar,.compare-actions {background:#fff;border-top:1px solid #cbdff0;}
.action {background:#e8f4fc;border:2px solid #b7d3e8;color:#0a4278;border-radius:10px;box-shadow:0 3px 0 rgba(8,70,123,.1);font-size:11px;}
.action.primary {background:linear-gradient(#ed2857,#bf0c3b);color:white;border-color:#aa1635;box-shadow:0 4px 0 #7f1230;}
.action.primary:hover:not(:disabled) {background:#ec3a61;border-color:#ad1e42;}
.action.secondary {background:#e5f4ff;color:#094c86;border-color:#91c7ec;}
.action.textual {background:#f7fbff;color:#16446d;}
.controller-note {color:#627f98;}
.metric-toggle {background:#e0eef9;border:1px solid #bedaf0;border-radius:10px;}
.metric-toggle button {color:#426b8f;}
.metric-toggle button.selected {background:#0a508e;color:white;}
.compare-row {border:2px solid #d0e4f3;background:#fff;border-radius:13px;box-shadow:0 3px 0 rgba(100,158,196,.10);}
.compare-row.is-top.revealed {border-color:#eebc4e;background:#fffcf0;}
.compare-year {color:#093771;}
.compare-bar-track {background:#d9eaf5;border-radius:6px;}
.compare-bar-fill {background:linear-gradient(90deg,#0c65bd,#34a5e3);border-radius:6px;}
.compare-row.is-top .compare-bar-fill {background:linear-gradient(90deg,#e6a134,#ffd567);}
.compare-bar-info {color:#6688a5;}
.compare-points {color:#a4bbcc;}
.compare-row.revealed .compare-points {color:#083a75;}
.compare-award {border:2px solid #cddfee;background:#fff;border-radius:13px;}
.compare-award:first-child {border-color:#e2bb58;background:linear-gradient(115deg,#ffefbc,#fffaf0);}
.compare-award-kicker {color:#4b708e;}
.compare-award strong {color:#c5d5df;}
.compare-award.revealed strong {color:#093d76;}
.compare-award small {color:#5b7b94;}
.compare-footnote {color:#557793;}
.compare-footnote b {color:#0c5fa6;}
.compare-actions span {color:#6688a6;}
.footer {color:#0c4a7e;}
.footer-spark {color:#d31742;}.footer-dim {color:#5c88a6;}
.countdown-overlay {background:radial-gradient(circle at center,#0c5b9e 0%,#052854 70%,#031a3d 100%);}
.countdown-overlay::before {border-color:rgba(187,229,255,.2);box-shadow:0 0 0 60px rgba(187,229,255,.025),0 0 0 125px rgba(187,229,255,.022);}
.countdown-small,.countdown-bottom {color:#bdefff;}
.countdown-digit {color:#ffdc6b;}
@media(max-width:1040px){.hero-art {right:10px;width:300px;}.hero-photo {width:148px;height:192px;}.hero-text {padding-left:25px;} h1{font-size:clamp(62px,6.7vw,85px);}}
@media(max-width:790px){.hero-art {display:flex;width:170px;height:160px;opacity:.6;}.hero-photo {height:151px;width:120px;}.hero-photo.winter {left:0;}.hero-photo.summer {right:-17px;}.hero-sun,.hero-star{display:none;}.brand-text{display:none;}.hero {min-height:200px;}.hero-text {max-width:100%;}.hero-ribbon {font-size:8px;}.result-card{min-height:80px;}}
@media(max-width:540px){.masthead{min-height:75px;padding:8px 12px;}.brand-image{width:min(64vw,260px);}.hero{min-height:207px;margin-top:12px;}.hero-text{padding:24px 16px;}.hero h1{font-size:clamp(54px,13vw,70px);}.hero-art{opacity:.21;right:0;top:45px;}.hero p{font-size:12px;max-width:270px;}.hero-ribbon {gap:5px;padding:8px 9px;letter-spacing:0;font-size:8px;}.eyebrow{max-width:280px;font-size:8px;}.stage-top{padding:19px;}.tabs{margin-bottom:13px;}.tab{min-height:60px;box-shadow:0 3px 0 #a7c9df;}.brand-image img{width:100%;}.race-row{grid-template-columns:35px minmax(0,1fr) 66px;}.result-card{min-height:77px;}}

/* ════════════════════════════════════════════════════════════════
   DOJO ARENA v2 · Welcome portal, weekly scoring & Hall of Fame
   ════════════════════════════════════════════════════════════════ */
[hidden] {display:none !important;}
.brand-button {border:0;background:none;padding:0;text-align:left;border-radius:8px;color:inherit;cursor:pointer;}
.brand-button:hover .brand-text strong {color:#c51b44;}
#homePage {animation:screenEnter .35s ease both;}
#detailPage {animation:screenEnter .25s ease both;}
@keyframes screenEnter {from{opacity:.65;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
.home-hero {min-height:330px;margin-top:20px;margin-bottom:25px;}
.home-hero .hero-text {width:65%;max-width:755px;padding-top:34px;padding-bottom:43px;}
.home-hero h1 {font-size:clamp(66px,6.5vw,104px);line-height:.83;}
.home-hero h1 em {display:block;margin-top:10px;}
.hero-subhead {display:inline-block;color:#093366;background:#aee3ff;border-radius:5px;padding:5px 12px;font-size:12px;font-weight:900;letter-spacing:.16em;margin:0 0 21px;box-shadow:4px 4px 0 rgba(0,0,0,.16);}
.home-hero .hero-art {width:395px;height:292px;top:16px;right:22px;}
.home-hero .hero-photo {width:187px;height:248px;}
.home-hero .hero-photo.winter {left:0;top:13px;}
.home-hero .hero-photo.summer {right:0;top:3px;}
.home-hero .alicante-silhouette {width:600px;height:115px;opacity:.82;right:0;}
.hero-stamp {display:inline-flex;margin-left:14px;padding:9px 11px;background:rgba(0,20,58,.36);border:1px solid rgba(194,234,255,.28);border-radius:8px;color:#d6efff;font-weight:800;letter-spacing:.07em;font-size:9px;}
.home-intro {display:flex;align-items:end;justify-content:space-between;gap:20px;margin:16px 5px 16px;}
.home-intro h2 {font-size:clamp(39px,4.1vw,56px);line-height:1;margin:9px 0 4px;color:#0a386d;font-weight:900;letter-spacing:.012em;}
.home-intro p {font-size:13px;color:#4a6d8d;margin:7px 0 0;line-height:1.5;}
.home-spark {font-size:48px;color:#dc214a;text-shadow:4px 4px 0 #ffdc6a;line-height:1;}
.year-portal-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin:0 0 20px;}
.portal-card {min-height:237px;text-align:left;position:relative;overflow:hidden;border:2px solid #c5e1f1;border-bottom:6px solid #78badf;background:linear-gradient(150deg,#fff,#edf8ff 78%);border-radius:20px;box-shadow:0 10px 25px rgba(9,64,121,.09);padding:23px 23px 20px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;transition:transform .2s,box-shadow .2s,border-color .2s;color:#0a376c;}
.portal-card::before {content:"";position:absolute;right:-34px;top:-56px;width:205px;height:205px;background:radial-gradient(circle,#c8edff 0,#d9f3ff 52%,transparent 53%);border-radius:50%;}
.portal-card::after {content:"✦";position:absolute;right:28px;top:33px;color:#da1b46;font-size:39px;transform:rotate(-16deg);opacity:.82;}
.portal-card:hover {transform:translateY(-7px);border-color:#2087ce;box-shadow:0 20px 35px rgba(9,64,121,.19);}
.portal-card:focus-visible,.home-feature:focus-visible {outline:3px solid #de2250;outline-offset:3px;}
.portal-num {font-family:'Barlow Condensed',Impact,sans-serif;font-size:122px;letter-spacing:-.045em;font-weight:900;position:absolute;right:30px;top:-15px;line-height:1;color:rgba(19,116,188,.14);pointer-events:none;}
.portal-class {font-family:'Barlow Condensed',Impact,sans-serif;font-weight:900;letter-spacing:.012em;font-size:52px;line-height:.9;position:relative;}
.portal-description {position:relative;margin-top:12px;color:#6786a1;font-size:11px;font-weight:700;}
.portal-cta {display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;position:relative;margin-top:24px;border-top:1px solid #cfe3f3;padding-top:16px;font-size:11px;font-weight:900;letter-spacing:.06em;color:#0c5b9f;}
.portal-cta span {font-size:23px;color:#c71942;line-height:1;}
.portal-card:nth-child(2) {background:linear-gradient(150deg,#fff,#effaff 75%);}
.portal-card:nth-child(3) {background:linear-gradient(150deg,#fff,#eaf4ff 75%);}
.portal-card:nth-child(4) {background:linear-gradient(150deg,#fff,#f8faff 75%);}
.home-bottom-grid {display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.home-feature {background:linear-gradient(120deg,#08366e,#0e70ac);border:2px solid #ffffff;border-radius:17px;min-height:117px;color:#fff;padding:20px 23px;display:flex;gap:17px;align-items:center;text-align:left;box-shadow:0 8px 21px rgba(7,65,121,.16);transition:transform .2s,filter .2s;}
.home-feature:hover {transform:translateY(-4px);filter:brightness(1.08);}
.home-feature.gold {background:linear-gradient(120deg,#0c396a,#09579a);}
.feature-icon {font-size:35px;line-height:1;display:grid;place-items:center;width:65px;height:65px;flex:0 0 65px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.35);border-radius:15px;}
.home-feature b {font-family:'Barlow Condensed',Impact,sans-serif;letter-spacing:.035em;font-size:29px;display:block;line-height:1.03;}
.home-feature small {font-size:11px;display:block;margin-top:7px;color:#d6efff;line-height:1.5;font-weight:600;}
.feature-arrow {font-size:32px;margin-left:auto;color:#ffdb6f;align-self:flex-start;}
.how-it-works {display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap;margin-top:19px;margin-bottom:8px;padding:14px;border:1px solid #c4e0f2;border-radius:12px;background:rgba(255,255,255,.8);font-size:11px;font-weight:800;color:#40668b;}
.how-it-works b {color:#0c4581;letter-spacing:.07em;}
.detail-bar {display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 3px 12px;}
.back-home {background:transparent;color:#0a548c;border:0;font-size:11px;font-weight:900;letter-spacing:.12em;padding:12px 2px;}
.back-home:hover {color:#d21b46;text-decoration:underline;}
#detailPage .tabs {grid-template-columns:repeat(4,minmax(0,1fr)) minmax(142px,1.05fr) minmax(164px,1.15fr);gap:8px;margin-bottom:16px;}
#detailPage .tab {font-size:19px;min-height:59px;height:59px;padding:0 13px;gap:8px;}
#detailPage .history-tab {background:linear-gradient(#fff8e2,#ffe7a2);border-color:#e6c16c;color:#09396f;}
#detailPage .history-tab.active {background:linear-gradient(#f7c659,#d99b2c);color:#07346b;border-color:#b07720;box-shadow:0 5px 0 #a96d23;}
#detailPage .history-tab .tab-icon {color:#ca8b18;}
.stage-mode-row {display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:13px;background:#fff;border-bottom:1px solid #d2e7f2;padding:14px 27px;}
.metric-toggle {display:flex;flex-wrap:wrap;gap:3px;border-radius:10px;padding:4px;background:#e1f0fb;}
.metric-toggle button {font-size:11px;min-height:36px;padding:9px 13px;white-space:nowrap;}
.metric-toggle button:disabled {opacity:.42;cursor:not-allowed;}
.metric-description {font-size:11px;color:#4d7191;font-weight:700;line-height:1.4;}
.baseline-banner {margin:16px 28px 0;padding:13px 16px;border-radius:11px;background:#fff6db;border:1px solid #ebd38b;color:#724a03;font-size:12px;line-height:1.5;}
.baseline-banner b {color:#864800;}
.race-ident {display:flex;flex-direction:column;align-items:flex-start;min-width:0;}
.race-ident small {font-size:9px;font-weight:800;letter-spacing:0;white-space:nowrap;color:#6588a5;}
.stage-tail {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:9px;background:#f5fbff;padding:13px 23px;border-top:1px solid #d9eaf5;font-size:10px;font-weight:900;letter-spacing:.08em;color:#517b9b;}
.inline-link {background:none;border:0;color:#0a5caa;font-weight:900;font-size:11px;letter-spacing:.04em;}
.inline-link:hover {text-decoration:underline;color:#c31943;}
.history-big-icon {font-size:68px;line-height:1;align-self:center;filter:drop-shadow(0 4px 2px rgba(0,0,0,.16));}
.hall-empty {background:linear-gradient(#f7fcff,#e7f5ff);padding:61px 24px 63px;text-align:center;}
.hall-empty-medal {width:83px;height:83px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;font-size:58px;background:linear-gradient(125deg,#ffe4a3,#fff4d3);border:2px solid #e5b751;color:#ad6d17;box-shadow:0 6px 0 rgba(177,132,40,.2);}
.hall-empty h3 {font-size:47px;line-height:1;margin-bottom:12px;color:#083c76;}
.hall-empty p {max-width:645px;margin:0 auto;color:#4b6e90;line-height:1.7;font-size:14px;}
.hall-empty-step {display:flex;gap:13px;justify-content:center;align-items:center;flex-wrap:wrap;font-size:10px;font-weight:900;letter-spacing:.07em;color:#0c5e9e;background:#fff;border:1px solid #c7e2f2;border-radius:999px;padding:13px 18px;max-width:max-content;margin:25px auto 24px;}
.hall-empty-step span {color:#d5274a;font-size:17px;}
.hall-content {padding:28px 30px 36px;background:linear-gradient(#f9fcff,#eaf7fe);}
.history-table-wrap {overflow-x:auto;border:1px solid #c8e0ef;border-radius:13px;background:white;box-shadow:0 6px 17px rgba(6,55,107,.08);}
.history-table {border-collapse:collapse;width:100%;min-width:695px;text-align:left;}
.history-table th {padding:15px 14px;white-space:nowrap;color:#0c477d;font-size:11px;letter-spacing:.05em;}
.history-table thead th {background:#e6f2fb;border-bottom:2px solid #9dc4e0;}
.history-table tbody th,.history-table td {border-bottom:1px solid #e1edf5;vertical-align:top;padding:17px 14px;}
.history-table tbody tr:last-child th,.history-table tbody tr:last-child td {border-bottom:0;}
.history-table tbody tr:nth-child(2n) {background:#f8fcff;}
.winner-pill {display:inline-block;font-family:'Barlow Condensed',Impact,sans-serif;font-size:23px;font-weight:900;color:#0c437f;line-height:1.1;}
.history-table td small {display:block;color:#547b9e;font-size:10px;font-weight:800;margin-top:6px;}
.no-result {font-size:11px;color:#6e87a0;}
.championship-title {margin-top:30px;}
.champ-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;}
.champ-card {border:1px solid #c6dfef;border-radius:13px;background:#fff;box-shadow:0 4px 0 rgba(83,147,195,.1);overflow:hidden;}
.champ-title {background:#0c5c9c;color:white;padding:12px 16px;font-family:'Barlow Condensed',Impact,sans-serif;font-size:24px;font-weight:900;letter-spacing:.05em;}
.champ-list {padding:11px;min-height:78px;}
.champ-row {display:flex;align-items:center;justify-content:space-between;gap:6px;padding:8px 5px;border-bottom:1px solid #ecf3f8;font-weight:800;font-size:13px;color:#15466e;}
.champ-row:last-child {border-bottom:0;}
.champ-row strong {font-size:10px;white-space:nowrap;color:#a46810;}
.champ-no-wins {font-size:12px;color:#6887a2;line-height:1.5;}
.hall-explainer {color:#587795;font-size:11px;line-height:1.6;margin:16px 0 0;}
@media(max-width:1110px) {
  .home-hero .hero-art {right:10px;opacity:.93;transform:scale(.89);transform-origin:right center;}
  .home-hero .hero-text {width:70%;}
  .home-hero h1 {font-size:clamp(66px,6.6vw,91px);}
  .hero-stamp {display:block;width:max-content;margin:12px 0 0;}
  .portal-card {min-height:213px;padding:20px 17px;}
  .portal-class {font-size:45px;}
  #detailPage .tabs {grid-template-columns:repeat(3,minmax(0,1fr));}
  .champ-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:790px) {
  .home-hero {min-height:292px;}
  .home-hero .hero-art {display:flex;width:310px;height:270px;opacity:.38;top:12px;right:0;transform:scale(.91);}
  .home-hero .hero-text {width:100%;max-width:100%;z-index:2;}
  .home-hero h1 {font-size:clamp(68px,10vw,90px);}
  .home-hero .hero-photo {width:175px;height:230px;}
  .year-portal-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .home-bottom-grid {grid-template-columns:1fr;}
  .how-it-works {gap:10px;justify-content:start;}
  .metric-description {width:100%;}
}
@media(max-width:540px) {
  .home-hero {min-height:305px;}
  .home-hero .hero-text {padding:26px 16px 30px;}
  .home-hero h1 {font-size:clamp(59px,12.6vw,72px);}
  .home-hero .hero-art {transform:scale(.65);right:-30px;top:69px;opacity:.20;}
  .hero-subhead {font-size:9px;letter-spacing:.10em;padding:5px 8px;margin-bottom:18px;}
  .home-hero p {max-width:290px;font-size:13px;}
  .home-hero .hero-ribbon {font-size:8px;}
  .hero-stamp {font-size:8px;margin:12px 0 0;padding:7px 9px;}
  .home-intro h2 {font-size:38px;}
  .home-intro p {font-size:12px;}
  .home-spark {display:none;}
  .year-portal-grid {gap:9px;}
  .portal-card {min-height:179px;border-radius:13px;padding:14px 12px;}
  .portal-num {font-size:90px;right:17px;top:-7px;}
  .portal-card::after {right:15px;top:22px;font-size:21px;}
  .portal-class {font-size:36px;}
  .portal-description {font-size:9px;line-height:1.3;}
  .portal-cta {font-size:9px;margin-top:15px;padding-top:11px;}
  .home-feature {padding:13px;gap:12px;min-height:94px;}
  .feature-icon {width:49px;height:49px;flex-basis:49px;font-size:25px;}
  .home-feature b {font-size:24px;}
  .home-feature small {font-size:10px;}
  .feature-arrow {font-size:20px;}
  .how-it-works {font-size:9px;line-height:1.5;padding:11px;}
  .detail-bar {align-items:flex-start;}
  .detail-bar .week-badge {font-size:8px;max-width:51%;}
  #detailPage .tabs {grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
  #detailPage .tab {min-height:51px;height:51px;font-size:18px;}
  .stage-mode-row {padding:12px;}
  .metric-toggle button {font-size:9px;padding:7px 9px;min-height:33px;}
  .metric-description {font-size:10px;}
  .baseline-banner {margin:10px 12px 0;font-size:11px;}
  .race-ident small {font-size:8px;}
  .race-ident .race-class {font-size:27px;}
  .race-row {grid-template-columns:48px minmax(0,1fr) 64px;}
  .stage-tail {padding:11px 13px;}
  .history-big-icon {font-size:44px;}
  .hall-empty {padding:37px 14px;}
  .hall-empty h3 {font-size:34px;}
  .hall-empty p {font-size:12px;}
  .hall-content {padding:16px 12px 24px;}
  .champ-grid {grid-template-columns:1fr;}
}
