#match-ui{position:absolute;z-index:4;container-type:inline-size;pointer-events:none;font-family:Montserrat,Arial,sans-serif;color:#fff}#match-ui [hidden]{display:none!important}#match-ui[hidden]{display:none}#match-ui button{pointer-events:auto;cursor:pointer;font:800 1.6cqw Montserrat,Arial,sans-serif;color:#fff;background:#171c1e;border:1px solid #68706f;padding:1.5cqw 2.5cqw;border-radius:3px}#match-ui button:hover{background:#303a36;border-color:#00ff66}#match-ui button:focus-visible{outline:2px solid #ff5500;outline-offset:3px}.live-score{position:absolute;top:2cqw;left:24%;width:52%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1cqw;padding:1.3cqw 1.8cqw;background:#141818ef;border:1px solid #55605b;border-top:2px solid #00ff66;border-radius:5px;box-sizing:border-box}.live-score .home,.live-score .away{display:flex;align-items:center;gap:.7cqw;font-weight:800;font-size:1.35cqw}.live-score .away{flex-direction:row-reverse}.live-score img{width:3.8cqw;border-radius:2px}.live-score strong{font-size:3.1cqw;font-variant-numeric:tabular-nums;white-space:nowrap}.live-score small{grid-column:1/-1;text-align:center;color:#c4d0cb;font-size:1.25cqw;font-weight:700;letter-spacing:.1cqw;font-variant-numeric:tabular-nums}.live-actions{position:absolute;right:2cqw;bottom:7cqw;display:flex;gap:.7cqw}.drive-help{position:absolute;bottom:2cqw;left:30%;font-size:1.2cqw;font-weight:700;letter-spacing:.08cqw;background:#141818da;padding:1cqw 1.4cqw;border-left:2px solid #ff5500}.event-banner{position:absolute;top:35%;width:100%;text-align:center;font-size:7cqw;font-style:italic;font-weight:900;padding:2cqw 0;background:linear-gradient(90deg,transparent,#111d19ec,transparent);color:#00ff66}.match-dialog{position:absolute;inset:0;display:grid;place-items:center;pointer-events:auto;background:linear-gradient(#101514dc,#101514f5),url('match-tunnel.webp') center/cover}.dialog-panel{width:86%;text-align:center;padding:3cqw;box-sizing:border-box;border-top:2px solid #00ff66;background:#111716dc;box-shadow:0 2cqw 6cqw #0005}.eyebrow{font-size:1.2cqw!important;letter-spacing:.25cqw;color:#a9b9af!important;font-weight:800}.dialog-panel h2{font-size:5.5cqw;font-weight:900;font-style:italic;letter-spacing:-.15cqw;margin:1.4cqw 0 3cqw}.result-teams{display:flex;align-items:center;justify-content:center;gap:3cqw}.result-teams>div{display:flex;flex-direction:column;align-items:center;gap:1.2cqw;width:25%;font-weight:800;font-size:2cqw}.result-teams img{width:9cqw;border:1px solid #777;border-radius:3px}.result-teams strong{font-size:6cqw;font-variant-numeric:tabular-nums}.result-teams i{font-style:normal;color:#65716b}.result-totals{font-size:1.5cqw!important;white-space:pre-line;line-height:1.8;color:#c6d1cb!important;margin:3cqw 0}.dialog-panel nav{display:flex;flex-wrap:wrap;justify-content:center;gap:1cqw}.dialog-panel .primary{background:linear-gradient(#ff7900,#ef4800)!important;border-color:#ffad50!important}.dialog-panel .more{border:0!important;background:none!important;color:#a4b2ab!important;font-size:1.2cqw!important;margin-top:2cqw;padding:.5cqw!important}.champion-mark{color:#00ff66;font-size:9cqw!important}#game:has(.match-dialog:not([hidden])) #webgl-fps{display:none}#game:has(#match-ui:not([hidden])) #fullscreen{font-size:10px}
#game-loading{font-family:Montserrat,Arial,sans-serif!important;background:linear-gradient(#111815e8,#101412f5),url('match-tunnel.webp') center/cover!important;border-top:3px solid #00ff66;box-sizing:border-box}#game-loading strong{font-weight:900!important;text-transform:uppercase;letter-spacing:1px}#game-loading .loading-spinner{border-color:#3a4540!important;border-top-color:#ff5500!important}#game-loading span{color:#bccac2!important}
/* Final layout: result trucks remain native; all type and flags render at screen resolution. */
#match-ui{overflow:hidden}#match-ui *{box-sizing:border-box}.live-hud{position:absolute;inset:0}.live-actions svg{width:2.5cqw;height:2.5cqw;display:block;fill:white;stroke:white;stroke-width:1.5}.live-actions .sound-waves{fill:none}.live-actions [aria-pressed="true"] .sound-waves{display:none}.live-actions button{min-width:5cqw;min-height:4.8cqw;display:grid;place-items:center;padding:1cqw!important}.pitch-map{position:absolute;bottom:2.4%;left:2%;width:21%;background:#101a16ef;border:1px solid #63776a;border-radius:4px;padding:.6cqw;box-shadow:0 1cqw 2cqw #0005}.pitch-map svg{width:100%;display:block}.pitch-surface{fill:#162b21}.pitch-lines{fill:none;stroke:#8ba99a;stroke-width:.8}.pitch-dots circle{transition:cx .1s linear,cy .1s linear}.pitch-map span{display:flex;align-items:center;justify-content:center;gap:.4cqw;font-size:.8cqw;font-weight:800;white-space:nowrap;padding-top:.5cqw;color:#cfddd4}.pitch-map i{width:.6cqw;height:.6cqw;border-radius:50%;background:#00ff66}.pitch-map i:nth-of-type(2){background:#ff650a;margin-left:.4cqw}.drive-help{bottom:2.5%;left:30%;font-size:1.1cqw}.live-actions{bottom:3%;right:2%}.event-banner{top:38%;pointer-events:none;line-height:1.2;letter-spacing:.2cqw;border-top:1px solid #00ff6655;border-bottom:1px solid #00ff6655}.match-dialog{background:#0b1112a6}.dialog-panel{border-top:2px solid #00ff66}.match-dialog nav button{white-space:nowrap}.match-dialog .more{display:block;margin:2cqw auto 0}#match-ui[data-screen="result"] .match-dialog,#match-ui[data-screen="final"] .match-dialog{background:linear-gradient(#0c1418c4,transparent 40%,transparent 60%,#0b1318df)}#match-ui[data-screen="result"] .dialog-panel,#match-ui[data-screen="final"] .dialog-panel{position:absolute;inset:0;width:100%;padding:0;border:0;background:none;box-shadow:none}#match-ui:not([data-screen="pause"]) .eyebrow{position:absolute;top:2%;width:100%;margin:0}#match-ui:not([data-screen="pause"]) h2{position:absolute;top:6%;width:100%;font-size:4.5cqw;margin:0}#match-ui:not([data-screen="pause"]) .result-teams{position:absolute;top:19%;left:4%;width:92%;justify-content:space-between;align-items:flex-start}#match-ui:not([data-screen="pause"]) .result-teams>div{width:43%;background:#121c1cba;border:1px solid #65746a;border-top:2px solid #00ff66;padding:1cqw;flex-direction:row;justify-content:center;gap:1.3cqw;font-size:2cqw}#match-ui:not([data-screen="pause"]) .result-teams>div:last-child{border-top-color:#ff5500}#match-ui:not([data-screen="pause"]) .result-teams img{width:5cqw}#match-ui:not([data-screen="pause"]) .result-teams strong{position:absolute;top:14cqw;left:40%;width:20%;font-size:5cqw;text-shadow:0 2px 10px #000}#match-ui:not([data-screen="pause"]) .result-totals{position:absolute;top:69%;width:100%;font-size:1.4cqw!important;margin:0;line-height:1.6;font-weight:700}#match-ui:not([data-screen="pause"]) nav{position:absolute;bottom:9%;width:100%;padding:0 3%}#match-ui:not([data-screen="pause"]) .more{position:absolute;bottom:2%;left:35%;width:30%;margin:0}#match-ui[data-screen="final"] .champion-team{margin:auto;width:55%!important;border-color:#00ff66!important}#match-ui[data-screen="final"] h2,#match-ui[data-result="VICTORY"] h2{color:#00ff66}#match-ui[data-result="YOU LOST"] h2{color:#ff8548}.champion-star{position:absolute;top:15cqw;right:9%;font-size:6cqw;color:#ffbb57}#match-ui[data-screen="final"] .result-totals{white-space:pre-line;top:68%;font-size:1.2cqw!important;line-height:1.4}#game-shell:has(#match-ui:not([hidden])) #fullscreen{right:3px;bottom:3px;padding:3px 5px;font-size:9px}
.map-football{transition:transform .1s linear;transform-origin:0 0;transform-box:view-box}
@media(prefers-reduced-motion:reduce){.pitch-dots circle,.map-football{transition:none}}
#boot-ui{position:absolute;inset:0;z-index:6;display:grid;place-items:center;background:linear-gradient(#09120ee6,#101614e8),url('match-tunnel.webp') center/cover;color:#fff;font-family:Montserrat,Arial,sans-serif;border-top:3px solid #00ff66}#boot-ui[hidden]{display:none}.boot-card{text-align:center;width:75%;max-width:600px}.boot-card p{font-size:11px;letter-spacing:2px;color:#aebdb5;font-weight:700}.boot-card h2{font-size:clamp(28px,5vw,66px);font-weight:900;font-style:italic;margin:20px 0 36px}.boot-card h2 span{display:block;font-size:.6em;letter-spacing:4px}.boot-track{height:5px;background:#35453d;margin:0 auto 18px;width:75%;overflow:hidden}.boot-track i{display:block;height:100%;width:0;background:#00ff66}.boot-status{font-size:13px;letter-spacing:2px;display:block}.boot-card button{font:800 16px Montserrat,Arial,sans-serif;border:1px solid #ffad50;background:linear-gradient(#ff7900,#ef4800);color:#fff;padding:16px 42px;margin-top:24px;cursor:pointer;border-radius:3px}.boot-card button:hover{filter:brightness(1.12)}.boot-card button:focus-visible{outline:2px solid white;outline-offset:4px}.boot-card small{display:block;margin-top:30px;font-size:10px;letter-spacing:2px;color:#8fa69a}
#game:has(#match-ui:not([hidden])) #webgl-fps{font-size:9px;max-width:151px;box-sizing:border-box;background:#111c17e8;border-left:2px solid #00ff66;padding:4px}
.kickoff-progress{display:block;width:26%;height:.5cqw;background:#75857c55;margin:1.4cqw auto 0}.kickoff-progress i{display:block;height:100%;background:#00ff66}#match-ui[data-screen="final"] .result-teams{left:6%;width:38%;top:28%}#match-ui[data-screen="final"] .champion-team{width:100%!important;padding:1.5cqw!important}#match-ui[data-screen="final"] .champion-star{top:9cqw;right:auto;left:35%;font-size:8cqw}#match-ui[data-screen="final"] .result-totals{left:6%;width:38%;top:61%;font-size:1.5cqw!important;line-height:1.7}
/* Compact broadcast scoreboard. */
.live-score{top:1.5cqw;left:50%;transform:translateX(-50%);width:25%;min-width:150px;grid-template-columns:1fr auto 1fr;gap:.3cqw .9cqw;padding:.65cqw 1cqw .45cqw;border:1px solid #53665d;border-top:2px solid #00ff66;border-radius:1.2cqw;background:linear-gradient(#26312eee,#141b19f2);box-shadow:0 .4cqw 1.2cqw #0006}
.live-score .home,.live-score .away{justify-content:center;gap:0}.live-score .home span,.live-score .away span{display:none}.live-score img{width:3.8cqw;max-height:2.6cqw;object-fit:cover;border-radius:1px;box-shadow:0 0 0 1px #a2b0a444}.live-score strong{font-size:2.6cqw;line-height:1.1;letter-spacing:.1cqw}.live-score .period{font-size:.95cqw;line-height:1.2;letter-spacing:.08cqw;color:#b7c7be}.live-score .clock{position:absolute;top:100%;left:50%;transform:translateX(-50%);width:38%;padding:.25cqw .6cqw .4cqw;background:#19221ff5;border:1px solid #53665d;border-top:0;border-radius:0 0 .9cqw .9cqw;font-size:2cqw;line-height:1.1;font-weight:800;letter-spacing:.05cqw;color:#fff}
/* Conceded goals and defeat share an unambiguous red treatment. */
#match-ui[data-banner-tone="negative"] .event-banner{color:#ff4d55;border-color:#ff4d5570;background:linear-gradient(90deg,transparent,#281014ed,transparent)}
#match-ui[data-result="YOU LOST"] h2{color:#ff4d55}
#match-ui[data-result="YOU LOST"] .result-teams strong{color:#fff}
#match-ui[data-result="YOU LOST"] .result-teams>div:last-child{border-top-color:#ff4d55}

.boot-card .boot-logo{display:block;width:90%;max-width:500px;height:auto;margin:0 auto 30px;filter:drop-shadow(0 8px 15px #0008)}

.pitch-map{background:#121716ed;border-color:#355343;box-shadow:0 4px 12px #0004}.pitch-surface{fill:#191f1d}.pitch-lines{stroke:#b6c1ba;stroke-opacity:.55;stroke-width:.7}.map-goal{fill:none;stroke-width:2.5;stroke-linejoin:round}.map-goal-label{fill:#c7d1cb;font:700 4px Montserrat,Arial,sans-serif;letter-spacing:.3px}.pitch-map i{background:var(--map-home);border:1px solid #aeb9b3}.pitch-map i:nth-of-type(2){background:var(--map-away)}.pitch-dots .map-driver{paint-order:stroke;filter:drop-shadow(0 0 1px #111)}


#match-ui[data-screen=result] .match-dialog{background:#141414 url('match-tunnel.webp') center/100% 100% no-repeat}#match-ui[data-screen=final] .match-dialog{background:#141414 url('team-tunnel.webp') center/100% 100% no-repeat}
#match-ui .team-vehicle{position:absolute;width:22.5%;height:auto;aspect-ratio:1;bottom:37%;transform:translateX(-50%);pointer-events:none}#match-ui .result-car-0{left:24%}#match-ui .result-car-1{left:76%}#match-ui[data-screen=final] .result-car-0{left:69.8%;bottom:26%}

#match-ui[data-screen=final] .achievement-trophy{position:absolute;left:50%;top:8cqw;width:90%;height:27cqw;transform:translateX(-50%);isolation:isolate;pointer-events:none}
#match-ui[data-screen=final] .achievement-trophy::before{content:'';position:absolute;inset:-12% -10%;z-index:-1;background:radial-gradient(ellipse,#ffdc7970 0%,#ffb52d30 35%,transparent 68%);animation:trophy-aura 3s ease-in-out infinite alternate}
#match-ui[data-screen=final] .achievement-trophy::after{content:'';position:absolute;left:15%;right:15%;bottom:0;height:8%;z-index:-1;border-radius:50%;background:#080600bb;box-shadow:0 0 16px 5px #0007,0 -4px 22px 5px #ffc34c55;filter:blur(4px)}
#match-ui[data-screen=final] .result-teams .champion-trophy{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border:0;border-radius:0;filter:brightness(1.12) saturate(1.12) drop-shadow(0 0 5px #ffe49b99) drop-shadow(0 0 17px #ffb52d66) drop-shadow(3px 8px 7px #000a)}
.trophy-rays{position:absolute;inset:-15%;z-index:-1;opacity:.3;background:repeating-conic-gradient(from 15deg,#ffd77700 0deg 17deg,#ffd77780 20deg,#ffd77700 24deg 40deg);mask-image:radial-gradient(ellipse,#000 0%,transparent 65%)}
.trophy-shimmer{position:absolute;inset:0;mask:url('champion-trophy-v4.webp') center/contain no-repeat;background:linear-gradient(110deg,transparent 35%,#fff4c400 42%,#fff6d9b0 49%,#fff4c400 56%,transparent 63%) 160% 0/300% 100% no-repeat;mix-blend-mode:screen;animation:trophy-shine 5s ease-in-out infinite}
@keyframes trophy-aura{from{opacity:.65;transform:scale(.96)}to{opacity:1;transform:scale(1.04)}}
@keyframes trophy-shine{0%,20%{background-position:160% 0}65%,100%{background-position:-60% 0}}
@media(prefers-reduced-motion:reduce){#match-ui[data-screen=final] .achievement-trophy::before,.trophy-shimmer{animation:none}.trophy-shimmer{opacity:0}}
