*,:before,:after{box-sizing:border-box}@font-face{font-family:Pretendard Variable;src:url(./PretendardVariable-CJuje-Rk.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root{--stadium:#b8d8c0;--track:#c96f4a;--ticket:#fff2cc;--ink:#172b36;--ink-deep:#0b1114;--finish:#ffd447;--judgement:#e93d3d;--judgement-dark:#941c25;--paper:#fff9e8;--white:#fffdf6;--shadow:0 20px 50px #172b362b;--display:"Pretendard Variable", "Malgun Gothic", "Apple SD Gothic Neo", sans-serif;--mono:"Cascadia Mono", "Consolas", monospace}html{background:#eaf0ee;min-width:320px}body{min-height:100vh;color:var(--ink);font-family:var(--display);background:#eaf0ee;margin:0}button,textarea,select{font:inherit}button{color:inherit}button:focus-visible,textarea:focus-visible,select:focus-visible{outline:4px solid var(--finish);outline-offset:3px}[hidden]{display:none!important}.broadcast-bar{color:#eff5ef;background:#17323c;border-bottom:1px solid #ffffff29;align-items:center;gap:14px;min-height:66px;padding:8px clamp(16px,4vw,58px);display:flex}.broadcast-bar p{letter-spacing:-.01em;margin:0;font-size:13px;font-weight:800}.broadcast-mark{gap:3px;display:flex}.broadcast-mark span{color:#17323c;width:26px;height:26px;font:900 15px/1 var(--mono);background:#f2c66e;border-radius:3px;place-items:center;display:grid}.broadcast-mark span:last-child{color:#fff;background:#d7765a}.broadcast-time{font:700 11px/1 var(--mono);letter-spacing:.04em;margin-left:auto}.live-dot{background:var(--judgement);border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block;box-shadow:0 0 0 4px #e93d3d33}.mute-button{min-width:96px;min-height:44px;color:var(--ticket);cursor:pointer;background:0 0;border:1px solid #fff2cc59;border-radius:4px;padding:8px 11px;font-size:11px;font-weight:800}.mute-button:hover{background:#fff2cc1a}.shell{width:min(1240px,100% - 48px);margin:0 auto;padding:clamp(38px,5vw,68px) 0 70px}.kicker{font:800 12px/1.2 var(--mono);letter-spacing:.13em;text-transform:uppercase;margin:0 0 13px}.home-hero{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(28px,4vw,60px);display:grid}.hero-copy{min-width:0}.hero-copy .kicker{color:#355e67;letter-spacing:.1em;align-items:center;gap:9px;margin-bottom:22px;font-size:11px;display:flex}.hero-copy .kicker:before{content:"";background:#d7765a;width:22px;height:2px}.hero-copy .kicker span{color:#d7765a}.hero-copy h1{color:#17323c;letter-spacing:-.065em;margin:0;line-height:.99}.hero-copy h1>span{white-space:nowrap;font-size:clamp(42px,4.8vw,70px);font-weight:700;display:block}.hero-copy h1 strong{white-space:nowrap;margin-top:5px;font-size:clamp(62px,6.5vw,95px);font-weight:900;display:block}.hero-period{color:#d7765a}.hero-lede{color:#4d666e;max-width:510px;margin:26px 0 0;font-size:clamp(15px,1.6vw,18px);font-weight:550;line-height:1.7}.hero-facts{flex-wrap:wrap;gap:8px;margin-top:30px;display:flex}.hero-facts span{color:#355963;background:#ffffff85;border:1px solid #c6d7d5;border-radius:5px;padding:9px 11px;font-size:11px;font-weight:750}.hero-art{aspect-ratio:720/440;background:#a8cbd5;border:1px solid #bbd0d0;border-radius:22px;min-width:0;position:relative;overflow:hidden;box-shadow:0 28px 55px #2a4b5026}.hero-art svg{width:100%;height:100%;display:block}.hero-art-caption{color:#fff;background:linear-gradient(#0000,#122e38d4);align-items:center;gap:14px;padding:30px 22px 16px;display:flex;position:absolute;inset:auto 0 0}.hero-art-caption span{font:800 10px/1 var(--mono);letter-spacing:.08em;color:#f2c66e;white-space:nowrap}.hero-art-caption strong{font-size:12px;font-weight:700}.entry-grid{grid-template-columns:minmax(0,1.7fr) minmax(280px,.75fr);align-items:stretch;gap:22px;margin-top:48px;display:grid}.entry-ticket,.race-notes,.history-panel{border:3px solid var(--ink);background:var(--ticket);box-shadow:9px 9px 0 var(--ink);position:relative}.entry-ticket{padding:clamp(22px,4vw,38px)}.entry-ticket:before,.winner-ticket:before{content:"";background:radial-gradient(circle at 0 8px, var(--stadium) 0 5px, transparent 5.5px) 0 0 / 12px 18px repeat-y;width:12px;position:absolute;inset:-3px auto -3px -9px}.ticket-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:25px;display:flex}.ticket-label{font:800 10px/1 var(--mono);letter-spacing:.16em;opacity:.66;display:block}.ticket-head h2,.race-notes h2,.history-panel h2{letter-spacing:-.04em;margin:7px 0 0;font-size:22px}.candidate-count{border:2px solid var(--ink);font:900 13px/1 var(--mono);background:var(--finish);padding:7px 9px}.candidate-count.over{color:var(--ink-deep);background:var(--judgement)}.entry-ticket label{justify-content:space-between;gap:12px;margin-bottom:9px;font-size:13px;font-weight:900;display:flex}.entry-ticket label small{color:#172b369e;font-weight:600}textarea{resize:vertical;border:3px solid var(--ink);width:100%;min-height:208px;color:var(--ink);background:var(--paper);border-radius:0;padding:17px 19px;font-size:17px;font-weight:750;line-height:1.6;box-shadow:inset 0 -6px #172b360f}.input-error{min-height:21px;color:var(--judgement-dark);margin:8px 0 0;font-size:12px;font-weight:900}.tool-roster-head{justify-content:space-between;gap:12px;margin:13px 0 9px;font-size:13px;font-weight:900;display:flex}.tool-roster-head small{color:#172b369e;font-weight:600}.tool-roster{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.entry-ticket .tool-row{background:#fff9e8b8;border:2px solid #172b3638;grid-template-columns:minmax(0,1fr) minmax(8rem,.8fr);align-items:center;gap:.6rem;margin:0;padding:7px 8px;display:grid}.tool-row>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tool-row select{border:2px solid var(--ink);min-width:0;color:var(--ink);background:var(--paper);padding:6px 7px;font-size:12px;font-weight:800}.entry-actions{justify-content:space-between;align-items:center;gap:14px;margin-top:10px;display:flex}.text-button{cursor:pointer;background:0 0;border:0;border-bottom:2px solid;min-height:44px;padding:11px 8px;font-size:13px;font-weight:900}.text-button:hover{color:var(--judgement-dark)}.start-button{border:3px solid var(--ink);min-width:220px;min-height:56px;color:var(--ink-deep);background:var(--judgement);box-shadow:5px 5px 0 var(--ink);cursor:pointer;justify-content:space-between;align-items:center;gap:35px;padding:17px 19px;font-weight:1000;display:inline-flex}.start-button:hover{box-shadow:3px 3px 0 var(--ink);transform:translate(2px,2px)}.start-button:active{box-shadow:none;transform:translate(5px,5px)}.start-button b{font:900 17px/1 var(--mono)}.race-notes{color:var(--ticket);background:var(--ink);box-shadow:9px 9px 0 var(--judgement);padding:28px 27px;overflow:hidden}.notice-number{color:var(--finish);font:1000 clamp(62px, 8vw, 96px)/1 var(--mono);letter-spacing:-.1em;margin:-12px 0 4px}.notice-number span{letter-spacing:0;font-size:22px}.race-notes h2{color:var(--white)}.race-notes ol{margin:24px 0 0;padding-left:22px}.race-notes li{color:#fff2ccbd;padding:0 0 16px 5px;font-size:13px;line-height:1.55}.race-notes li::marker{color:var(--finish);font:900 13px var(--mono)}.race-notes b{color:var(--ticket)}.fairness-seal{color:var(--finish);font:800 10px/1 var(--mono);letter-spacing:.1em;border-top:1px dashed #fff2cc4d;margin-top:13px;padding-top:14px}.history-panel{box-shadow:7px 7px 0 var(--ink);align-items:center;gap:30px;margin-top:28px;padding:20px 25px;display:flex}.recent-results{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:0 0 0 auto;padding:0;list-style:none;display:flex}.recent-results li{border:2px solid var(--ink);background:var(--paper);padding:8px 11px;font-size:12px;font-weight:900}.input-view .entry-ticket,.input-view .race-notes,.input-view .history-panel{border:1px solid #d4e0dd;border-radius:18px;box-shadow:0 16px 40px #1f434814}.input-view .entry-ticket{background:#fff;padding:clamp(24px,3vw,36px)}.input-view .entry-ticket:before{display:none}.input-view .ticket-label{color:#556f76;opacity:1}.input-view .ticket-head h2,.input-view .race-notes h2,.input-view .history-panel h2{color:#17323c;font-size:23px;font-weight:850}.input-view .candidate-count{color:#2b5962;background:#e6f1ee;border:0;border-radius:6px;font-size:12px}.input-view .candidate-count.over{color:#852f24;background:#f9dfd8}.input-view .entry-ticket label,.input-view .tool-roster-head{color:#31515a;font-weight:750}.input-view .entry-ticket label small,.input-view .tool-roster-head small{color:#556f76;font-weight:500}.input-view textarea{color:#17323c;min-height:184px;box-shadow:none;background:#f7faf8;border:1px solid #cbdad9;border-radius:10px;font-weight:550}.input-view textarea:focus{border-color:#5b96a0}.input-view .tool-roster{gap:8px}.input-view .entry-ticket .tool-row{background:#f8faf9;border:1px solid #d9e5e3;border-radius:8px}.input-view .tool-row select{background:#fff;border:1px solid #cbdad9;border-radius:5px;font-weight:600}.starting-gate{color:#eaf5f1;background:#244c57;border-radius:12px;margin-top:25px;padding:17px}.starting-gate-head{justify-content:space-between;align-items:center;gap:14px;display:flex}.starting-gate-head span{color:#adc9c9;font:800 10px/1 var(--mono);letter-spacing:.12em}.starting-gate-head h3{color:#fff;letter-spacing:-.04em;margin:4px 0 0;font-size:18px}.starting-gate-head button{color:#17323c;cursor:pointer;background:#c6e6d9;border:1px solid #8bb9b6;border-radius:7px;flex:none;padding:9px 11px;font-weight:800}.starting-gate-head button:hover:not(:disabled){background:#f2c66e}.starting-gate-head button:disabled{opacity:.5;cursor:not-allowed}.starting-gate-note{color:#c3d8d6;margin:10px 0 14px;font-size:12px;line-height:1.4}.starting-grid-scroll{overflow-x:auto}.starting-grid{grid-template-columns:repeat(var(--gate-columns,6), minmax(86px, 1fr));border-top:2px dashed #7da5a6;gap:8px;min-height:69px;padding:12px 0 4px;display:grid}.starting-card{color:#17323c;background:#f7faf8;border-top:4px solid #f2c66e;border-radius:5px;min-width:0;padding:8px 7px;animation:.25s ease-out both gate-arrive}.starting-slot{color:#5b7a80;font:800 10px/1 var(--mono);display:block}.starting-name{text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;font-weight:800;display:block;overflow:hidden}.starting-tool{color:#56757c;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:10px;display:block;overflow:hidden}.starting-empty{color:#c3d8d6;grid-column:1/-1;margin:4px;font-size:12px}@keyframes gate-arrive{0%{opacity:.45;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.input-view .start-button{color:#fff;background:#ad533c;border:0;border-radius:8px;min-height:52px;font-weight:800;box-shadow:0 7px 16px #ad513a36}.input-view .start-button:hover{background:#94442f;transform:translateY(-2px);box-shadow:0 11px 19px #ad513a40}.input-view .start-button:active{transform:translateY(0);box-shadow:0 3px 8px #ad513a33}.input-view .text-button{color:#355e67;border-bottom-width:1px;font-weight:750}.input-view .race-notes{color:#e6f3ee;background:#17323c;flex-direction:column;padding:31px 28px;display:flex;overflow:hidden}.input-view .notice-number{color:#f2c66e;letter-spacing:-.09em;margin:0 0 19px;font-size:clamp(58px,7vw,82px)}.input-view .race-notes h2{color:#f8fbf8;font-size:20px}.input-view .race-notes ol{margin-top:21px}.input-view .race-notes li{color:#c3d5d4}.input-view .race-notes li::marker{color:#f2c66e}.input-view .race-notes b{color:#f4f8f4}.input-view .fairness-seal{color:#f2c66e;border-top-color:#54727a;margin-top:auto;padding-top:22px}.input-view .history-panel{background:#fff}.input-view .recent-results li{background:#f7faf8;border:1px solid #dce8e5;border-radius:6px}.input-view .home-hero{display:block}.input-view .hero-art,.input-view .hero-facts{display:none}.input-view .hero-copy h1{margin-bottom:10px}.input-view .hero-copy h1>span,.input-view .hero-copy h1 strong{font-size:clamp(38px,5vw,62px);display:inline}.input-view .hero-copy h1 strong{margin-left:.12em}.input-view .hero-lede{max-width:760px;margin:0}.input-view .entry-grid{grid-template-columns:minmax(0,1.55fr) minmax(290px,.7fr);gap:18px;margin-top:25px}.input-view .starting-gate{background:#17323c;border:1px solid #c5d4d4;border-radius:18px;min-width:0;margin:0;padding:0;overflow:hidden;box-shadow:0 16px 40px #1f43481f}.input-view .starting-gate-head{padding:17px 20px}.input-view .starting-gate-head h2{color:#fff;margin:3px 0 0;font-size:19px}.input-view .starting-gate-head button{color:#17323c;background:#f2c66e}.input-view .starting-scene{background:#8ecdf4;height:clamp(350px,42vw,540px);position:relative;overflow:hidden}.input-view .starting-scene[hidden]{display:none}.input-view .starting-scene canvas{width:100%;height:100%;display:block}.input-view .starting-scene .race-label{padding:5px 7px;font-size:10px;box-shadow:0 2px 5px #172b3647}.input-view .starting-gate.is-3d .starting-grid-scroll{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.input-view .starting-gate:not(.is-3d) .starting-grid-scroll{padding:0 20px}.input-view .starting-gate-note{color:#c3d8d6;margin:0;padding:11px 20px 15px}.input-view .entry-ticket{padding:24px}.input-view .ticket-head{margin-bottom:16px}.input-view textarea{min-height:112px}.input-view .tool-roster{grid-template-columns:1fr;max-height:236px;overflow-y:auto}.input-view .entry-actions{margin-top:18px}.input-view .entry-rule{color:#48666e;grid-column:1/-1;margin:-3px 4px 0;font-size:12px}.race-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:24px;display:flex}.race-heading h1{letter-spacing:-.06em;max-width:760px;margin:0;font-size:clamp(33px,5.5vw,70px);line-height:.98}.live-pill{color:var(--ink-deep);background:var(--judgement);letter-spacing:.06em;margin-right:8px;padding:4px 7px;display:inline-block}.lap-counter{text-align:right}.lap-counter span{font:800 10px/1 var(--mono);letter-spacing:.1em;display:block}.lap-counter strong{color:var(--judgement-dark);font:1000 clamp(34px, 5vw, 60px)/.8 var(--mono);letter-spacing:-.07em;margin-top:7px;display:block}.race-layout{display:block}.track-card{--school-sky:#8ecdf4;--school-cream:#fff0c2;--school-ink:#263746;border:4px solid var(--ink);background:var(--track);min-width:0;min-height:540px;box-shadow:10px 10px 0 var(--ink);position:relative;overflow:hidden}.race-hud{z-index:20;color:var(--ticket);backdrop-filter:blur(8px);background:#0b1114d1;position:absolute}.track-meta{top:max(14px, env(safe-area-inset-top));left:max(14px, env(safe-area-inset-left));min-width:240px;font:800 10px/1 var(--mono);letter-spacing:.08em;border:2px solid #ffd447d9;grid-template-columns:auto auto;align-items:center;gap:7px 14px;padding:12px 14px;display:grid}.track-meta .race-progress{grid-area:3/1/auto/-1}.track-meta .lap-counter{text-align:left;grid-area:2/1/auto/-1;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.track-meta .lap-counter strong{color:var(--finish);margin:0;font-size:28px}.track-meta #phaseLabel{justify-self:end}.race-progress{background:#fff2cc33;height:7px;overflow:hidden}.race-progress i{background:var(--finish);width:0;height:100%;display:block}.race-3d{aspect-ratio:16/9;isolation:isolate;background:var(--school-sky);min-height:520px;position:relative;overflow:hidden}.race-3d canvas{width:100%;height:100%;position:absolute;inset:0}.race-labels{z-index:2;pointer-events:none;position:absolute;inset:0}.race-label{border:2px solid var(--school-ink);color:var(--school-ink);background:var(--school-cream);box-shadow:2px 2px 0 var(--school-ink);font:900 11px/1 var(--mono);letter-spacing:.02em;white-space:nowrap;text-shadow:.5px 0 var(--school-ink);padding:5px 8px;position:absolute}.collision-banner{z-index:30;border:3px solid var(--finish);width:max-content;max-width:calc(100% - 28px);color:var(--white);font:1000 clamp(14px,2.2vw,27px)/1.2 var(--display);text-align:center;overflow-wrap:anywhere;background:#941c25f0;padding:13px 22px;animation:.16s ease-out both collision-cut;position:absolute;bottom:9%;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #0b111473}.collision-banner:before{content:"● IMPACT REPLAY";color:var(--finish);font:900 10px/1 var(--mono);letter-spacing:.15em;margin-bottom:7px;display:block}.track-card.collision-focus .race-3d{filter:saturate(1.15)contrast(1.05)}.racer.is-collision-focus .racer-name{background:var(--finish);transform:scale(1.15)}@keyframes collision-cut{0%{opacity:0;transform:translate(-50%,12px)scale(1.08)}}.physics-status{z-index:24;border:2px solid var(--school-ink);color:var(--school-ink);background:var(--school-cream);box-shadow:2px 2px 0 var(--school-ink);font:900 10px/1 var(--mono);letter-spacing:.04em;margin:0;padding:6px 9px;position:absolute;bottom:12px;right:14px}.track-card.is-3d .track,.track-card.is-3d .finish-post,.track-card.is-3d .finish-cam{display:none}.track{--runner-count:6;grid-template-rows:repeat(var(--runner-count), minmax(50px, 1fr));transform-origin:100%;min-height:clamp(320px,42vw,520px);padding:10px 0;transition:transform .55s;display:grid;position:relative}.countdown{z-index:19;color:var(--ticket);text-align:center;background:linear-gradient(#0b111438,#0b111494 52%,#0b11145c);place-content:center;justify-items:center;display:grid;position:absolute;inset:0}.countdown small{border:2px solid var(--finish);font:900 12px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;background:#0b1114e0;padding:9px 14px}.countdown strong{min-width:1.5em;color:var(--finish);font:1000 clamp(100px, 22vw, 260px)/.82 var(--mono);letter-spacing:-.12em;text-shadow:8px 8px 0 var(--judgement-dark);margin-top:8px}.countdown.is-ticking strong{animation:.62s cubic-bezier(.12,.78,.16,1) both countdown-hit}@keyframes countdown-hit{0%{opacity:0;filter:blur(10px);transform:scale(1.8)}35%{opacity:1;filter:blur();transform:scale(.92)}to{transform:scale(1)}}.lane{border-bottom:2px dashed #fff2cc59;min-height:50px;position:relative;overflow:hidden}.lane:last-child{border-bottom:0}.lane:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0 24%,#fff2cc14 24% 25%,#0000 25% 49%,#fff2cc14 49% 50%,#0000 50%);position:absolute;inset:0}.lane-number{z-index:3;width:35px;color:var(--ticket);background:var(--ink);font:900 13px/1 var(--mono);text-align:center;padding:5px 0;position:absolute;top:50%;left:0;transform:translateY(-50%)}.racer{z-index:2;will-change:left;align-items:center;gap:5px;transition:opacity .35s,filter .35s;display:flex;position:absolute;top:50%;left:6%;transform:translate(-50%,-50%)}.racer:after{content:"";z-index:-1;filter:blur(2px);background:#172b3640;border-radius:50%;height:7px;position:absolute;bottom:1px;left:3px;right:13px}.racer-emoji{filter:drop-shadow(2px 2px #fff2cc59);font-size:clamp(27px,3.3vw,43px);line-height:1;display:block;transform:scaleX(-1)}.racer-name{text-overflow:ellipsis;white-space:nowrap;border:2px solid var(--ink);max-width:112px;color:var(--ink);background:var(--ticket);box-shadow:2px 2px 0 var(--ink);padding:4px 6px;font-size:10px;font-weight:1000;overflow:hidden}.racer.is-leader .racer-name{background:var(--finish)}.racer.is-leader .racer-emoji{animation:.32s ease-in-out infinite alternate leader-hop}.racer.event-pop .racer-name{color:var(--ink);background:var(--white);box-shadow:3px 3px 0 var(--finish)}.racer.event-pop .racer-emoji{animation:.5s cubic-bezier(.2,1.6,.4,1) event-pop}@keyframes leader-hop{to{transform:scaleX(-1)translateY(-4px)rotate(-3deg)}}@keyframes event-pop{50%{transform:scaleX(-1)scale(1.45)rotate(-10deg)}}.finish-post{z-index:1;background:repeating-conic-gradient(var(--ink) 0 25%, var(--ticket) 0 50%) 50% / 14px 14px;width:22px;position:absolute;top:43px;bottom:0;right:4.2%;box-shadow:0 0 0 3px #172b3638}.finish-post b{color:var(--ink);background:var(--finish);font:900 9px/1 var(--mono);letter-spacing:.08em;padding:4px 8px;position:absolute;top:7px;left:50%;transform:translate(-50%)}.finish-cam{z-index:8;color:var(--ticket);background:linear-gradient(90deg,#0b1114f5,#172b36eb),repeating-linear-gradient(0deg,#0000 0 6px,#ffffff0d 6px 7px);animation:.22s cubic-bezier(.2,.8,.2,1) both camera-cut;position:absolute;inset:43px 0 0}.finish-cam:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 4px,#ffffff09 4px 5px);position:absolute;inset:0}.finish-cam-head{z-index:4;height:42px;color:var(--ink-deep);background:var(--judgement);font:900 11px/1 var(--mono);letter-spacing:.1em;justify-content:space-between;align-items:center;padding:0 17px;display:flex;position:relative}.finish-cam-head b:before{content:"●";color:var(--ticket);margin-right:8px;animation:.55s steps(2,end) infinite live-blink}.finish-cam-head span{font-size:9px}.finish-lanes{grid-template-rows:repeat(var(--finalist-count,3), minmax(0, 1fr));display:grid;position:absolute;inset:42px 0 0}.finish-lane{background:linear-gradient(90deg,#c96f4a33,#0000 48%);border-bottom:2px solid #fff2cc38;min-height:0;position:relative;overflow:hidden}.finish-lane:last-child{border-bottom:0}.finish-lane:before{content:"";background:repeating-linear-gradient(90deg,#0000 0 15%,#fff2cc0f 15% 15.5%);position:absolute;inset:0}.finish-rank{z-index:2;color:#fff2cc59;font:1000 clamp(35px, 6vw, 72px)/1 var(--mono);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.finish-racer{z-index:3;will-change:left;align-items:center;gap:8px;display:flex;position:absolute;top:50%;left:40%;transform:translate(-50%,-50%)}.finish-emoji{filter:drop-shadow(5px 5px #0000004d);font-size:clamp(48px,7vw,85px);line-height:1;transform:scaleX(-1)}.finish-name{text-overflow:ellipsis;white-space:nowrap;border:3px solid var(--ticket);max-width:180px;color:var(--ticket);background:var(--ink);box-shadow:4px 4px 0 var(--judgement);padding:7px 9px;font-size:clamp(12px,1.5vw,17px);font-weight:1000;overflow:hidden}.finish-lane.is-front .finish-name{color:var(--ink-deep);background:var(--finish)}.finish-lane.is-front .finish-emoji{animation:.18s ease-in-out infinite alternate finale-charge}.finish-cam-post{z-index:5;background:repeating-conic-gradient(var(--ink) 0 25%, var(--ticket) 0 50%) 50% / 18px 18px;width:28px;position:absolute;top:42px;bottom:0;right:11%;box-shadow:0 0 30px #ffd44773}.finish-cam-post b{color:var(--ink-deep);background:var(--finish);font:1000 10px/1 var(--mono);padding:5px 9px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.photo-scan{z-index:16;opacity:0;pointer-events:none;background:var(--white);width:3px;box-shadow:0 0 0 2px var(--ink), 0 0 22px 6px #ffd447b3;position:absolute;top:0;bottom:0;left:50%}.photo-scan span{color:var(--ink-deep);background:var(--finish);border:2px solid var(--ink);font:1000 10px/1 var(--mono);letter-spacing:.12em;padding:5px 8px;position:absolute;top:22%;left:50%;transform:translate(-50%)}.photo-verdict{z-index:18;opacity:0;width:max-content;max-width:calc(100% - 30px);color:var(--white);border:3px solid var(--finish);text-align:center;background:#0b1114f0;gap:4px;padding:13px 22px;display:grid;position:absolute;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #0b111473}.photo-verdict[hidden]{display:none}.photo-verdict b{color:var(--finish);font:900 10px/1.2 var(--mono);letter-spacing:.13em}.photo-verdict strong{font:1000 clamp(24px,4vw,44px)/1 var(--display);letter-spacing:-.05em}.photo-verdict span{font:800 12px/1.3 var(--mono)}.photo-flash{z-index:10;pointer-events:none;background:var(--white);opacity:0;position:absolute;inset:0}.track-card.final-corner{animation:.13s linear infinite alternate track-rumble}.track-card.final-corner .track-meta{color:var(--ink-deep);background:var(--judgement)}.track-card.final-corner .track{transform:scale(1.025)translate(-.6%)}.track-card.final-corner .racer:not(.is-contender){opacity:.42;filter:saturate(.45)}.track-card.photo .photo-flash{animation:1.1s ease-out both photo}.track-card.collision-focus:not(.is-3d) .photo-flash{animation:.28s ease-out both collision-flash}.track-card.photo .photo-scan{opacity:1}.track-card.photo:not(.is-3d) .photo-scan{left:91%}.track-card.photo .photo-verdict{animation:.38s ease-out .2s both verdict-in}.track-card.photo .commentary-box{display:none}.track-card.photo .racer.photo-outside{opacity:.15}@keyframes camera-cut{0%{opacity:0;filter:blur(8px);transform:scale(1.08)}}@keyframes live-blink{50%{opacity:.25}}@keyframes finale-charge{to{transform:scaleX(-1)translateY(-4px)rotate(-2deg)}}@keyframes track-rumble{0%{transform:translate(-1px)}to{transform:translate(1px,-1px)}}@keyframes photo{0%,18%{opacity:1}55%,to{opacity:0}}@keyframes collision-flash{0%{opacity:.72}to{opacity:0}}@keyframes verdict-in{0%{opacity:0;transform:translate(-50%,18px)}to{opacity:1;transform:translate(-50%)}}.commentary-box{top:max(14px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));border:2px solid #ffd447d9;flex-direction:column;width:clamp(220px,24vw,290px);max-height:calc(100% - 28px);display:flex;overflow:auto;box-shadow:0 8px 28px #0b111452}.commentary-box .mute-button{align-self:flex-start;margin:8px}.scoreboard-head{color:var(--finish);font:900 11px/1 var(--mono);letter-spacing:.09em;border-bottom:2px solid #fff2cc33;justify-content:space-between;padding:13px 15px;display:flex}.leaderboard{flex-direction:column;gap:5px;margin:0;padding:8px;list-style:none;display:flex}.rank-row{background:#fff2cc14;grid-template-columns:30px 30px minmax(0,1fr) auto;align-items:center;gap:3px;min-height:37px;padding:4px 8px;transition:order .2s;display:grid}.rank-row.is-first{color:var(--ink);background:var(--finish)}.rank-row.is-finished:not(.is-first){color:var(--finish)}.rank-status{font:800 9px/1 var(--mono);white-space:nowrap}.rank-row.is-new-leader{animation:.4s ease-out board-flip}.rank-number{font:1000 16px/1 var(--mono)}.rank-vehicle{font-size:18px}.rank-name{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:900;overflow:hidden}@keyframes board-flip{0%{filter:brightness(2);transform:rotateX(88deg)}to{transform:rotateX(0)}}.commentary-feed{background:#00000024;border-top:2px solid #fff2cc33;min-height:88px;padding:12px}.on-air{color:var(--finish);font:900 10px/1 var(--mono);letter-spacing:.08em}.commentary-feed p{color:var(--white);word-break:keep-all;margin:13px 0 0;font-size:clamp(15px,2vw,19px);font-weight:900;line-height:1.45}.result-view{justify-items:center;min-height:650px;padding:38px 0;display:grid;position:relative;overflow:hidden}.result-burst{width:140vw;color:var(--ink-deep);background:var(--judgement);border-block:4px solid var(--ink);font:1000 clamp(18px, 3vw, 38px)/1 var(--mono);letter-spacing:.08em;text-align:center;white-space:nowrap;padding:10px;position:absolute;top:19%;left:50%;transform:translate(-50%,-50%)rotate(-7deg)}.winner-ticket{z-index:1;border:4px solid var(--ink);background:var(--ticket);width:min(620px,100% - 24px);box-shadow:13px 13px 0 var(--ink);text-align:center;margin-top:56px;padding:26px clamp(25px,5vw,62px) 34px;animation:.65s cubic-bezier(.2,1.5,.4,1) both ticket-drop;position:relative;transform:rotate(1.2deg)}@keyframes ticket-drop{0%{opacity:0;transform:translateY(-80px)rotate(-5deg)scale(.88)}}.ticket-top{border-bottom:2px dashed var(--ink);font:800 10px/1 var(--mono);letter-spacing:.08em;justify-content:space-between;padding-bottom:14px;display:flex}.winner-vehicle{filter:drop-shadow(6px 7px #c96f4a40);margin:19px 0 4px;font-size:clamp(78px,15vw,136px);line-height:1;animation:.5s ease-out .45s both winner-bounce}@keyframes winner-bounce{0%{transform:scale(.2)rotate(-20deg)}70%{transform:scale(1.15)rotate(5deg)}}.winner-ticket>p{margin:5px 0;font-size:12px;font-weight:900}.winner-ticket h1{color:var(--judgement-dark);letter-spacing:-.08em;overflow-wrap:anywhere;margin:0;font-size:clamp(48px,10vw,92px);line-height:1}.winner-meta{flex-wrap:wrap;justify-content:center;gap:8px;margin:23px 0;display:flex}.winner-meta span{border:2px solid var(--ink);font:900 10px/1 var(--mono);background:var(--finish);padding:7px 10px}.finish-order{border-block:2px dashed var(--ink);text-align:left;max-height:min(28vh,220px);margin:16px 0;padding:9px 12px;list-style:none;overflow-y:auto}.finish-order li{font:800 13px/1.3 var(--mono);padding:5px 0}.finish-count{color:var(--finish);font:900 12px/1 var(--mono);white-space:nowrap}.ticket-code{border-top:2px dashed var(--ink);font:900 19px/1 var(--mono);letter-spacing:.09em;white-space:nowrap;padding-top:16px;overflow:hidden}.result-actions{z-index:2;flex-direction:column;align-items:center;gap:16px;margin-top:37px;display:flex}.result-reset{padding-inline:8px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}body:has(.shell.race-full-viewport){overflow:hidden}.shell.race-full-viewport{background:#8ecdf4;width:100vw;max-width:none;height:100dvh;padding:0;position:fixed;inset:0;overflow:hidden}.shell.race-full-viewport .race-view:not([hidden]) .race-heading{display:none}.shell.race-full-viewport .race-view:not([hidden]) .race-layout{position:fixed;inset:0}.shell.race-full-viewport .race-view:not([hidden]) .track-card{width:100%;height:100%;box-shadow:none;border:0;border-radius:0}.shell.race-full-viewport .race-3d{aspect-ratio:auto;min-height:0;position:absolute;inset:0}.shell.race-full-viewport .race-view:not([hidden]) .track{height:100%}.shell.race-full-viewport .result-view:not([hidden]){align-content:start;height:100dvh;min-height:0;overflow:hidden auto}@media (width<=820px){.shell{width:min(100% - 24px,680px);padding-top:40px}.broadcast-bar{gap:8px;padding-inline:12px}.broadcast-bar p{display:none}.broadcast-time{margin-left:2px}.mute-button{margin-left:auto}.home-hero{grid-template-columns:1fr;gap:30px}.hero-copy h1{letter-spacing:-.065em}.hero-copy h1>span{font-size:clamp(42px,8vw,62px)}.hero-copy h1 strong{font-size:clamp(64px,11vw,82px)}.hero-lede,.hero-facts{margin-top:20px}.input-view .entry-grid{grid-template-columns:1fr;margin-top:24px}.entry-grid{grid-template-columns:1fr}.entry-actions{flex-direction:column-reverse;align-items:stretch}.start-button{width:100%}.text-button{align-self:center}.history-panel{flex-direction:column;align-items:flex-start}.recent-results{justify-content:flex-start;margin-left:0}.race-heading{align-items:flex-start}.race-heading h1{font-size:clamp(34px,10vw,56px)}.lap-counter{flex:none}.track-meta{grid-template-columns:1fr auto}.race-3d{aspect-ratio:16/10;min-height:0}.track{padding-block:7px}.lane{min-height:48px}.racer-name{max-width:76px;font-size:9px}.finish-post{top:58px;right:3%}.commentary-feed{min-height:75px}.tool-roster{grid-template-columns:1fr}}@media (width<=470px){.shell{width:calc(100% - 18px)}.broadcast-mark span{width:22px;height:22px}.hero-copy h1>span{font-size:clamp(37px,10.5vw,48px)}.hero-copy h1 strong{font-size:clamp(59px,15vw,72px)}.hero-art{border-radius:14px}.hero-art-caption{gap:7px;padding:22px 11px 9px}.hero-art-caption strong{font-size:10px}.input-view .entry-ticket,.entry-ticket{padding:20px 16px}.race-notes{padding:24px 20px}.race-heading{display:block}.lap-counter{text-align:left;justify-content:space-between;align-items:baseline;margin-top:18px;display:flex}.lap-counter strong{font-size:38px}.track-card,.commentary-box{box-shadow:6px 6px 0 var(--ink)}.racer-emoji{font-size:29px}.racer-name{max-width:60px;padding:3px 4px}.finish-post{width:15px}.track-meta{gap:4px;min-width:0;max-width:calc(100% - 136px);padding:7px;font-size:8px}.track-meta .live-pill{margin:0;padding:3px;font-size:8px}.track-meta .lap-counter strong{font-size:20px}.commentary-box{top:auto;bottom:max(12px,env(safe-area-inset-bottom));width:min(175px,48vw);max-height:48%}.commentary-box .rank-row:nth-child(n+4),.commentary-box .commentary-feed{display:none}.collision-banner{width:calc(100% - 24px);padding:9px;font-size:13px;bottom:19%;left:12px;transform:none}@keyframes collision-cut{0%{opacity:0;transform:translateY(12px)scale(1.05)}}}@media (prefers-reduced-motion:reduce){.starting-card{animation:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.track-card.final-corner{animation:none}.track-card.photo .photo-flash{display:none}.track-card.collision-focus:not(.is-3d) .photo-flash,.racer.is-leader .racer-emoji,.racer.event-pop .racer-emoji,.winner-vehicle{animation:none}}
