:root{color-scheme:dark;--ink:#f2f1ec;--muted:#9b9e96;--paper:#080909;--bg:#080909;--line:#30322d;--blue:#d5ae4e;--lime:#d5ae4e;--green:#76c294;--amber:#e1be65;--map-bg:#101310;--gold:#d5ae4e;--panel:#0d0f0e}
html{scrollbar-gutter:stable}body{background:var(--paper);color:var(--ink);font-family:Arial,"Microsoft YaHei",sans-serif}h1,h2,h3{color:var(--ink)}button,input,select,textarea{font:inherit}button,input,select,textarea{touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button{min-height:44px}input,select,textarea{color-scheme:dark;accent-color:var(--gold)}input:not([type=checkbox]):not([type=radio]),select,textarea{background:#141613;color:var(--ink);border-color:var(--line);border-radius:5px;font-size:16px;max-width:100%;min-width:0}select{padding-right:30px}input::placeholder,textarea::placeholder{color:#85897f}option{background:#141613;color:var(--ink)}a{color:var(--gold)}
header{background:#080909;border-bottom:1px solid var(--line);gap:12px}.brand{color:var(--ink);min-width:0}.brand h1{font-size:23px;letter-spacing:.02em}.brand small{color:var(--gold);letter-spacing:.15em;font-size:10px}.brand i{background:var(--gold)}.brand img,.manager-logo{object-fit:contain}.version{color:var(--gold);border:1px solid #5c4c27;background:#211c10;padding:5px 7px;border-radius:3px;white-space:nowrap}.connection{flex-shrink:0;max-width:130px}.connection.online{color:#9bcea9}.eyebrow,.roster-heading small{color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.13em}nav{background:#0b0d0b;border-color:var(--line)}nav button{border-radius:5px;color:#a3a69c}nav button.selected,nav .selected{background:#282313;color:var(--gold)}nav svg{stroke:currentColor}.secondary-tabs button{background:#141713;border:1px solid var(--line);color:#b7baae;border-radius:5px}.secondary-tabs button.selected{background:var(--gold);color:#15150f;border-color:var(--gold)}
.panel,.race-card,.listen-panel,.receiver-panel,.roster-event,.person-card,.roster-counts div,.driver-card,.result-card,.car,.session-picker,.empty,.sheet,.weather-strip,.map-sidebar,.heat-panel,.staff-panel,#mapSelected,#rosterPreviewRows{background:var(--panel);color:var(--ink);border-color:var(--line);box-shadow:none;border-radius:8px}.panel,.roster-event,.person-card,.car,.driver-card,.result-card,.session-picker,.weather-strip,.heat-panel{border:1px solid var(--line)}.sheet{border-radius:14px 14px 0 0;border:1px solid var(--line);padding-bottom:max(28px,env(safe-area-inset-bottom));max-height:92vh;max-height:92dvh}.sheet .close,.close{background:#20231e;color:var(--ink);border:1px solid var(--line);width:44px;height:44px;min-width:44px}.sheet-handle{background:#454a3e}.sheet h2{padding-right:26px}.scrim,#scrim,.stats-scrim,.roster-scrim{background:#000b}.button{border-radius:5px}.button.primary,.board-staff .primary{background:var(--gold);color:#11130e;border:1px solid var(--gold);font-weight:700}.button.secondary,.more{background:#1c2019;color:#e3dfd0;border:1px solid #414637;border-radius:5px}.quiet,.text-button,summary,.staff-panel summary{color:var(--gold)}.button.danger{background:#69252a;color:#ffe0e3;border-color:#a3454d}.button.arrived{background:#153723;color:#9ed6b1;border:1px solid #315d40}.button:disabled{opacity:.5}.notice{background:#302613;color:#e8c987;border:1px solid #68532a;border-radius:5px}.notice.error{background:#371b1c;color:#ffb5b7;border-color:#663538}.search{background:#141613;border-color:var(--line);border-radius:5px}.search input{background:transparent}.filters button{background:#151812;color:#aeb3a5;border:1px solid #343a2d;border-radius:4px;min-height:40px}.filters .selected,.filters button.selected{background:var(--gold);border-color:var(--gold);color:#11130e}.muted,.footnote,.intro,.person-open small,.car-status,.car-status small,.driver-meta,.board-source{color:var(--muted)}.person-open{color:var(--ink)}.person-number,.car-number{color:var(--gold);background:#262313;border:1px solid #443d25;border-radius:5px}.roster-counts b{color:var(--gold)}.roster-counts span,.person-actions label{color:#afb3a6}.person-actions{gap:12px}.person-detail-actions,.onsite-fields,.car-stats,.driver-laps,.race-times,.session-line,.import-row,.list-heading{border-color:var(--line)}.person-chevron{color:#c6aa61}.first-nfs-badge,.import-row .first-nfs-badge{background:#391a20;color:#ff939b;border-color:#7b333f}.annual-rights-badge,.import-row .annual-rights-badge{background:#302710;color:#e8c668;border-color:#6c5726}.roster-editor .first-selected{color:#ff939b}.roster-vehicle-fields select:disabled{color:#92998a;background:#171a14}.form-status,.danger-text{color:#ffaca2}.diagnostics>div,.timing-point,.timing-event,pre{background:#151912;color:var(--ink);border-color:var(--line)}.chain{background:#12150f;border-color:var(--line)}.chain b,.chain small{color:var(--muted)}#toast{background:#e2c675;color:#19180f;border:1px solid #f1dba2}
.overview,.count-card{background:#123825;color:#e6f6eb;border:1px solid #2c6242;border-radius:10px;box-shadow:none}.big-count strong,.count-value strong{color:#c3edc8;font-weight:700}.occupancy{background:#204831;border:1px solid #366443;border-radius:5px}.overview-top p,.overview>p,.big-count span,.occupancy span,.occupancy small,.source-counts,.count-value>span,.count-bottom span{color:#b8cebd}.source-counts{border-color:#39624a}.overview.red-flag,.count-card.red-flag{background:#851e2c;border-color:#cf5e6b}.overview.red-flag strong,.count-card.red-flag .count-value strong{color:white}.overview.yellow-flag,.count-card.yellow-flag{background:#6a531a;border-color:#a78c40}.live-badge.active{background:#31513a;color:#d9f0cf}.red-flag .live-badge.active{background:#ffffff22;color:#fff}.state.on{background:#1b3d25;color:#a7d9ac}.state.off{background:#252a22;color:#b2b8ab}.state.unknown{background:#372d18;color:#e3c47e}.result-card.leader{background:#201c0f;border-color:#735e2a}.leader .rank,.result-time b,.lap-row.best b,.car-stats b,.driver-laps b{color:var(--gold)}.rank{color:#e0e0d5;font-style:italic}.lap-row,.lap-summary>div,.detail-summary>div{background:#12150f;border-color:var(--line);border-radius:5px;color:var(--ink)}.detail-summary>div:first-child{background:#282311;border-color:#66532b;color:var(--gold)}.detail-summary>div:first-child span{color:#b7a986}.lap-row span,.lap-row small{color:var(--muted)}.lap-row em{background:#3a3117;color:#edca6e}.lap-row.deleted{background:#211719;color:#9e8387}.lap-action{background:#322020;color:#f1b0ae;border-color:#653838}.lap-action.restore{background:#1b3022;color:#b9d7b4}.simulation-badge{background:#252819;color:#c5cf9f;border:1px solid #464d2c;border-radius:4px}.map-tools .quiet{background:#191d15;color:#cfc9b9;border-color:var(--line)}.map-tools .quiet[aria-pressed=true]{background:var(--gold);color:#15150f}.map-picker select{background:transparent}.weather-strip small,.staff-panel label{color:var(--muted)}.staff-panel input,.staff-panel select{background:#141613;color:var(--ink);border-color:var(--line)}
.scores-heading{padding:14px 0 28px}.scores-heading h1{font-size:34px;margin:10px 0}.scores-heading p{font-size:13px;color:var(--muted)}.scores-choices{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.scores-choice{width:100%;text-align:left;background:#0f120e;color:var(--ink);border:1px solid #494330;border-radius:5px;min-height:210px;padding:24px}.scores-choice:hover{border-color:var(--gold);background:#19190f}.score-index{font-size:10px;letter-spacing:.14em;color:var(--gold)}.scores-choice h2{font-size:30px;margin:24px 0 10px}.scores-choice p{font-size:13px;color:var(--muted);line-height:1.7}.score-arrow{display:block;text-align:right;color:var(--gold);font-size:12px;margin-top:22px}.scores-back{display:block;margin:0 0 14px;padding:4px 0;min-height:44px;font-size:13px}.board-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:12px}.board-heading h1{font-size:32px;margin:8px 0}.board-tracks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 20px}.board-tracks button{background:#10130f;color:#e1e2d7;border:1px solid var(--line);border-radius:3px;min-height:82px;padding:14px 8px;text-align:left}.board-tracks button span{font-size:10px;letter-spacing:.1em;color:var(--muted);display:block;margin-bottom:10px}.board-tracks button b{font-size:13px;font-weight:500}.board-tracks button.selected{border-color:var(--gold);box-shadow:inset 0 -2px var(--gold);background:#231f11}.board-tracks button.selected span,.board-tracks button.selected b{color:var(--gold)}.board-controls{display:flex;flex-direction:column;gap:14px;margin-bottom:14px}.board-brands{display:flex;flex-wrap:wrap;gap:6px}.board-brands button{font-size:10px;min-height:36px;border:1px solid var(--line);background:#151911;color:#c6c8bd;border-radius:3px;padding:8px 10px}.board-brands button.selected{background:var(--gold);color:#11130e;border-color:var(--gold)}#boardSearch{display:block;width:100%;padding:13px;border:1px solid var(--line)}.board-label{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding:12px 4px;border-bottom:1px solid var(--line)}.board-row{display:grid;grid-template-columns:32px minmax(0,1fr) 96px;align-items:center;gap:8px;padding:17px 8px;border-bottom:1px solid #2b3026;background:#0d100c}.board-row:nth-child(even){background:#13160f}.board-rank{font-size:21px;font-weight:700;font-style:italic;font-variant-numeric:tabular-nums;color:#ecebe2}.board-person{min-width:0;overflow-wrap:anywhere}.board-person>b{display:block;font-size:14px;font-weight:600;line-height:1.5}.board-person>span,.board-person>small{display:block;font-size:11px;color:#bbc0b0;line-height:1.5;margin-top:4px}.board-person>small{color:#919b85}.board-result{text-align:right;min-width:0;font-variant-numeric:tabular-nums}.board-result strong{display:block;font-size:18px;color:var(--gold);white-space:nowrap;letter-spacing:-.4px}.board-result span,.board-result small{display:block;font-size:10px;color:var(--muted);margin-top:5px;min-height:10px}.board-paging{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.board-paging span{font-size:12px;color:var(--muted)}.board-source{font-size:10px;margin:22px 0;line-height:1.8}.personal-best{border:1px solid #66552b;background:#231f11;padding:18px;margin:14px 0;border-radius:6px}.personal-best>div{display:flex;flex-direction:column;gap:10px}.personal-best span{font-size:12px;color:#cfbb82}.personal-best strong{font-size:32px;font-variant-numeric:tabular-nums;color:var(--gold)}.personal-best p{font-size:11px;color:#bfb795;line-height:1.7;margin:12px 0 0}.pb-improved{display:block;margin-top:12px;font-size:13px;color:#b3db9b}.board-staff,.board-session-track{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:20px 0;padding:14px;border:1px solid var(--line);background:#11150f}.board-staff label,.board-session-track label{flex:1;min-width:120px}.board-staff input,.board-session-track select{display:block;width:100%;min-height:44px;margin-top:7px;padding:10px;border:1px solid var(--line)}.board-staff button,.board-session-track button{width:auto}.board-session-track p{width:100%;margin:0}.board-review-modal{z-index:80}.board-review-scrim{position:absolute;inset:0;background:#000c}.board-review-sheet{padding-top:28px;max-height:92vh;max-height:92dvh}.board-review-sheet h2{padding-right:50px}.board-review-sheet>.close{position:absolute;right:16px;top:16px}.review-candidate{display:flex;align-items:flex-start;gap:12px;padding:16px 10px;background:#151910;border:1px solid #3a402e;border-radius:5px;margin:12px 0;color:var(--ink)}.review-candidate>input{flex:0 0 20px;width:20px;height:20px;margin:0}.review-candidate>div{flex:1;min-width:0}.review-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:15px}.review-top strong{color:var(--gold);font-variant-numeric:tabular-nums}.review-candidate p{font-size:12px;line-height:1.6;margin:7px 0;color:#b6bdab}.review-candidate p.form-status{color:#f0af9f}#boardReviewStatus{font-size:13px;line-height:1.7;color:#e5ce93}#boardPublishConfirm{width:100%}
@media(min-width:700px){.scores-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.board-tracks{grid-template-columns:repeat(4,minmax(0,1fr))}.board-row{grid-template-columns:55px minmax(0,1fr) 145px;padding:20px 16px}.board-result strong{font-size:24px}.board-person>b{font-size:16px}.board-person>span,.board-person>small{font-size:13px}.board-controls{flex-direction:row;align-items:center}.board-controls input{flex:1}.board-brands{flex:1}.personal-best>div{flex-direction:row;justify-content:space-between;align-items:center}}
@media(max-width:350px){.board-row{grid-template-columns:25px minmax(0,1fr) 87px;gap:5px;padding:15px 4px}.board-result strong{font-size:17px}.board-person>b{font-size:13px}.board-tracks button b{font-size:12px}.board-staff button{width:100%}.scores-choice{padding:20px}.connection{font-size:10px}.roster-fields{grid-template-columns:minmax(0,1fr)}}

.live-lap-count{display:block;font-size:10px;text-align:right;margin-top:5px;color:var(--muted)}.driver-laps>span:last-child{text-align:right}.driver-laps b{margin-left:5px;font-size:16px}.track-flag{font-size:15px;font-weight:700;margin-bottom:12px}.weather-strip{display:flex;flex-wrap:wrap;gap:8px 18px;margin:18px 0;padding:16px}.weather-strip strong{font-size:18px}.weather-strip span{font-size:12px}.weather-strip small{font-size:10px}.session-line #currentHeat{display:block;font-size:22px;margin-bottom:10px}

.app>nav{background:#0b0d0b;border-color:var(--line)}.lap-summary{background:#0d0f0e;border:1px solid var(--line);padding:10px;border-radius:6px}.lap-summary>div{padding:10px}.lap-summary b{color:var(--gold)}#profileForm,.export-panel{background:#13170f;border-color:var(--line)}.panel input:not([type=checkbox]),.stats-sheet input:not([type=checkbox]),.panel textarea{background:#141613;color:var(--ink);border-color:var(--line)}#mapSelected .more{background:#1c2019;color:#e3dfd0;border-color:var(--line)}.state-badge.on{background:#1b3d25;color:#a7d9ac}.state-badge.off{background:#252a22;color:#b2b8ab}.state-badge.unknown{background:#372d18;color:#e3c47e}
