/* Outcome presentation reuses city art, the report renderer and collectible cards. */
.victory-screen.race-outcome{--outcome-accent:#f6d571;--outcome-edge:#b69848;--outcome-secondary:#63c9dd;display:grid;place-items:center;padding:32px max(24px,env(safe-area-inset-right)) 32px max(24px,env(safe-area-inset-left));background:#080f14;isolation:isolate}
.victory-screen.race-outcome[data-outcome=defeat]{--outcome-accent:#ff8f79;--outcome-edge:#a56467;--outcome-secondary:#aaa8e4}
.victory-screen.race-outcome[data-outcome=pending]{--outcome-accent:#8fd9ec;--outcome-edge:#5eabbf}
.victory-screen.race-outcome:before{position:absolute;inset:0;transform:none;animation:none;background:linear-gradient(180deg,#08121b30,#070c1477 38%,#030810e8 100%),var(--outcome-bg) center/cover no-repeat}
.victory-screen.race-outcome:after{inset:0;opacity:.5;mix-blend-mode:normal;background:repeating-conic-gradient(#050c11 0% 25%,#cbe7e12b 0% 50%) 0 0/40px 40px repeat-x,repeating-conic-gradient(#050c11 0% 25%,#cbe7e12b 0% 50%) 0 100%/40px 40px repeat-x;z-index:0}
.race-outcome .victory-panel{width:min(1120px,100%);max-height:calc(100dvh - 64px);overflow:auto;padding:0 12px 12px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;animation:outcome-arrive 400ms ease both;scrollbar-width:thin;scrollbar-color:#55717c #0a151c;overscroll-behavior:contain;touch-action:pan-y}
.race-outcome .outcome-heading{position:relative;text-align:center;padding:12px 0 23px}
.race-outcome .outcome-city{margin:0 0 17px;color:#deebec;font:15px/1.3 GridlockVault,var(--font-display);letter-spacing:1px;text-shadow:0 2px 5px #000}
.race-outcome .victory-kicker{color:var(--outcome-secondary);font:800 10px/1.4 var(--font-ui,Arial,sans-serif);letter-spacing:2px;margin:0 0 8px}
.race-outcome .victory-title{font:900 clamp(62px,8vw,100px)/.96 var(--font-display);font-style:italic;letter-spacing:2px;color:var(--outcome-accent);-webkit-text-stroke:1px #281f16;text-shadow:0 5px 0 #192027,0 8px 0 #030b10,0 0 35px #0008;margin:0}
.race-outcome .outcome-subtitle{margin:14px 0 0;font:600 14px/1.5 var(--font-ui,Arial,sans-serif);color:#e0e8e9;text-shadow:0 2px 4px #000}
.race-outcome .outcome-content{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;align-items:center;max-width:820px;margin:0 auto}
.race-outcome.has-new-card .outcome-content{grid-template-columns:minmax(0,1fr) 300px;max-width:none}
.race-outcome .outcome-summary{padding:24px;border:1px solid #9bb9bf55;border-top:3px solid var(--outcome-accent);border-radius:12px;background:linear-gradient(135deg,#162934f5,#08121aef);box-shadow:0 14px 35px #0006;min-width:0}
.race-outcome .outcome-report-title{font:900 20px/1.1 var(--font-display);color:#e3eceb;letter-spacing:.7px;margin:0 0 18px;text-align:left}
.race-outcome .drive-report-card{background:#08131dcc;box-shadow:none;border:1px solid #63839280;border-radius:7px;padding:18px;grid-template-columns:minmax(0,1fr) 134px;gap:16px}
.race-outcome .drive-report-name{font-size:23px;color:#d4e4e9}
.race-outcome .drive-report-outcome{background:#f2d27b;font-size:14px}
.race-outcome .drive-report-outcome.lost,.race-outcome .drive-report-outcome.busted{background:#bd5d4d}
.race-outcome .drive-score-row{grid-template-columns:65px minmax(12px,1fr) 57px;gap:7px;font-size:12px}
.race-outcome .drive-score-row strong{font-size:15px}
.race-outcome .drive-score-track{height:6px}
.race-outcome .drive-report-total{padding:12px;grid-template-columns:1fr auto;gap:5px;border-color:#ae985359}
.race-outcome .drive-report-total strong{font-size:40px}
.race-outcome .drive-report-grade{font-size:48px}
.race-outcome .drive-stat{padding:10px 4px;background:#aac7da0b}
.race-outcome .drive-stat span{font-size:10px;color:#9fb4c1}
.race-outcome .drive-stat strong{font-size:15px;color:#e9f0eb;margin-top:6px}
.race-outcome .victory-meta{font:600 13px/1.6 var(--font-ui,Arial,sans-serif);color:#b4c7ce;text-transform:none;margin:17px 0 0;overflow-wrap:anywhere}
.race-outcome .victory-buttons{gap:8px;margin-top:20px;grid-template-columns:repeat(3,minmax(0,1fr))}
.race-outcome .victory-buttons:has(>[hidden]){grid-template-columns:repeat(2,minmax(0,1fr))}
.race-outcome .victory-buttons .action{min-height:46px;padding:9px 10px;font-size:16px;box-shadow:0 3px 0 #0009;border-radius:6px}
.race-outcome .victory-buttons .go-action{background:linear-gradient(#fae8a5,#d5b450);border-color:#f7de8b;color:#18232b}
.race-outcome .victory-buttons .secondary{background:linear-gradient(#293f4b,#15232d);border:1px solid #65808c88;color:#d5e3e6}
.race-outcome .outcome-reward{min-width:0;padding-top:0;animation:outcome-arrive 450ms ease both}
.race-outcome .outcome-reward[hidden]{display:none}
.race-outcome .outcome-reward-badge{margin:0 0 10px;color:#f5d87e;letter-spacing:1.5px;font:800 11px/1.4 var(--font-ui,Arial,sans-serif)}
.race-outcome .outcome-earned-card{width:300px;max-width:100%;margin:0 auto;text-align:left;--display:var(--font-display);filter:drop-shadow(0 0 19px #ecc66919)}
.race-outcome .outcome-earned-card .rival-card{grid-template-rows:14px 50px minmax(0,1fr) 178px 24px;padding:9px;aspect-ratio:1/1.78}
.race-outcome .outcome-earned-card .card-nameplate h2{font-size:30px}
.race-outcome .outcome-earned-card .card-text{padding:8px}
.race-outcome .outcome-earned-card .card-bio{font-size:12px;line-height:1.45}
.race-outcome .outcome-earned-card .card-ability{margin-top:8px;padding-top:7px}
.race-outcome .outcome-unlock{margin:11px 0 0;color:#cedcdb;font:600 12px/1.45 var(--font-ui,Arial,sans-serif)}
.race-outcome .drive-report-grid:not(.single-report){grid-template-columns:minmax(0,1fr)}
/* Original police Busted presentation remains intact after an ordinary outcome. */
.victory-screen.busted .outcome-city,.victory-screen.busted .outcome-subtitle,.victory-screen.busted .outcome-report-title,.victory-screen.busted .outcome-reward{display:none}
@keyframes outcome-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:780px){
 .victory-screen.race-outcome{padding:22px 10px;align-items:start}
 .race-outcome .victory-panel{max-height:calc(100dvh - 44px);padding:0 4px 14px}
 .race-outcome .outcome-heading{padding:16px 0 22px}
 .race-outcome .outcome-city{font-size:12px;letter-spacing:0;margin-bottom:16px}
 .race-outcome .victory-title{font-size:clamp(50px,14vw,78px)}
 .race-outcome .outcome-subtitle{font-size:13px}
 .race-outcome.has-new-card .outcome-content{grid-template-columns:minmax(0,1fr);gap:25px}
 .race-outcome .outcome-summary{padding:15px}
 .race-outcome.has-new-card .outcome-reward{grid-row:1}
 .race-outcome .outcome-earned-card{width:300px}
 .race-outcome .drive-report-card{padding:12px;grid-template-columns:minmax(0,1fr) 107px;gap:14px 10px}
 .race-outcome .drive-report-total{padding:9px}
 .race-outcome .drive-report-total strong{font-size:33px}
 .race-outcome .drive-report-grade{font-size:36px}
 .race-outcome .drive-report-name{font-size:21px}
 .race-outcome .drive-score-row{grid-template-columns:51px minmax(9px,1fr) 49px;font-size:10px;gap:4px}
 .race-outcome .drive-score-row strong{font-size:12px}
 .race-outcome .drive-stat span{font-size:9px}
 .race-outcome .drive-stat strong{font-size:13px}
 .race-outcome .victory-buttons .action{font-size:14px;padding:8px 5px}
}
@media(max-width:360px){.race-outcome .outcome-summary{padding:10px}.race-outcome .drive-report-card{grid-template-columns:minmax(0,1fr) 97px;padding:9px}.race-outcome .outcome-earned-card{width:280px}.race-outcome .outcome-earned-card .rival-card{grid-template-rows:14px 50px minmax(0,1fr) 187px 24px}}
@media(prefers-reduced-motion:reduce){.race-outcome .victory-panel,.race-outcome .outcome-reward{animation:none}}
