.bar-actions{display:flex;align-items:center;gap:8px;flex:none}
.bar .logo{display:inline-flex;align-items:center;gap:.35em;min-height:44px;color:#fff;text-decoration:none}
.bar .logo:focus-visible{outline:2px solid #20c933;outline-offset:4px}
.podium-open{min-height:44px;padding:9px 12px;border:1px solid #fff;border-radius:0;background:transparent;color:#fff;font:900 10px Arial,Helvetica,sans-serif;letter-spacing:.1em;cursor:pointer}
.podium-open:hover{background:#fff;color:#050505}.podium-open.pending{border-color:#20c933;color:#20c933}
.shared-finish{margin:8px 0;color:#356b24;font:700 11px/1.4 Arial,Helvetica,sans-serif;overflow-wrap:anywhere}
.shared-finish[data-state="waiting"]{color:#555}
.game.menu .shared-finish{display:none}
/* Compact race briefing and driver entry belong to the welcome screen. */
.welcome #msg{margin:0;max-width:480px}
.season-signature{display:block;margin-bottom:14px;color:#20c933;font-size:11px;font-weight:900;letter-spacing:.13em;line-height:1.4}
.quick-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 18px}
.guide-rule{display:flex;align-items:flex-start;gap:10px;border-top:1px solid #303030;padding-top:10px;min-width:0}
.guide-rule>svg{flex:none;width:22px;height:22px;fill:none;stroke:#20c933;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.guide-rule>span{min-width:0}.guide-rule b{display:block;margin:0 0 4px;color:#fff;font-size:8px;letter-spacing:.13em;line-height:1.2}
.guide-rule>span>span{display:block;color:#bdbdbd;font-size:11px;line-height:1.45}
.guide-rule small{display:block;margin-top:5px;color:#888;font-size:9px;line-height:1.4}
.key-hints{display:block;white-space:nowrap;font-size:9px}
.key-hints kbd{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:19px;margin-right:2px;border:1px solid #555;color:#fff;font:700 11px Arial}
.guide-rule .touch-note{display:none}
.welcome .season-picker{max-width:480px;margin:18px 0 12px}
.driver-entry{position:relative;z-index:1;max-width:480px;grid-area:driver;margin:0 0 18px}
.driver-entry label{display:flex;justify-content:space-between;gap:8px;margin-bottom:7px;color:#aaa;font:900 8px Arial;letter-spacing:.12em}
.driver-entry label span{color:#666;font-weight:400;letter-spacing:.04em}
.driver-entry input{width:100%;min-height:44px;padding:10px 12px;border:1px solid #666;border-radius:0;background:#141414;color:#fff;font:700 12px Arial;caret-color:#20c933}
.driver-entry input:focus{outline:1px solid #20c933;border-color:#20c933}
.driver-entry input::placeholder{color:#777;font-weight:400}
.driver-entry-note{display:block;margin-top:5px;color:#858585;font:10px/1.3 Arial;min-height:13px}
.driver-entry-note.error{color:#ffb38c}.panel:not(.welcome) .driver-entry{display:none}
dialog.podium[data-state="offline"] .podium-places,dialog.podium[data-state="offline"] .podium-self,dialog.podium[data-state="offline"] .podium-table,dialog.podium[data-state="offline"] .podium-note{display:none}
dialog.podium[data-state="offline"] .podium-status{margin:18px 0 4px;padding:22px 18px;border:1px solid #ccc;border-left:4px solid #20c933;background:#fff;line-height:1.6}
dialog.podium{width:min(94vw,740px);max-height:calc(100dvh - 24px);padding:0;border:1px solid #666;background:#f2f2ef;color:#111;color-scheme:light;font:13px Arial,Helvetica,sans-serif;box-shadow:0 20px 80px #000a}
dialog.podium[open]{display:flex;flex-direction:column}
dialog.podium::backdrop{background:#050505db}
.podium header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;background:#050505;color:#fff;flex:none}
.podium header p{margin:0 0 4px;color:#20c933;font-size:8px;font-weight:900;letter-spacing:.2em}
.podium h2{margin:0;font-size:27px;letter-spacing:-.04em}.podium h2 span{color:#20c933}
.podium button,.podium input,.podium select{font:700 12px Arial,Helvetica,sans-serif;min-height:44px;border-radius:0}
.podium button{padding:10px 14px;border:1px solid #555;background:transparent;color:inherit;cursor:pointer}
.podium button:hover{background:#111;color:#fff}.podium button:disabled{opacity:.55;cursor:wait}
.podium .podium-close{width:44px;padding:0;border-color:#777;color:#fff;font-size:24px;flex:none}
.podium button:focus-visible,.podium input:focus-visible,.podium select:focus-visible{outline:2px solid #20c933;outline-offset:2px}
.podium-body{padding:18px 20px;overflow-y:auto;min-height:0;overscroll-behavior:contain}
.podium-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
.podium-picker label{display:block;margin-bottom:5px;font-size:8px;font-weight:900;letter-spacing:.13em;color:#555}
.podium select{width:100%;padding:8px 28px 8px 10px;border:1px solid #777;background:#fff;color:#111}
.podium-status{min-height:18px;margin:12px 0 8px;line-height:1.4;color:#444}
.podium-status.crowned{color:#27621b;font-weight:900}
.driver-summary{display:flex;align-items:center;gap:10px;min-width:0}
.driver-summary>span{font-size:10px;color:#555;overflow-wrap:anywhere;max-width:230px}
.podium .driver-edit{display:flex;align-items:center;gap:6px;padding:8px;font-size:9px;flex:none;border-color:#bbb}
.driver-edit svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.driver-form{padding:14px;border:1px solid #aaa;background:#fff;margin:12px 0}
.driver-form label{display:block;font-weight:900;margin-bottom:7px}
.driver-form input{width:100%;padding:10px;border:1px solid #666;background:#fff;color:#111}
.driver-form p{font-size:11px;line-height:1.45;color:#555;margin:8px 0}
.driver-form .name-error{color:#a4261e;min-height:0}
.name-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.podium .primary{border-color:#20c933;background:#20c933;color:#050505;font-weight:900;letter-spacing:.07em}
.podium .primary:hover{border-color:#111;background:#111;color:#fff}
.podium-places{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:end;margin:16px 0 14px}
.podium-place{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:12px 8px;border:1px solid #b5b5b5;background:#e3e3de;text-align:center;min-height:123px;overflow:hidden}
.podium-place[data-rank="1"]{min-height:151px;border-color:#20c933;background:#111;color:#fff}
.podium-place[data-rank="2"]{min-height:133px}.podium-place[data-rank="3"]{min-height:115px}
.place-number{display:block;margin-bottom:9px;font-size:24px;font-weight:900}
.podium-place[data-rank="1"] .place-number{color:#20c933}
.place-name{width:100%;min-height:30px;font-size:12px;font-weight:900;overflow-wrap:anywhere}
.place-time{margin-top:5px;font-size:13px;font-weight:900;font-variant-numeric:tabular-nums}
.place-title{display:block;min-height:21px;margin:8px 0 0;font-size:7px;font-weight:900;letter-spacing:.07em;color:#aaa}
.podium-place[data-rank="1"] .place-title{color:#91ee72}
.podium-place.mine{box-shadow:inset 0 -4px #20c933}
.podium-status.crowned+.podium-places .podium-place[data-rank="1"]{animation:crown-arrive .55s ease-out}
.podium-self{padding:11px 12px;border:1px solid #ccc;border-left:4px solid #20c933;font-size:12px;font-weight:700;line-height:1.5;font-variant-numeric:tabular-nums}
.podium-table{width:100%;margin-top:16px;border-collapse:collapse;text-align:left;font-size:12px;table-layout:fixed}
.podium-table th{padding:9px 8px;font-size:8px;letter-spacing:.1em;color:#555;border-bottom:1px solid #888}
.podium-table td{padding:11px 8px;border-bottom:1px solid #d4d4ce;overflow-wrap:anywhere}
.podium-table th:first-child{width:48px}.podium-table th:last-child{width:112px}
.podium-table td:last-child,.podium-table th:last-child{text-align:right;font-variant-numeric:tabular-nums}
.podium-table tr.mine{background:#e1ecd9;font-weight:900}
.podium-note{margin:12px 0 0;font-size:10px;line-height:1.5;color:#666}
.podium footer{flex:none;padding:12px 20px;border-top:1px solid #bbb;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#f2f2ef}
.podium footer>.primary{flex:none}
@keyframes crown-arrive{from{transform:translateY(7px);box-shadow:0 0 0 5px #20c93355}to{transform:none;box-shadow:0 0 0 0 #20c93300}}
@media(prefers-reduced-motion:reduce){.podium *{animation:none!important}}
@media(max-width:400px){.bar .logo{font-size:13px;letter-spacing:.05em}.bar-actions{gap:6px}.bar-actions .home-link,.podium-open{padding:8px;font-size:9px;letter-spacing:.04em}}
@media(max-width:600px),(pointer:coarse){
 .panel.welcome{grid-template-areas:'kicker kicker' 'title art' 'copy copy' 'event event' 'driver driver' 'start start'}
 .welcome .season-signature{font-size:9px;letter-spacing:.075em;margin-bottom:9px}
 .quick-guide{gap:8px 12px}.guide-rule{gap:7px;padding-top:7px}.guide-rule>svg{width:18px;height:18px}
 .guide-rule b{font-size:7px;letter-spacing:.07em;margin-bottom:3px}.guide-rule>span>span{font-size:9px;line-height:1.3}
 .guide-rule .keyboard-note{display:none}.guide-rule .touch-note{display:block}
 .welcome .season-picker{max-width:none;margin:2px 0}.driver-entry{max-width:none;margin:2px 0}
 .driver-entry label{font-size:7px;margin-bottom:5px}.driver-entry-note{font-size:8px;min-height:11px}
 .podium header{padding:10px 12px}.podium h2{font-size:23px}.podium-body{padding:12px}.podium footer{padding:10px 12px}
 .podium-places{gap:5px}.podium-place{padding:10px 4px}.place-name{font-size:10px}.place-time{font-size:11px}
 .podium-table th:last-child{width:98px}.shared-finish{font-size:10px;margin:6px 0}
 .driver-summary{gap:5px;flex:1}.driver-summary>span{font-size:9px}.podium footer{gap:8px}.podium footer>.primary{font-size:10px;padding:10px}
}
@media(max-height:760px) and (min-width:601px){
 .panel.welcome{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:'kicker copy' 'title copy' 'event copy' 'driver copy' 'start copy';gap:10px 28px;padding:20px 24px}
 .welcome #intro{display:none}.welcome .start-kicker{grid-area:kicker}.welcome h1{grid-area:title;font-size:clamp(32px,4.4vw,56px);margin:0}
 .welcome #msg{grid-area:copy;align-self:center}.welcome .season-signature{margin-bottom:10px}
 .quick-guide{gap:10px 16px}.guide-rule{padding-top:8px}.guide-rule>span>span{font-size:10px}
 .welcome .season-picker{margin:0}.driver-entry{margin:0}
}
@media(max-width:600px) and (max-height:650px){
 .panel.welcome{padding:10px;gap:5px}.welcome #intro{width:84px;height:58px}.welcome h1{font-size:27px}
 .welcome .season-signature{font-size:8px;margin-bottom:6px}.quick-guide{gap:5px 10px}
 .guide-rule{padding-top:5px;gap:5px}.guide-rule>svg{width:15px;height:15px}
 .guide-rule b{font-size:6px;margin-bottom:2px}.guide-rule>span>span{font-size:8px;line-height:1.25}
 .welcome .season-picker,.driver-entry{margin:0}.season-picker #courseLocation{font-size:8px;margin-top:4px}
 .driver-entry-note{display:none}.driver-entry label{margin-bottom:4px}
}
@media(max-height:500px) and (orientation:landscape){
 .panel.welcome{grid-template-columns:minmax(0,1fr) 190px;grid-template-areas:'title event' 'copy driver' 'copy start';gap:6px 12px;width:min(100%,780px);padding:6px 10px}
 .welcome .start-kicker{display:none}.welcome .panel-actions #start{width:100%;min-width:0;min-height:44px;padding:8px;font-size:9px}
 .welcome .season-picker label,.welcome .season-picker #courseLocation,.driver-entry label,.driver-entry-note{display:none}
 .welcome h1{font-size:24px;margin:0}.welcome .season-signature{margin-bottom:6px;font-size:8px;letter-spacing:.04em}
 .quick-guide{gap:5px 10px}.guide-rule{padding-top:5px;gap:5px}.guide-rule>svg{width:15px;height:15px}
 .guide-rule b{font-size:6px;margin-bottom:2px}.guide-rule>span>span{font-size:8px;line-height:1.2}
 .guide-rule .keyboard-note{display:none}.guide-rule .touch-note{display:block}
 .welcome .season-picker{margin:0;align-self:end}.driver-entry{margin:0;align-self:center}.driver-entry-note{font-size:8px}
 .driver-entry label{font-size:7px;margin-bottom:4px}.driver-entry input{font-size:11px;padding:8px}
 .podium header{padding:5px 12px}.podium header p{display:none}.podium h2{font-size:20px}
 .podium-body{padding:10px 14px}.podium footer{padding:6px 12px}.shared-finish{font-size:9px;margin:4px 0}
 .game.results .panel h1{font-size:24px;margin-bottom:6px}.game.results .panel p{margin:5px 0;font-size:10px;line-height:1.3}
}
.podium-run{display:grid;gap:4px;margin:0 0 16px;padding:16px 18px;border-left:6px solid #20c933;background:#050505;color:#fff;text-align:center}
.podium-run .run-label{color:#20c933;font-size:10px;font-weight:900;letter-spacing:.18em}
.podium-run .run-time{font:900 clamp(40px,11vw,64px)/1 Arial,Helvetica,sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.podium-run .run-detail{color:#cfcfcf;font-size:12px;line-height:1.4}
.podium-run[hidden]{display:none}
