:root{color-scheme:dark;--bg:#090b0d;--panel:#111519;--panel2:#171c21;--line:#2b333a;--ink:#f5f7f8;--muted:#8c969f;--amber:#f4b942;--green:#39d98a;--purple:#b56cff;--red:#ff5d5d;--cyan:#62d7ff;--radius:14px;font-family:Inter,"Segoe UI",system-ui,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 55% -20%,#26303a 0,transparent 38%),var(--bg);color:var(--ink);font-variant-numeric:tabular-nums}.race-header{min-height:76px;display:grid;grid-template-columns:auto 1fr auto auto auto;gap:24px;align-items:center;padding:12px 22px;border-bottom:1px solid var(--line);background:#0b0e11e8;backdrop-filter:blur(18px);position:sticky;top:0;z-index:10}.brand{display:flex;gap:10px;align-items:center;color:var(--ink);text-decoration:none;font-weight:800;letter-spacing:.04em}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:2px solid var(--amber);border-radius:9px;color:var(--amber);font-size:.8rem;transform:skew(-7deg)}.session-title{display:grid;gap:3px}.session-title strong{font-size:1.1rem}.session-title span,.race-clock span{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.race-clock{text-align:right}.race-clock strong{display:block;font-size:1.35rem}.connection{padding:8px 11px;border:1px solid var(--line);border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.12em}.connection.live{color:var(--green);border-color:#266947;background:#123523}nav{display:flex;gap:4px}nav a{color:var(--muted);text-decoration:none;padding:9px 11px;border-radius:8px;font-size:.85rem}nav a:hover,nav a.active{background:var(--panel2);color:var(--ink)}.monitor-shell{display:grid;grid-template-columns:minmax(330px,430px) minmax(480px,1fr) minmax(280px,360px);gap:14px;padding:14px;min-height:calc(100vh - 116px)}.timing-panel,.track-panel,.detail-panel>section{background:linear-gradient(160deg,#151a1f,#0f1317);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 18px 45px #0004}.timing-panel,.track-panel{padding:18px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.panel-heading h1,.panel-heading h2{margin:3px 0 0;font-size:1.4rem}.eyebrow{color:var(--amber);font-size:.7rem;font-weight:800;letter-spacing:.16em}.flag,.weather{font-size:.72rem;border:1px solid var(--line);border-radius:999px;padding:7px 9px}.flag.green{color:var(--green)}.timing-head,.timing-row{display:grid;grid-template-columns:48px 1fr 82px 82px;align-items:center;gap:8px}.timing-head{padding:7px 10px;color:var(--muted);font-size:.65rem;letter-spacing:.1em}.timing-rows{display:grid;gap:5px}.timing-row{min-height:52px;padding:7px 10px;border-left:3px solid var(--row-accent,#46515b);border-radius:7px;background:#1b2126}.timing-row.focus{background:#2b2414;border-color:var(--amber)}.timing-row .pos{font-size:1.25rem;font-weight:850}.driver{display:grid;min-width:0}.driver strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.driver small,.timing-row .last{color:var(--muted);font-size:.72rem}.timing-row .gap{text-align:right;font-weight:750}.timing-row .last{text-align:right}.track-panel{display:flex;flex-direction:column}.track-stage{position:relative;flex:1;min-height:390px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at center,#1e252b 0,#0e1216 68%);border-radius:10px}.track-stage:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:32px 32px;mask-image:radial-gradient(circle,#000 35%,transparent 80%)}.track-map{width:94%;height:auto;overflow:visible}.track-shadow{fill:none;stroke:#020304;stroke-width:34;stroke-linecap:round;stroke-linejoin:round}.track-line{fill:none;stroke:#3a444c;stroke-width:20;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:30 2}.car-marker circle{stroke:#090b0d;stroke-width:4}.car-marker text{fill:#090b0d;font-size:10px;font-weight:900;text-anchor:middle;dominant-baseline:central}.sector-legend{position:absolute;left:16px;bottom:14px;display:flex;gap:8px}.sector-legend span{display:grid;place-items:center;width:34px;height:26px;border-radius:5px;background:#11181e;font-size:.72rem}.s1{color:var(--cyan)}.s2{color:var(--purple)}.s3{color:var(--amber)}.race-strip{margin-top:12px;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:18px;padding:13px;background:var(--panel2);border-radius:9px}.race-strip>span{font-size:2rem;font-weight:900;color:var(--amber)}.race-strip div{display:grid;gap:2px}.race-strip small{color:var(--muted);font-size:.68rem;letter-spacing:.08em}.detail-panel{display:grid;align-content:start;gap:14px}.detail-panel>section{padding:16px}.lap-card{position:relative;overflow:hidden}.lap-card:after{content:"";position:absolute;right:-30px;bottom:-50px;width:150px;height:150px;border:24px solid #f4b94210;border-radius:50%}.hero-time{display:block;font-size:2.7rem;margin:14px 0 6px;letter-spacing:-.04em}.delta{font-size:1.2rem;font-weight:850}.delta.negative{color:var(--green)}.delta.positive{color:var(--red)}.sector-card{display:grid;gap:7px}.sector{display:grid;grid-template-columns:40px 1fr auto;gap:8px;padding:10px;border-left:3px solid var(--line);background:#0c1013;border-radius:6px}.sector.purple{border-color:var(--purple)}.sector.green{border-color:var(--green)}.sector small{color:var(--muted)}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stat-grid div{padding:10px;background:#0c1013;border-radius:7px;display:grid;gap:5px}.stat-grid span{font-size:.65rem;color:var(--muted);letter-spacing:.08em}.event-feed ol{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:10px}.event-feed li{display:grid;grid-template-columns:42px 1fr;gap:8px;font-size:.82rem}.event-feed time{color:var(--muted)}.panel-heading.compact{margin:0;font-size:.72rem}footer{min-height:40px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:8px 18px;color:var(--muted);font-size:.72rem}@media(max-width:1180px){.monitor-shell{grid-template-columns:360px 1fr}.detail-panel{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.race-header{grid-template-columns:auto 1fr auto auto}.race-header nav{grid-column:1/-1}.detail-panel>section{min-width:0}}@media(max-width:800px){.race-header{position:static;grid-template-columns:auto 1fr auto;gap:12px}.race-clock{display:none}.connection{justify-self:end}.race-header nav{overflow:auto}.monitor-shell{grid-template-columns:1fr;padding:9px}.timing-panel,.track-panel{padding:13px}.track-panel{min-height:540px}.detail-panel{grid-column:auto;grid-template-columns:1fr}.timing-head,.timing-row{grid-template-columns:42px 1fr 72px}.timing-head span:last-child,.timing-row .last{display:none}.race-strip{grid-template-columns:auto 1fr auto}.race-strip>div:last-child{display:none}.session-title strong{font-size:.95rem}.session-title span{font-size:.65rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}

/* Rennmonitor: kompakte Informationshierarchie */
.monitor-shell{width:100%;grid-template-columns:clamp(600px,30vw,900px) minmax(0,1fr);align-items:start;gap:12px;max-width:none;margin:0}
.timing-panel{position:sticky;top:90px;display:flex;flex-direction:column;max-height:calc(100vh - 108px);min-height:600px}
.timing-rows{min-height:0;overflow-x:hidden;overflow-y:auto;overflow-anchor:none;padding-right:0;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#46515b transparent}
.timing-head{margin-right:10px;border-left:3px solid transparent}
.timing-head,.timing-row{grid-template-columns:24px 28px 80px minmax(118px,1fr) 46px 24px 30px 58px 52px;column-gap:6px;row-gap:2px}
.timing-head{font-size:.6rem;letter-spacing:.07em}
.timing-row{min-height:70px;padding-top:3px;padding-bottom:3px;cursor:pointer;outline:none}
.timing-row.observed{border-left-color:var(--amber);background:#252116}.timing-row.selected{background:#302816;box-shadow:inset 0 0 0 1px #f4b94299,0 0 16px #f4b9421f}.timing-row:focus-visible{box-shadow:inset 0 0 0 2px #fff}
.timing-row .pos,.timing-head>span:first-child{justify-self:stretch;text-align:center}
.timing-head>span:nth-child(2),.timing-head>span:nth-child(3),.timing-head>span:nth-child(5),.timing-head>span:nth-child(6),.position-delta,.timing-row .laps{text-align:center}
.timing-head>span:nth-child(7),.timing-head>span:nth-child(8),.timing-head>span:nth-child(9){text-align:right}
.timing-head>span:nth-child(4),.timing-row .driver{margin-left:-4px}
.timing-head>span:not(:nth-child(4)){justify-self:stretch;text-align:center}.timing-head>span:nth-child(4){justify-self:stretch;text-align:left}
.position-delta{font-size:.78rem;font-weight:900}.position-delta.gain{color:var(--green)}.position-delta.loss{color:var(--red)}.position-delta.neutral{color:var(--muted)}
.timing-row .laps{font-weight:850;color:#d8dee2}
.timing-row .driver{align-self:center;overflow:hidden;gap:2px}
.timing-row .driver strong{line-height:1.2}
.timing-row .driver-meta{display:grid;min-width:0;gap:1px;line-height:1.12}.timing-row .driver-meta small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timing-row .driver-class{color:#b5c0c7;font-size:.6rem;font-weight:750;letter-spacing:.025em}.timing-row .driver-model{color:var(--muted);font-size:.66rem}
.timing-vehicle{align-self:center;display:grid;grid-template-rows:15px 35px;place-items:center;gap:4px;width:100%;height:54px;min-width:0}.timing-class-image{width:18px;height:15px;overflow:visible}.timing-car-image.has-car-image{width:80px;max-width:80px}.class-image{display:grid;place-items:center;min-width:0;overflow:visible}.class-image[hidden]{display:none}.class-image>img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;border-radius:3px}.class-image-fallback>span{display:grid;place-items:center;min-width:18px;height:14px;padding:0 2px;border:1px solid #4d5b65;border-radius:3px;background:#11171b;color:#c6d0d6;font-size:.38rem;font-weight:900;letter-spacing:.03em}
.car-image-placeholder{position:relative;display:grid;place-items:center;width:100%;max-width:68px;aspect-ratio:4/3;justify-self:center;overflow:hidden;border:1px dashed #45515a;border-radius:6px;background:linear-gradient(145deg,#151b20,#0c1013);color:#71808a}
.car-image-placeholder::before,.car-image-placeholder::after{content:"";position:absolute;width:140%;height:1px;background:#2d3941}.car-image-placeholder::before{transform:rotate(34deg)}.car-image-placeholder::after{transform:rotate(-34deg)}
.car-image-placeholder>span{position:relative;z-index:1;padding:2px 4px;border-radius:3px;background:#0d1216d9;font-size:.46rem;font-weight:800;letter-spacing:.08em}
.car-image-placeholder.has-car-image{max-width:112px;aspect-ratio:16/7;overflow:visible;border:0;border-radius:0;background:transparent;filter:drop-shadow(0 3px 3px #0008)}
.car-image-placeholder.has-car-image::before,.car-image-placeholder.has-car-image::after{display:none}
.car-image-placeholder>img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.car-image-placeholder.session-safety-image>img{filter:sepia(1) saturate(8) hue-rotate(10deg) brightness(1.3) contrast(.95)}
.car-image-placeholder.has-car-image.session-safety-image::after{content:"";position:absolute;top:7%;left:39%;display:block;width:22%;height:8%;border:1px solid #ffe174;border-radius:2px;background:#ffb000;box-shadow:0 0 5px 2px #ffc400;transform:none}
.race-state{align-self:center;display:grid;justify-items:center;gap:2px;min-width:0;text-align:center}.race-state strong,.race-state small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.race-state strong{color:#dce3e7;font-size:.58rem;letter-spacing:.035em}.race-state small{color:var(--muted);font-size:.48rem}.timing-row.pit-lane .race-state strong{color:var(--amber)}.timing-row.garage .race-state strong{color:#aab7bf}.timing-row.out-lap .race-state strong{color:var(--cyan)}
.timing-row .gap,.timing-row .speed,.timing-row .last{align-self:center}.timing-row .speed{text-align:center;color:#dce3e7;font-size:.72rem;font-weight:800;white-space:nowrap}
.timing-row .laps,.timing-row .speed,.timing-row .gap{display:flex;align-self:stretch;align-items:center;line-height:1;font-size:1rem}.timing-row .laps,.timing-row .speed,.timing-row .gap{justify-content:center;text-align:center}
.timing-row .last{display:grid;justify-items:center;gap:2px;text-align:center;white-space:nowrap}.last-time{color:var(--muted)}.lap-delta{font-size:.7rem;font-weight:900}.lap-delta.positive{color:var(--red)}.lap-delta.negative{color:var(--green)}.lap-delta.neutral{color:var(--muted)}
.car-marker{cursor:pointer;outline:none;pointer-events:all;touch-action:manipulation}.car-marker:focus circle{stroke:#fff;stroke-width:6}.car-marker.observed circle{stroke:var(--amber);stroke-width:6;filter:drop-shadow(0 0 5px #f4b942aa)}.car-marker.selected circle{stroke:#fff;stroke-width:7;filter:drop-shadow(0 0 7px #f4b942)}.map-driver-tooltip{position:absolute;z-index:8;width:220px;display:grid;gap:3px;padding:10px 12px;border:1px solid #56636d;border-radius:8px;background:#080c0ff2;box-shadow:0 10px 28px #000b;color:var(--ink);pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease}.map-driver-tooltip.visible{opacity:1;transform:translateY(0)}.map-driver-tooltip strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem}.map-driver-tooltip span{color:var(--amber);font-size:.75rem;font-weight:850}.map-driver-tooltip small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.7rem}
.map-driver-tooltip{width:max-content;min-width:min(270px,calc(100% - 16px));max-width:min(440px,calc(100% - 16px));grid-template-columns:76px auto;align-items:center;gap:8px;padding:8px 10px}.map-tooltip-car-image{width:76px;max-width:76px}.map-tooltip-copy{display:grid;gap:2px;min-width:0;width:max-content;max-width:330px}.map-driver-tooltip .map-tooltip-copy>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--amber);font-size:.75rem;font-weight:850}.map-driver-tooltip .map-tooltip-car-image>span{color:#71808a;font-size:.46rem}
.track-map.zoomed{cursor:grab;user-select:none}.track-map.zoomed.panning{cursor:grabbing}.zoom-hint{position:absolute;right:12px;bottom:12px;padding:5px 7px;border-radius:5px;background:#080c0fcf;color:var(--muted);font-size:.58rem;letter-spacing:.04em;pointer-events:none}
.track-sector{fill:none;stroke-width:12;stroke-linecap:butt;stroke-linejoin:round;pointer-events:none}.track-sector.sector-1{stroke:var(--cyan)}.track-sector.sector-2{stroke:var(--purple)}.track-sector.sector-3{stroke:var(--amber)}.map-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:30px;margin-top:5px}.map-controls .sector-legend{position:static;display:flex;gap:8px}.map-controls .sector-legend[hidden]{display:none}.map-controls .zoom-hint{position:static;margin-left:auto;background:transparent;padding:4px 0;text-align:right}
.race-workspace{display:grid;grid-template-columns:minmax(0,28fr) minmax(0,28fr) minmax(0,44fr);grid-template-rows:auto auto minmax(126px,1fr);gap:12px;min-width:0;height:auto;min-height:max(600px,calc(100vh - 108px))}
.quick-grid{grid-column:1/3;grid-row:1;display:grid;grid-template-columns:minmax(135px,.78fr) minmax(185px,.95fr) minmax(200px,1.27fr);gap:0;min-width:0;padding:15px;background:linear-gradient(160deg,#151a1f,#0f1317);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 18px 45px #0004}
.track-quick{display:contents}
.quick-grid .lap-card,.quick-grid .sector-card,.quick-grid>.stat-grid{min-width:0;padding:0 13px}
.quick-grid .lap-card{padding-left:0;border-right:1px solid #2a333a}
.quick-grid .sector-card{border-right:1px solid #2a333a}
.quick-grid>.stat-grid{padding-right:0}
.operational-column>section{min-width:0;padding:15px;background:linear-gradient(160deg,#151a1f,#0f1317);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 18px 45px #0004}
.quick-grid .lap-card{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between}
.lap-card-heading{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.current-sector-badge{display:grid;place-items:center;min-width:32px;height:24px;padding:0 7px;border:1px solid var(--line);border-radius:6px;background:#090d10e8;color:var(--muted);font-size:.7rem;font-weight:900;letter-spacing:.08em;line-height:1}.current-sector-badge.sector-1{border-color:#62d7ff66;color:var(--cyan);background:#0b2028}.current-sector-badge.sector-2{border-color:#b56cff66;color:var(--purple);background:#20152a}.current-sector-badge.sector-3{border-color:#f4b94266;color:var(--amber);background:#281f0d}
.quick-grid .hero-time{margin:8px 0 0;font-size:1.7rem;line-height:1;white-space:nowrap}
.quick-grid .delta{align-self:flex-end;margin-top:5px;text-align:right;white-space:nowrap;font-size:1rem}
.quick-grid .delta.neutral{color:var(--muted)}
.quick-grid .sector-card{grid-template-columns:1fr;gap:6px}
.quick-grid .sector{padding:8px 10px}.quick-grid .sector strong{font-size:.96rem}.quick-grid .sector small{font-size:.72rem;font-weight:800}
.quick-grid .stat-grid{padding:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.quick-grid .stat-grid .metric-card{min-width:0;min-height:60px;padding:8px 7px;grid-template-rows:auto minmax(18px,1fr) auto;align-items:center;gap:2px}
.quick-grid .stat-grid .metric-card>span{font-size:.6rem;font-weight:700;white-space:nowrap}
.quick-grid .stat-grid .metric-card>strong{align-self:center;overflow:hidden;text-overflow:ellipsis;font-size:.9rem;line-height:1.05;white-space:nowrap}
.metric-delta{display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:0;font-size:.72rem!important;font-weight:850;line-height:1;letter-spacing:0!important;white-space:nowrap}.metric-delta::before{content:attr(data-reference);overflow:hidden;color:var(--muted);font-size:.55rem;font-weight:700;letter-spacing:.06em;text-overflow:ellipsis}.metric-delta.purple{color:var(--purple)!important}.metric-delta.green,.metric-delta.gain{color:var(--green)!important}.metric-delta.yellow{color:var(--amber)!important}.metric-delta.loss{color:var(--red)!important}.metric-delta.neutral{color:var(--muted)!important}
.operational-grid,.operational-column{display:contents}
.operational-grid .track-panel{grid-column:1/3;grid-row:2;height:auto;align-self:start}
.operational-grid .event-feed{grid-column:1;grid-row:3}
.operational-grid .vehicle-card{grid-column:3;grid-row:1/4;height:100%;align-self:stretch}
.operational-grid .collision-feed{grid-column:2;grid-row:3}
.operational-grid .collision-feed,.operational-grid .event-feed{display:flex;height:100%;min-height:126px;align-self:stretch;flex-direction:column}.operational-grid .collision-feed ol,.operational-grid .event-feed ol{flex:1;max-height:none;overflow:auto}
.track-panel{min-height:0;padding:15px}
.track-panel>.panel-heading{margin-bottom:10px}
.track-stage{flex:none;min-height:0;height:clamp(230px,25vh,560px);transition:height 260ms cubic-bezier(.2,.8,.2,1);will-change:height}
.track-map{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none}
.race-strip{grid-template-columns:minmax(0,1fr) auto;gap:9px 14px;padding:11px 13px}
.focus-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;min-width:0}.focus-summary>span{font-size:1.7rem;font-weight:900;color:var(--amber)}.focus-summary>div{min-width:0}.focus-summary strong,.focus-summary small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.focus-identity{display:grid!important;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:10px}.focus-copy{display:grid!important;min-width:0}.focus-car-image.has-car-image{width:92px;max-width:92px;justify-self:center;transform:translateX(-7px)}.pin-focus{padding:6px 8px;border:1px solid #51606a;border-radius:6px;background:#11181d;color:#dce3e7;font:inherit;font-size:.58rem;font-weight:850;letter-spacing:.06em;cursor:pointer}.pin-focus:hover:not(:disabled),.pin-focus:focus-visible{border-color:var(--amber);color:var(--amber)}.pin-focus:disabled{opacity:.55;cursor:default}.focus-metrics{display:flex;align-items:center;justify-content:flex-end;gap:18px}.focus-metrics>div{display:grid;gap:2px;min-width:62px}.relative-grid{grid-column:1/-1;display:grid!important;grid-template-columns:1fr;gap:6px}.relative-row{display:grid!important;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 9px;border-radius:6px;background:#0c1115}.relative-row.focus{border-left:3px solid var(--amber);background:#18170f}.relative-row.selected{box-shadow:inset 0 0 0 1px #f4b94280}.relative-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem}.relative-row span{font-size:.76rem;font-weight:850;color:#dce3e7;white-space:nowrap}.relative-driver,.selection-driver{display:grid!important;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:7px;min-width:0;text-align:left!important}.relative-driver>strong,.selection-driver>strong{width:calc(100% + 8px);min-width:0;transform:translateX(-8px);text-align:left!important}.relative-driver.without-image{grid-template-columns:minmax(0,1fr)}.relative-car-image,.selection-car-image{justify-self:center}.relative-car-image.has-car-image,.selection-car-image.has-car-image{width:62px;max-width:62px;transform:translateX(-10px)}.relative-row.enter-above{animation:relativeEnterAbove .38s ease-out}.relative-row.enter-below{animation:relativeEnterBelow .38s ease-out}@keyframes relativeEnterAbove{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes relativeEnterBelow{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}
.vehicle-card{align-content:start;overflow:auto;scrollbar-width:thin;scrollbar-color:#46515b transparent}
.vehicle-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
.collision-feed,.event-feed{min-height:160px}
.collision-feed ol,.event-feed ol{max-height:190px;overflow:auto;padding-right:3px}
.event-feed ol{display:grid;grid-auto-rows:max-content;align-content:start;gap:5px}
.event-feed li{grid-template-columns:58px minmax(0,1fr);gap:10px;min-height:0;padding:3px 0;line-height:1.25}.event-feed time{white-space:nowrap}

@media(max-width:1600px){
  .race-workspace{grid-template-columns:1fr 1fr;grid-template-rows:auto auto minmax(126px,auto) auto;height:auto;min-height:0}
  .quick-grid{grid-column:1/3;grid-row:1}.operational-grid .track-panel{grid-column:1/3;grid-row:2}.operational-grid .event-feed{grid-column:1;grid-row:3}.operational-grid .collision-feed{grid-column:2;grid-row:3}.operational-grid .vehicle-card{grid-column:1/3;grid-row:4;height:auto}
}

/* Rechter Fokusblock und vorzeichenbehaftete Zeitabstaende. */
.focus-metrics>div{justify-items:end;text-align:right}
.signed-delta.positive{color:var(--red)!important}.signed-delta.negative{color:var(--green)!important}.signed-delta.neutral{color:var(--muted)!important}
.race-header{grid-template-columns:clamp(600px,30vw,900px) minmax(0,1fr) auto auto auto;gap:12px;padding-left:14px;padding-right:14px}.header-intro{display:flex;align-items:center;gap:24px;min-width:0}.session-copy{display:grid;gap:4px;min-width:0}.session-track,.session-meta{display:flex;align-items:baseline;gap:6px;min-width:0}.session-prefix{flex:0 0 auto;color:var(--muted);font-size:.58rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.session-copy #trackName{min-width:0;overflow:hidden;color:var(--ink);font-size:1.03rem;letter-spacing:normal;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.session-copy #sessionMeta{min-width:0;overflow:hidden;color:#aab5bc;font-size:.7rem;letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.session-visuals{grid-column:2;display:flex;align-items:center;justify-self:start;gap:16px;width:100%;min-width:0;max-width:100%;overflow:hidden;transform:none}.session-classes{display:flex;align-items:center;gap:10px;min-width:0;max-width:40%;flex:0 1 auto;padding-right:14px;border-right:1px solid var(--line);overflow:hidden}.session-classes[hidden]{display:none}.session-class{display:grid;grid-template-columns:48px auto;align-items:center;gap:6px;min-width:0;flex:0 0 auto;border-radius:7px;cursor:help;outline:0}.session-class:focus-visible{box-shadow:0 0 0 2px rgba(244,185,66,.72);background:rgba(244,185,66,.08)}.session-class-image{width:48px;height:48px;overflow:visible}.session-class>b{overflow:hidden;max-width:100px;color:#dce3e7;font-size:.68rem;letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap}.session-models{display:flex;align-items:center;justify-content:flex-start;gap:7px;min-width:0;flex:1 1 auto;overflow:hidden}.session-model{display:grid;place-items:center;flex:0 0 auto;width:96px;height:48px}.session-model-image{width:96px;max-width:96px}.session-model-image.has-car-image{width:96px;max-width:96px;aspect-ratio:16/7}.session-model-image>span{font-size:.42rem}.session-overflow{display:grid;place-items:center;flex:0 0 auto;min-width:34px;height:28px;padding:0 7px;border:1px solid #45515a;border-radius:999px;background:#12191e;color:#c7d0d6;font-size:.68rem;font-weight:900;letter-spacing:.04em}.session-overflow[hidden],.session-class[hidden],.session-model[hidden]{display:none!important}
.class-vehicle-tooltip{position:fixed;z-index:1000;width:max-content;max-width:min(620px,calc(100vw - 24px));padding:12px;border:1px solid #394751;border-radius:12px;background:linear-gradient(145deg,#182126 0%,#0d1317 72%);box-shadow:0 14px 38px rgba(0,0,0,.52),inset 0 1px rgba(255,255,255,.035);color:var(--ink);pointer-events:none;opacity:0;transform:translateY(-4px) scale(.985);transform-origin:top center;transition:opacity 120ms ease,transform 120ms ease}.class-vehicle-tooltip.visible{opacity:1;transform:translateY(0) scale(1)}.class-vehicle-tooltip.above{transform-origin:bottom center}.class-vehicle-tooltip[hidden]{display:none}.class-vehicle-tooltip::before{content:"";position:absolute;top:-6px;left:calc(50% - 6px);width:11px;height:11px;border-left:1px solid #394751;border-top:1px solid #394751;background:#172025;transform:rotate(45deg)}.class-vehicle-tooltip.above::before{top:auto;bottom:-6px;border:0;border-right:1px solid #394751;border-bottom:1px solid #394751;background:#0d1317}.class-vehicle-tooltip>header{position:relative;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:20px;padding:1px 3px 10px;border-bottom:1px solid #29343b}.class-vehicle-tooltip>header>span{display:grid;gap:2px}.class-vehicle-tooltip>header small{color:var(--amber);font-size:.55rem;font-weight:900;letter-spacing:.16em}.class-vehicle-tooltip>header strong{font-size:1rem;line-height:1.05}.class-vehicle-tooltip>header>b{color:#95a3ac;font-size:.58rem;letter-spacing:.1em;white-space:nowrap}.class-vehicle-tooltip-grid{display:grid;grid-template-columns:repeat(4,minmax(112px,1fr));gap:7px;margin-top:9px}.class-vehicle-tooltip-item{display:grid;grid-template-rows:46px auto;align-items:center;justify-items:center;gap:4px;min-width:0;padding:7px 7px 6px;border:1px solid #28333a;border-radius:8px;background:rgba(5,10,13,.58)}.class-vehicle-tooltip-image,.class-vehicle-tooltip-image.has-car-image{width:108px;max-width:108px;height:46px;aspect-ratio:auto}.class-vehicle-tooltip-image>img{display:block;width:100%;height:100%;object-fit:contain}.class-vehicle-tooltip-item>span:last-child{max-width:120px;color:#dce4e8;font-size:.63rem;font-weight:750;line-height:1.18;text-align:center}
@media(max-width:680px){.class-vehicle-tooltip-grid{grid-template-columns:repeat(2,minmax(112px,1fr))}.class-vehicle-tooltip{padding:10px}.class-vehicle-tooltip-image,.class-vehicle-tooltip-image.has-car-image{width:96px;max-width:96px}}
@media(max-width:1250px){
  .monitor-shell{grid-template-columns:minmax(520px,50vw) minmax(0,1fr)}
  .timing-panel{padding-left:16px;padding-right:16px}
  .timing-head>span:nth-child(3),.timing-row .timing-vehicle,.timing-head>span:nth-child(4),.timing-row .driver{margin-left:2px}
  .race-header{grid-template-columns:minmax(520px,50vw) minmax(0,1fr) auto auto}.session-visuals{grid-column:2/-1;grid-row:2;gap:12px;max-width:100%}.race-header nav{grid-row:3}.session-classes{gap:8px;padding-right:10px}.session-class{grid-template-columns:42px auto;gap:5px}.session-class-image{width:42px;height:42px}.session-models{gap:6px}.session-model{width:76px;height:42px}.session-model-image,.session-model-image.has-car-image{width:76px;max-width:76px}
  .race-workspace{height:auto;min-height:0;grid-template-rows:auto auto}
  .timing-head,.timing-row{grid-template-columns:24px 24px 68px minmax(90px,1fr) 40px 24px 30px 52px 48px;gap:2px}.timing-car-image.has-car-image{width:68px;max-width:68px}
  .quick-grid{grid-template-columns:1fr}.quick-grid .lap-card,.quick-grid .sector-card{padding:10px 0;border-right:0;border-bottom:1px solid #2a333a}.quick-grid>.stat-grid{padding:10px 0 0;grid-template-columns:repeat(4,1fr)}
  .operational-grid,.operational-column{display:contents}.operational-grid .track-panel,.operational-grid .vehicle-card,.operational-grid .collision-feed,.operational-grid .event-feed{height:auto}
  .vehicle-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.tyre-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(min-width:1251px){.timing-head>span:nth-child(4),.timing-row .driver{margin-left:-8px}}
@media(max-width:850px){
  .race-header{position:static;grid-template-columns:auto 1fr auto;gap:12px}.race-clock{display:none}.connection{justify-self:end}.race-header nav{grid-column:1/-1;overflow:auto}
  .monitor-shell{grid-template-columns:1fr;padding:9px}.timing-panel{position:static;max-height:none;min-height:0}.timing-rows{max-height:62vh}
  .quick-grid{grid-template-columns:1fr}.quick-grid .stat-grid{grid-template-columns:1fr 1fr}
  .race-workspace{grid-template-columns:1fr;grid-template-rows:auto}.quick-grid,.operational-grid .track-panel,.operational-grid .event-feed,.operational-grid .collision-feed,.operational-grid .vehicle-card{grid-column:1;grid-row:auto}.track-stage{height:300px}.vehicle-summary{grid-template-columns:1fr 1fr}.tyre-grid{grid-template-columns:1fr 1fr}
  .timing-head,.timing-row{grid-template-columns:24px 26px 72px minmax(108px,1fr) 44px 24px 32px 56px 50px;gap:3px}.timing-head span:last-child{display:block}.timing-row .last{display:grid}.race-strip{grid-template-columns:minmax(0,1fr) auto}.relative-grid{display:grid!important}
  .race-header{grid-template-columns:minmax(0,1fr) auto}.header-intro{grid-column:1}.session-visuals{grid-column:1/-1;grid-row:2;justify-self:start;max-width:100%;margin-top:4px}.race-header nav{grid-column:1/-1;grid-row:3}.session-copy #trackName{font-size:.95rem}.session-copy span{font-size:.65rem}
}
@media(max-width:520px){.quick-grid,.operational-column>section{padding:12px}.track-stage{height:250px}.race-strip{gap:9px}.weather-display{max-width:62%}.weather-display .weather{display:none}.vehicle-summary,.tyre-grid{grid-template-columns:1fr}.collision-feed,.event-feed{min-height:0}.timing-head,.timing-row{grid-template-columns:26px minmax(0,1fr) 50px 28px minmax(46px,52px) minmax(48px,56px);gap:2px}.timing-head>span:nth-child(2),.timing-row .position-delta,.timing-head>span:nth-child(3),.timing-row .timing-vehicle,.timing-head>span:nth-child(7),.timing-row .speed{display:none}.session-visuals{gap:8px}.session-classes{gap:6px;padding-right:8px}.session-class{grid-template-columns:36px auto}.session-class-image{width:36px;height:36px}.session-model{width:60px;height:36px}.session-model-image.has-car-image{width:60px;max-width:60px}}

.session-model{border-radius:8px;cursor:help;outline:0}.session-model:focus-visible{box-shadow:0 0 0 2px rgba(244,185,66,.72);background:rgba(244,185,66,.08)}
.raceweb-tooltip{position:fixed;z-index:1000;width:max-content;max-width:calc(100vw - 24px);padding:12px;border:1px solid #394751;border-radius:12px;background:linear-gradient(145deg,#182126 0%,#0d1317 72%);box-shadow:0 14px 38px rgba(0,0,0,.52),inset 0 1px rgba(255,255,255,.035);color:var(--ink);pointer-events:none;opacity:0;transform:translateY(-4px) scale(.985);transform-origin:top center;transition:opacity 120ms ease,transform 120ms ease}.raceweb-tooltip.visible{opacity:1;transform:translateY(0) scale(1)}.raceweb-tooltip.above{transform-origin:bottom center}.raceweb-tooltip[hidden]{display:none}.raceweb-tooltip::before{content:"";position:absolute;top:-6px;left:calc(50% - 6px);width:11px;height:11px;border-left:1px solid #394751;border-top:1px solid #394751;background:#172025;transform:rotate(45deg)}.raceweb-tooltip.above::before{top:auto;bottom:-6px;border:0;border-right:1px solid #394751;border-bottom:1px solid #394751;background:#0d1317}
.class-vehicle-tooltip{width:min(860px,calc(100vw - 24px));max-height:min(620px,calc(100vh - 24px));overflow:auto}.class-vehicle-tooltip-grid{grid-template-columns:repeat(2,minmax(280px,1fr));gap:8px}.class-vehicle-tooltip-item{display:grid;grid-template-columns:112px minmax(0,1fr);grid-template-rows:auto;align-items:center;justify-items:stretch;gap:10px;min-height:92px;padding:8px}.class-vehicle-tooltip-image,.class-vehicle-tooltip-image.has-car-image{width:112px;max-width:112px;height:58px}.class-vehicle-tooltip-item>.vehicle-profile-copy{display:grid;gap:3px;max-width:none;min-width:0;color:inherit;font-size:inherit;font-weight:inherit;line-height:normal;text-align:left}.vehicle-profile-copy>strong{overflow:hidden;color:#edf2f4;font-size:.72rem;line-height:1.16;text-overflow:ellipsis;white-space:nowrap}.vehicle-profile-copy>small{overflow:hidden;color:#91a1aa;font-size:.54rem;letter-spacing:.035em;text-overflow:ellipsis;white-space:nowrap}.vehicle-mini-facts,.vehicle-profile-facts{display:grid;gap:3px}.vehicle-mini-facts{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:3px}.vehicle-mini-facts>span,.vehicle-profile-facts>span{display:grid;min-width:0}.vehicle-mini-facts small,.vehicle-profile-facts small{color:#6f838f;font-size:.46rem;font-weight:850;letter-spacing:.09em}.vehicle-mini-facts b{overflow:hidden;color:#c9d3d8;font-size:.55rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.vehicle-profile-missing{grid-column:1/-1;color:#7f9099!important;font-size:.54rem!important;font-style:italic;letter-spacing:0!important}.vehicle-profile-features{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px}.vehicle-profile-features>b{padding:2px 4px;border:1px solid rgba(244,185,66,.35);border-radius:4px;background:rgba(244,185,66,.08);color:#f4c35c;font-size:.45rem;letter-spacing:.06em}
.vehicle-profile-tooltip{width:min(470px,calc(100vw - 24px));padding:13px}.vehicle-profile-tooltip>header{display:flex;justify-content:space-between;gap:20px;padding:0 2px 9px;border-bottom:1px solid #29343b}.vehicle-profile-tooltip>header small{color:var(--amber);font-size:.56rem;font-weight:900;letter-spacing:.16em}.vehicle-profile-tooltip>header span{color:#71838d;font-size:.5rem;font-weight:800;letter-spacing:.12em}.vehicle-profile-card{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:14px;padding-top:10px}.vehicle-profile-image,.vehicle-profile-image.has-car-image{width:150px;max-width:150px;height:72px}.vehicle-profile-image>img{display:block;width:100%;height:100%;object-fit:contain}.vehicle-profile-card>.vehicle-profile-copy{display:grid;gap:4px;min-width:0}.vehicle-profile-card .vehicle-profile-copy>strong{font-size:.92rem}.vehicle-profile-card .vehicle-profile-copy>small{font-size:.58rem}.vehicle-profile-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 10px;margin-top:4px}.vehicle-profile-facts b{overflow:hidden;color:#d9e1e5;font-size:.63rem;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:680px){.class-vehicle-tooltip-grid{grid-template-columns:1fr}.class-vehicle-tooltip{width:min(430px,calc(100vw - 20px));padding:10px}.vehicle-profile-card{grid-template-columns:110px minmax(0,1fr);gap:9px}.vehicle-profile-image,.vehicle-profile-image.has-car-image{width:110px;max-width:110px;height:58px}}
.class-vehicle-tooltip-item .vehicle-profile-copy>strong{overflow:visible;text-overflow:clip;white-space:normal}.class-vehicle-tooltip-item .vehicle-mini-facts b{overflow:visible;font-size:.52rem;line-height:1.12;text-overflow:clip;white-space:normal}
.timing-car-image,.broadcast-vehicle .car-image-placeholder{cursor:help;outline:0}.timing-car-image:focus-visible,.broadcast-vehicle .car-image-placeholder:focus-visible{filter:drop-shadow(0 0 6px rgba(244,185,66,.75))}
.vehicle-profile-visual{display:grid;place-items:center;min-width:0}.vehicle-profile-card:has(.vehicle-profile-position){grid-template-columns:184px minmax(0,1fr)}.vehicle-profile-card:has(.vehicle-profile-position)>.vehicle-profile-visual{grid-template-rows:repeat(2,minmax(0,1fr));height:164px}.vehicle-profile-position{align-self:start;margin-top:1px;color:#ffbd35;font-family:"Arial Narrow","Roboto Condensed",sans-serif;font-size:2.7rem;font-style:italic;font-weight:950;letter-spacing:-.055em;line-height:.88;text-align:center;text-shadow:0 2px 0 #5a3200,0 0 13px rgba(255,181,42,.68),0 7px 18px rgba(0,0,0,.84)}.vehicle-profile-card:has(.vehicle-profile-position) .vehicle-profile-image,.vehicle-profile-card:has(.vehicle-profile-position) .vehicle-profile-image.has-car-image{align-self:end;width:170px;max-width:170px;height:82px}.vehicle-profile-participant{display:grid;gap:1px;margin:3px 0 2px;padding:5px 7px;border-left:3px solid #f4b942;border-radius:3px;background:linear-gradient(90deg,rgba(244,185,66,.13),rgba(244,185,66,.015))}.vehicle-profile-participant>strong{overflow:hidden;color:#f5f7f8;font-size:.7rem;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.vehicle-profile-participant>small{overflow:hidden;color:#b3c0c7;font-size:.52rem;letter-spacing:.035em;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:520px){.vehicle-profile-card:has(.vehicle-profile-position){grid-template-columns:132px minmax(0,1fr)}.vehicle-profile-card:has(.vehicle-profile-position)>.vehicle-profile-visual{height:136px}.vehicle-profile-position{font-size:2.05rem}.vehicle-profile-card:has(.vehicle-profile-position) .vehicle-profile-image,.vehicle-profile-card:has(.vehicle-profile-position) .vehicle-profile-image.has-car-image{width:124px;max-width:124px;height:66px}}
.sector.purple strong,.sector.purple small{color:var(--purple)}.sector.green strong,.sector.green small{color:var(--green)}.sector.yellow{border-color:var(--amber)}.sector.yellow strong,.sector.yellow small{color:var(--amber)}.stat-grid small{font-size:.65rem;color:var(--muted);letter-spacing:.08em}.lap-reference-delta.purple{color:var(--purple)}.lap-reference-delta.green{color:var(--green)}.lap-reference-delta.yellow{color:var(--amber)}
.delta.invalid,.sector.lap-invalid small,.lap-validity.invalid{color:var(--red)!important}.lap-validity.valid{color:var(--green)!important}
.focus-summary{grid-template-columns:minmax(8.5rem,9rem) minmax(9rem,1fr);column-gap:10px;padding-left:9px}.focus-summary>span{width:auto;justify-self:center;text-align:center}.focus-label{color:var(--amber)!important;font-size:.52rem!important}.relative-area{grid-column:1/-1;display:grid!important;gap:6px}.selection-action{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 9px;border:1px solid #f4b94270;border-radius:6px;background:#201a0e}.selection-action[hidden]{display:none!important}.selection-action>span{color:var(--amber);font-size:.58rem;font-weight:850;letter-spacing:.08em}.selection-driver>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem}.relative-area .relative-grid{grid-column:auto}
.focus-heading{display:flex!important;align-items:center;gap:6px;min-width:0}.focus-reset{display:grid;place-items:center;width:20px;height:20px;padding:0;border:1px solid #46545e;border-radius:5px;background:#11181d;color:var(--muted);cursor:pointer}.focus-reset-icon{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.focus-reset:hover,.focus-reset:focus-visible{border-color:var(--amber);background:#1d1a11;color:var(--amber);outline:none}.focus-reset[hidden]{display:none!important}
.car-marker circle{transition:r .4s cubic-bezier(.2,.8,.2,1),stroke .32s ease,stroke-width .32s ease,filter .32s ease,fill .25s ease}.car-marker text{transition:fill .3s ease,font-size .3s ease}.focus-summary.focus-changing,.focus-metrics.focus-changing{animation:focusChangeIn .4s cubic-bezier(.2,.8,.2,1)}@keyframes focusChangeIn{0%{opacity:.2;transform:translateY(7px)}55%{opacity:1;transform:translateY(-1px)}100%{opacity:1;transform:translateY(0)}}
.relative-row{grid-template-columns:minmax(8.5rem,9rem) minmax(9rem,1fr) minmax(4.5rem,5.75rem)!important}.relative-row>small{min-width:0;overflow:hidden;padding-right:6px;text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;letter-spacing:.04em}.relative-row>strong{min-width:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.relative-row>.signed-delta{text-align:right}
.relative-row{border-left:3px solid transparent}.relative-row.focus{border-left-color:var(--amber)}
.selection-action{grid-template-columns:minmax(8.5rem,9rem) minmax(9rem,1fr) auto;border-left-width:3px}
.monitor-shell{min-height:calc(100vh - 76px)}

@media(min-width:1601px) and (min-height:1040px){
  body{height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}
  .monitor-shell{height:auto;min-height:0}
  .timing-panel{position:relative;top:auto;height:100%;max-height:none;min-height:0}
  .race-workspace{height:100%;min-height:0}
  .race-workspace:has(#selectionAction:not([hidden])) .track-stage{height:clamp(150px,15vh,360px)}
}

@media(min-width:1601px) and (max-height:1039px){
  body{height:auto;min-height:100vh;display:block;overflow-x:hidden;overflow-y:auto}
  .monitor-shell{height:auto;min-height:calc(100vh - 76px);align-items:start}
  .timing-panel{position:sticky;top:90px;height:calc(100vh - 108px);max-height:none;min-height:560px}
  .race-workspace{height:auto;min-height:0}
  .operational-grid .vehicle-card{height:auto;align-self:start;overflow:visible}
  .track-stage{height:clamp(230px,36vh,420px)}
  .race-workspace:has(#selectionAction:not([hidden])) .track-stage{height:clamp(170px,24vh,300px)}
}

@media(prefers-reduced-motion:reduce){.track-stage{transition:none}}

.relative-reference{padding:0 9px;color:var(--muted);font-size:.5rem;font-weight:800;letter-spacing:.08em;line-height:1;text-align:right}

@media(max-width:520px){
  .race-strip,.relative-area,.relative-grid{min-width:0;width:100%}
  .focus-summary{grid-template-columns:minmax(5.5rem,7rem) minmax(0,1fr);padding-left:0}
  .focus-identity{grid-template-columns:56px minmax(0,1fr);gap:6px}.focus-car-image.has-car-image{width:64px;max-width:64px}
  .relative-row{grid-template-columns:minmax(5.5rem,7rem) minmax(0,1fr) minmax(3.6rem,4.5rem)!important;gap:6px;padding:7px 6px}
  .selection-action{grid-template-columns:minmax(5.5rem,7rem) minmax(0,1fr) auto;gap:6px;padding:7px 6px}
  .relative-driver,.selection-driver{grid-template-columns:56px minmax(0,1fr);gap:5px}.relative-driver>strong,.selection-driver>strong{width:calc(100% + 2px);transform:translateX(-2px)}.relative-car-image.has-car-image,.selection-car-image.has-car-image{width:50px;max-width:50px}
}

.focus-vehicle-visual,.relative-vehicle-visual,.selection-vehicle-visual{display:grid;place-items:center;align-content:center;min-width:0}
.focus-vehicle-visual{width:82px;grid-template-columns:18px minmax(0,1fr);grid-template-rows:auto;gap:4px;transform:translateX(-2px)}
.relative-vehicle-visual,.selection-vehicle-visual{width:76px;grid-template-columns:16px minmax(0,1fr);grid-template-rows:auto;gap:4px;transform:translateX(-7px)}
.focus-class-image{width:18px;height:14px}
.relative-class-image,.selection-class-image{width:16px;height:13px}
.focus-car-image.has-car-image{width:60px;max-width:60px;transform:none}
.relative-car-image.has-car-image,.selection-car-image.has-car-image{width:56px;max-width:56px;transform:none}

@media(max-width:520px){
  .focus-vehicle-visual{width:56px;grid-template-columns:14px minmax(0,1fr);gap:3px;transform:translateX(0)}
  .relative-vehicle-visual,.selection-vehicle-visual{width:54px;grid-template-columns:14px minmax(0,1fr);gap:3px;transform:translateX(-2px)}
  .focus-class-image,.relative-class-image,.selection-class-image{width:14px;height:11px}
  .focus-car-image.has-car-image{width:39px;max-width:39px}
  .relative-car-image.has-car-image,.selection-car-image.has-car-image{width:37px;max-width:37px}
}

/* Focus vehicle group keeps the former 92px car footprint; compact relative rows stay unchanged. */
.focus-identity{grid-template-columns:92px minmax(0,1fr)}
.focus-vehicle-visual{width:92px;grid-template-columns:20px minmax(0,1fr)}
.focus-class-image{width:20px;height:16px}
.focus-car-image.has-car-image{width:68px;max-width:68px}

@media(max-width:520px){
  .focus-identity{grid-template-columns:64px minmax(0,1fr)}
  .focus-vehicle-visual{width:64px;grid-template-columns:14px minmax(0,1fr)}
  .focus-class-image{width:14px;height:11px}
  .focus-car-image.has-car-image{width:47px;max-width:47px}
}

/* Shared focus axes: visual groups share one center line; driver names share one start line. */
.relative-driver,.selection-driver{gap:9px}
.relative-vehicle-visual,.selection-vehicle-visual{justify-self:center;transform:none}
.relative-driver>strong,.selection-driver>strong{width:100%;transform:none}

@media(max-width:520px){
  .relative-driver,.selection-driver{grid-template-columns:64px minmax(0,1fr);gap:6px}
  .relative-vehicle-visual,.selection-vehicle-visual{justify-self:center;transform:none}
  .relative-driver>strong,.selection-driver>strong{width:100%;transform:none}
}

/* Larger focus visuals keep the shared axes without taking space from the driver-name column. */
.focus-vehicle-visual{width:104px;grid-template-columns:24px 75px;gap:5px;justify-self:center;transform:translateX(-6px)}
.focus-class-image{width:24px;height:19px}
.focus-car-image.has-car-image{width:75px;max-width:75px}
.relative-vehicle-visual,.selection-vehicle-visual{transform:translateX(-4px)}

@media(max-width:1180px) and (min-width:521px){
  .relative-vehicle-visual,.selection-vehicle-visual{transform:translateX(-3px)}
}

@media(max-width:520px){
  .focus-vehicle-visual{width:72px;grid-template-columns:16px 52px;gap:4px;transform:translateX(-4px)}
  .focus-class-image{width:16px;height:13px}
  .focus-car-image.has-car-image{width:52px;max-width:52px}
  .relative-vehicle-visual,.selection-vehicle-visual{transform:translateX(-3px)}
}

/* Logo and car are one centered unit inside a shared visual axis. */
.focus-vehicle-axis,.relative-vehicle-axis,.selection-vehicle-axis{display:grid;place-items:center;min-width:0}
.focus-vehicle-axis{width:92px;transform:translateX(-6px)}
.relative-vehicle-axis,.selection-vehicle-axis{width:82px;transform:translateX(-4px)}
.focus-vehicle-visual,.relative-vehicle-visual,.selection-vehicle-visual{justify-self:center;transform:none}

@media(max-width:1180px) and (min-width:521px){
  .relative-vehicle-axis,.selection-vehicle-axis{transform:translateX(-3px)}
}

@media(max-width:520px){
  .focus-vehicle-axis{width:64px;transform:translateX(-4px)}
  .relative-vehicle-axis,.selection-vehicle-axis{width:64px;transform:translateX(-3px)}
  .focus-vehicle-visual,.relative-vehicle-visual,.selection-vehicle-visual{transform:none}
}

/* The logo and car form one visual unit and share the same horizontal and vertical centre. */
.focus-summary .focus-identity{gap:14px}
.relative-driver,.selection-driver{gap:21px}
.focus-vehicle-axis,.relative-vehicle-axis,.selection-vehicle-axis{display:flex;justify-content:center;align-items:center;align-self:center}
.focus-vehicle-visual{width:116px;grid-template-columns:27px 83px;gap:6px;justify-self:center;align-items:center;align-content:center;transform:translateX(2px);flex:0 0 auto}
.focus-class-image{width:27px;height:28px}
.focus-car-image.has-car-image{width:83px;max-width:83px}
.relative-vehicle-visual,.selection-vehicle-visual{align-items:center;align-content:center;transform:none;flex:0 0 auto}
.focus-class-image,.relative-class-image,.selection-class-image,.focus-car-image,.relative-car-image,.selection-car-image{align-self:center}
.relative-class-image,.selection-class-image{height:17px}
.focus-class-image>img,.relative-class-image>img,.selection-class-image>img{display:block;width:100%;height:100%;object-fit:contain;object-position:center center}
.focus-class-image{transform:translateY(-2px)}
.relative-class-image,.selection-class-image{transform:translateY(-1.5px)}

@media(max-width:520px){
  .focus-summary .focus-identity,.relative-driver,.selection-driver{gap:10px}
  .focus-vehicle-visual{width:82px;grid-template-columns:18px 59px;gap:5px;transform:translateX(1px)}
  .focus-class-image{width:18px;height:19px}
  .relative-class-image,.selection-class-image{width:14px;height:15px;transform:translateY(-1px)}
  .focus-car-image.has-car-image{width:59px;max-width:59px}
}

/* Keep the established image/text axes; only pull the large focus position outward. */
#focusPosition{transform:translateX(-10px)}
@media(max-width:520px){#focusPosition{transform:translateX(-6px)}}

/* Overall/class standings selector. It may wrap, but never forces the page wider. */
.timing-panel-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}
.timing-panel-heading>.flag{grid-column:2;grid-row:1}
.standings-switch{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-width:0;margin-top:9px}
.standings-switch button{min-width:0;min-height:27px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:4px 9px;border:1px solid var(--line);border-radius:999px;background:#0c1013;color:var(--muted);font:inherit;font-size:.65rem;font-weight:800;letter-spacing:.05em;cursor:pointer}
.standings-switch button:hover{border-color:#65717b;color:var(--ink)}
.standings-switch button.active,.standings-switch button[aria-pressed="true"]{border-color:#8b681d;background:#2b2414;color:var(--amber)}
.standings-class-image{width:18px;height:17px;overflow:visible}
.standings-switch button.active .standings-class-image,.standings-switch button[aria-pressed="true"] .standings-class-image{filter:saturate(1.08) brightness(1.08)}
@media(max-width:520px){.standings-switch{gap:4px;margin-top:7px}.standings-switch button{min-height:25px;padding:3px 7px;font-size:.59rem}.standings-class-image{width:16px;height:15px}}

/* A stale SimHub snapshot remains visible as context, but an unavailable Bridge session owns the foreground. */
.idle-screen{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:32px;background:rgba(2,4,6,.94)}
.idle-screen[hidden]{display:none}
.idle-screen-card{position:relative;width:min(1180px,calc(100vw - 64px));height:min(720px,calc(100dvh - 78px));display:grid;place-content:center;justify-items:center;gap:10px;padding:54px;overflow:hidden;contain:paint;isolation:isolate;border:1px solid #34404a;border-top-color:#81672d;border-radius:18px;background:radial-gradient(circle at 50% 47%,#182027 0,#0c1115 28%,#05080b 72%),#070a0d;box-shadow:0 30px 80px rgba(0,0,0,.58),inset 0 1px rgba(255,255,255,.045),inset 0 3px rgba(244,185,66,.18);text-align:center}
.idle-screen-card::before,.idle-screen-card::after{content:"";position:absolute;pointer-events:none}
.idle-screen-card::before{z-index:-2;inset:-18%;opacity:.76;background:linear-gradient(156deg,transparent 5%,rgba(71,142,223,.25) 18%,transparent 29% 38%,rgba(181,108,255,.22) 50%,transparent 61% 68%,rgba(244,185,66,.24) 80%,transparent 92%),linear-gradient(24deg,transparent 12%,rgba(239,111,174,.18) 27%,transparent 41% 58%,rgba(98,215,255,.2) 73%,transparent 88%);transform:translate3d(-8%,-4%,0) rotate(-1deg) scale(1.08);animation:idleDrift 24s steps(144,end) infinite alternate}
.idle-screen-card::after{z-index:-1;inset:0;background:radial-gradient(circle at 50% 48%,rgba(7,10,13,.08) 0,rgba(7,10,13,.56) 60%,rgba(3,5,7,.86) 100%)}
.idle-screen-card>*{position:relative;z-index:1}
.idle-mark{width:102px;height:102px;display:grid;place-items:center;margin-bottom:13px;border:3px solid var(--amber);border-radius:22px;background:rgba(7,10,13,.72);box-shadow:0 0 0 1px rgba(255,214,112,.08),0 0 34px rgba(244,185,66,.12);color:var(--amber);font-size:2rem;font-weight:950;letter-spacing:-.05em;transform:skew(-5deg)}
.idle-screen-card .eyebrow{color:var(--amber);font-size:.76rem;letter-spacing:.2em;text-shadow:0 0 18px rgba(244,185,66,.3)}
.idle-screen-card h1{margin:0;color:var(--ink);font-size:2.65rem;line-height:1.08;text-shadow:0 5px 28px #000}
.idle-screen-card p{margin:7px 0 15px;color:#b8c2c9;font-size:1rem}
.idle-screen-card small{color:#71818c;font-size:.68rem;font-weight:800;letter-spacing:.14em}
@keyframes idleDrift{0%{transform:translate3d(-8%,-4%,0) rotate(-1deg) scale(1.08)}100%{transform:translate3d(8%,4%,0) rotate(1deg) scale(1.08)}}
body.session-idle .race-header,body.session-idle .monitor-shell,body.session-idle .broadcast-header,body.session-idle .broadcast-grid,body.session-idle .broadcast-ticker{opacity:.18;pointer-events:none;user-select:none;transition:opacity 180ms ease}
@media(max-width:700px){.idle-screen{padding:14px}.idle-screen-card{width:100%;height:calc(100dvh - 28px);padding:28px 20px}.idle-screen-card h1{font-size:1.8rem}.idle-screen-card p{font-size:.86rem}.idle-mark{width:74px;height:74px;border-radius:17px;font-size:1.45rem}}
@media(max-height:520px){.idle-screen{padding:12px}.idle-screen-card{height:calc(100dvh - 24px);padding:18px}.idle-mark{width:58px;height:58px;margin-bottom:4px;border-width:2px;border-radius:13px;font-size:1.15rem}.idle-screen-card h1{font-size:1.65rem}.idle-screen-card p{margin:3px 0 6px;font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.idle-screen-card::before{animation:none;transform:scale(1.08)}body.session-idle .race-header,body.session-idle .monitor-shell,body.session-idle .broadcast-header,body.session-idle .broadcast-grid,body.session-idle .broadcast-ticker{transition:none}}

.track-visual{display:block;flex:0 0 auto;width:116px;height:56px;overflow:hidden;border:1px solid #35414a;border-radius:10px;background:#090d10;box-shadow:inset 0 0 0 1px #ffffff05,0 5px 16px #0006}
.track-visual[hidden]{display:none}
.track-visual>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:1250px){.track-visual{width:94px;height:48px;border-radius:8px}.header-intro{gap:16px}}
@media(max-width:700px){.track-visual{width:76px;height:42px}.header-intro{gap:10px}.header-intro .brand>span:last-child{display:none}}

@media(min-width:1251px){.race-header{grid-template-columns:clamp(660px,35vw,950px) minmax(0,1fr) auto auto auto}.session-copy #sessionMeta{line-height:1.2;overflow:visible;text-overflow:clip;white-space:normal}}
