:root{--bg:#121016;--surface:#201b25;--surface2:#2a2230;--ink:#f5f1e9;--muted:#ada5ad;--yellow:#f4ee55;--pink:#fa5f9b;--purple:#c6a1ff;--mint:#b2f5bb;--line:#514459;--black:#0b0a0d}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.48;-webkit-font-smoothing:antialiased}button,select,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}a{color:inherit}.checker{position:absolute;top:0;right:0;left:0;height:8px;background:repeating-conic-gradient(#f2eede 0% 25%,#17131b 0% 50%) 0 0/18px 18px;z-index:5}.page{max-width:1440px;padding:0 30px;margin:0 auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;height:103px;border-bottom:1px solid #433b44}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-emblem{font-family:Impact,"Arial Black",sans-serif;font-size:38px;color:var(--yellow);letter-spacing:-3px;position:relative;transform:rotate(-6deg);line-height:1}.brand-emblem span{color:var(--pink);position:absolute;font-size:17px;top:-10px;right:-12px;letter-spacing:0}.brand-copy{font-weight:1000;font-size:15px;letter-spacing:.12em;line-height:1.05}.head-right{display:flex;align-items:center;gap:15px}.mini-badge{font-size:12px;letter-spacing:.14em;font-weight:900}.head-divider{color:var(--pink);font-weight:900}.hero{position:relative;overflow:hidden;padding:42px 52px 36px;border:1px solid var(--line);border-top:none;margin:0 -1px 22px;background:radial-gradient(circle at 97% 18%,#d6438427 0,transparent 36%),radial-gradient(circle at 75% 92%,#7c419127 0,transparent 35%),#1d1721}.hero:after{pointer-events:none;content:"";position:absolute;inset:0;background-image:radial-gradient(#f8eefe08 1px,transparent 1px);background-size:12px 12px;mask-image:linear-gradient(105deg,transparent 20%,#000);z-index:0}.hero>*{z-index:1;position:relative}.hero-label{display:flex;align-items:center;gap:16px}.sticker{background:var(--yellow);color:#151019;padding:7px 12px;font-weight:1000;font-size:12px;transform:rotate(-2deg);letter-spacing:.06em}.hero-label-text{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.16em}.hero h1{font-family:Impact,"Arial Black",sans-serif;font-size:clamp(70px,10.5vw,154px);line-height:.89;letter-spacing:-.015em;margin:30px 0 23px;font-weight:900}.hero h1>span{color:var(--pink)}.hero h1 small{display:inline-block;font-size:clamp(28px,4.4vw,58px);letter-spacing:.006em;color:var(--yellow);transform:rotate(-1deg);margin-top:5px}.hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:30px}.hero-bottom p{max-width:580px;font-size:15px;line-height:1.65;color:#d3cbd5;margin:0}.big-stars{font-size:40px;color:var(--purple);white-space:nowrap;transform:rotate(-10deg)}.data-notice{display:flex;align-items:center;gap:14px;border:1px dashed #f5ce7e;padding:14px 18px;margin-bottom:20px;background:#332919}.notice-icon{display:grid;place-items:center;flex:none;background:var(--yellow);width:29px;height:29px;border-radius:50%;font-weight:1000;color:#100d0a}.data-notice strong{font-size:12px;letter-spacing:.13em}.data-notice p{margin:2px 0 0;color:#dfd3c5;font-size:12px}.text-link{border:0;background:none;color:var(--yellow);font-weight:900;font-size:11px;letter-spacing:.08em;margin-left:auto;white-space:nowrap}.text-link:hover{text-decoration:underline}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0 22px}.metric-card{position:relative;overflow:hidden;min-height:150px;border:1px solid #49404d;padding:17px 21px;background:var(--surface)}.metric-card:before{content:"";position:absolute;right:-38px;bottom:-65px;width:140px;height:140px;border:23px solid currentColor;border-radius:50%;opacity:.06}.metric-card.yellow{color:var(--yellow)}.metric-card.pink{color:var(--pink)}.metric-card.purple{color:var(--purple)}.metric-card.mint{color:var(--mint)}.metric-head{font-size:11px;font-weight:1000;letter-spacing:.1em;display:flex;justify-content:space-between;gap:8px}.metric-head span{opacity:.4}.metric-card strong{display:block;color:currentColor;font-family:Impact,"Arial Black",sans-serif;font-weight:900;font-size:72px;letter-spacing:-1px;line-height:1.1;margin:8px 0 1px}.metric-foot{color:#c5bacb;font-size:12px}.panel{border:1px solid var(--line);background:var(--surface);padding:24px 27px}.race-panel{margin-bottom:16px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.section-heading.compact{margin-bottom:12px}.section-kicker{font-size:10px;color:var(--yellow);font-weight:1000;letter-spacing:.18em}.section-heading h2,.final-panel h2{font-family:Impact,"Arial Black",sans-serif;font-weight:900;font-size:clamp(33px,4vw,49px);letter-spacing:.01em;line-height:1.02;margin:7px 0 8px}.section-heading h2 em,.final-panel h2 em{color:var(--pink);font-style:normal}.section-heading p{color:var(--muted);font-size:13px;margin:0}.outline-button{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:38px;white-space:nowrap;padding:9px 14px;background:transparent;color:var(--ink);border:1px solid #685d6b;text-decoration:none;font-weight:1000;letter-spacing:.03em;font-size:11px;transition:background .2s,border-color .2s}.outline-button:hover{border-color:var(--yellow);background:#f4ee5514}.control-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px;flex-wrap:wrap}.toggle-group{display:flex;gap:4px;padding:3px;background:#302936;border:1px solid #4b4250}.toggle-group button{border:0;color:#c7bec9;background:transparent;padding:10px 17px;letter-spacing:.07em;font-size:11px;font-weight:1000}.toggle-group button.active{background:var(--yellow);color:#120f12}.day-toggle button.active{background:var(--purple)}.race-stage{background:linear-gradient(160deg,#211d25 0%,#131116 100%);border:1px solid #55485c;position:relative;min-height:550px;padding:18px}.race-stage:before{content:"";position:absolute;inset:0;opacity:.18;background-image:linear-gradient(90deg,#fff2 1px,transparent 1px),linear-gradient(#fff1 1px,transparent 1px);background-size:100px 100px;pointer-events:none}.race-stage>*{position:relative}.race-stage-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.stage-stamp{font-size:10px;letter-spacing:.17em;font-weight:1000;color:#b4abb8}.stage-stamp b{color:var(--pink)}.stage-date{text-align:right;display:flex;flex-direction:column;gap:2px}.stage-date strong{font-family:Impact,"Arial Black",sans-serif;font-size:27px;font-weight:900;color:var(--yellow);line-height:1}.stage-date span{color:#b4aab4;font-size:11px;letter-spacing:.1em}.race-chart{height:440px;width:100%;position:relative}.race-stage-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:5px}.legend{display:flex;align-items:center;gap:20px}.legend span{font-size:10px;font-weight:900;letter-spacing:.08em;color:#d2c8d3;display:inline-flex;align-items:center;gap:6px}.swatch,.mark{display:inline-block;width:8px;height:8px;background:var(--pink)}.pink-dot,.pink-mark{background:var(--pink)}.purple-dot,.purple-mark{background:var(--purple)}.yellow-mark{background:var(--yellow)}.origin-badge{font-size:10px;letter-spacing:.08em;border:1px solid var(--yellow);color:var(--yellow);padding:5px 9px;font-weight:1000}.origin-badge.demo{color:#e7b9f0;border-color:#c6a1ff}.playback{display:flex;align-items:center;gap:16px;margin-top:18px}.play-button{display:grid;place-items:center;flex:none;border:0;border-radius:50%;width:52px;height:52px;font-size:19px;font-weight:900;background:var(--pink);color:#100a10}.playbar{flex:1;min-width:80px}.playbar-titles{display:flex;justify-content:space-between;gap:12px;font-size:11px;letter-spacing:.07em;font-weight:900}.playbar-titles span{color:var(--muted)}.playbar input{display:block;width:100%;accent-color:var(--yellow);margin-top:12px}.speed-select{background:#302936;border:1px solid #625466;color:var(--ink);padding:11px 10px;font-size:11px;font-weight:900;letter-spacing:.02em}.below-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin-bottom:16px}.span-7{grid-column:span 7}.span-5{grid-column:span 5}.span-12{grid-column:span 12}.viz{width:100%;min-height:150px}.medium-viz{height:278px}.large-viz{height:405px}.scatter-viz{height:350px}.small-legend{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:9px;font-size:9px;font-weight:1000;color:#d9cddc;letter-spacing:.08em}.small-legend .mark{margin-left:8px}.vote-numbers{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 17px;font-size:10px;letter-spacing:.05em;font-weight:900;margin-top:5px}.vote-numbers span{display:inline-flex;align-items:center;gap:5px}.vote-numbers b{color:var(--ink);font-size:13px}.vote-numbers i{display:inline-block;width:9px;height:9px}.climbers{display:flex;flex-direction:column;gap:10px;min-height:390px;margin-top:23px}.climber-row{display:flex;align-items:center;gap:10px;background:#2d2532;padding:11px 12px;border:1px solid #453c4a}.climber-rank{font:28px Impact,"Arial Black",sans-serif;color:var(--pink);min-width:30px}.climber-info{flex:1;min-width:0}.climber-info strong{font-size:13px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.climber-info small{display:block;font-size:10px;color:#aca2ad;margin-top:3px}.climber-change{font-size:17px;font-weight:900;color:var(--mint)}.climber-placeholder{display:flex;align-items:center;justify-content:center;min-height:190px;color:#b8a9ba;font-size:14px;text-align:center;border:1px dashed #6d5a70;padding:20px}.microcopy{font-size:11px;color:var(--muted);margin:11px 0 0}.final-panel{display:flex;align-items:center;gap:25px;border:1px solid #8b6c89;background:linear-gradient(100deg,#322339,#241e29);padding:32px 28px;margin-bottom:24px}.final-star{font-size:75px;line-height:1;color:var(--yellow);transform:rotate(-13deg);flex:none}.final-panel h2{font-size:39px}.final-panel p{margin:0;color:#c7bac8;font-size:12px;max-width:650px;line-height:1.65}.final-actions{display:flex;gap:8px;flex-direction:column;margin-left:auto;flex:none}.solid-button{background:var(--yellow);color:#100e12;border:0;padding:13px 18px;font-size:11px;font-weight:1000;white-space:nowrap}.solid-button:hover{background:#fff8a2}.footer-checker{height:16px;background:repeating-conic-gradient(#ede8df 0% 25%,#151216 0% 50%) 0 0/20px 20px}.footer-copy{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:10px;color:#918594;padding:25px 0 32px}.footer-copy strong{color:#cbbeca}.fallback-race{padding:16px 6px 0;display:flex;flex-direction:column;gap:9px}.fallback-item{display:grid;grid-template-columns:164px minmax(0,1fr) 42px;gap:10px;align-items:center;min-height:27px}.fallback-item .name{font-size:12px;text-align:right;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fallback-item .bar{height:21px;background:var(--pink);transition:width .7s}.fallback-item .value{font-size:11px;font-weight:900}.fallback-chart{display:flex;align-items:center;justify-content:center;min-height:180px;padding:16px;color:var(--muted);font-size:12px;text-align:center}.race-panel:fullscreen{overflow-y:auto;background:#100e14;display:flex;flex-direction:column;justify-content:center;padding:2vw}.race-panel:fullscreen>.section-heading,.race-panel:fullscreen>.control-row,.race-panel:fullscreen>.playback{max-width:1400px;width:100%;margin-left:auto;margin-right:auto}.race-panel:fullscreen .race-stage{max-width:1400px;width:100%;margin:0 auto;min-height:min(78vh,900px)}.race-panel:fullscreen .race-chart{height:min(62vh,720px)}
@media(max-width:1100px){.page{padding:0 19px}.hero{padding:40px 35px}.metric-card{padding:14px}.metric-card strong{font-size:58px}.span-7,.span-5{grid-column:span 6}.final-panel{flex-wrap:wrap}.final-actions{margin-left:0;flex-direction:row}.climbers{min-height:auto}}
@media(max-width:760px){.page{padding:0 12px}.site-header{height:78px}.brand-emblem{font-size:30px}.brand-copy{font-size:12px}.mini-badge{font-size:10px}.hero{padding:28px 22px}.hero h1{font-size:clamp(53px,14vw,100px);margin:24px 0 14px}.hero h1 small{font-size:clamp(22px,5.2vw,40px)}.hero-bottom p{font-size:12px}.big-stars{display:none}.data-notice{align-items:flex-start;flex-wrap:wrap;padding:12px}.data-notice .text-link{margin-left:43px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.metric-card{min-height:121px;padding:12px 13px}.metric-card strong{font-size:52px}.metric-head{font-size:9px}.metric-foot{font-size:10px}.panel{padding:16px}.section-heading h2{font-size:35px}.section-heading p{font-size:11px}.race-stage{min-height:474px;padding:10px}.race-chart{height:370px}.stage-stamp{font-size:8px}.stage-date strong{font-size:20px}.toggle-group button{font-size:9px;padding:8px 9px}.control-row{gap:8px}.playback{gap:8px;flex-wrap:wrap}.play-button{height:45px;width:45px}.playbar{min-width:180px}.speed-select{font-size:10px;padding:8px}.save-race{margin-left:auto}.span-7,.span-5,.span-12{grid-column:span 12}.medium-viz{height:255px}.scatter-viz{height:300px}.final-panel{padding:20px}.final-star{font-size:49px}.final-panel h2{font-size:32px}.final-panel>div:nth-child(2){flex:1}.footer-copy{flex-direction:column;gap:7px}.fallback-item{grid-template-columns:108px minmax(0,1fr) 28px;gap:6px}.fallback-item .name{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Independent live-stats data source controls */
.data-notice{gap:12px;align-items:center}
.data-notice .notice-body{flex:1 1 260px;min-width:0}
.notice-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center;justify-content:flex-end}
.notice-actions .text-link{white-space:nowrap;margin:0;padding:8px 10px;border:1px solid #75677c;background:#251e2b;color:#f6edfa;cursor:pointer}
.notice-actions .text-link:hover{border-color:var(--yellow);color:var(--yellow)}
.notice-actions .demo-link{color:#e3b9ff;border-color:#8d66ad}
.notice-actions .text-link:disabled{opacity:.5;cursor:wait}
.data-notice.is-demo{border-color:#f5ce7e}
@media(max-width:760px){.notice-actions{justify-content:flex-start;width:100%;margin-left:0}.notice-actions .text-link{margin-left:0!important;font-size:10px;flex:1 1 auto}.data-notice .notice-body{flex:1 1 calc(100% - 65px)}}
