.led-page{cursor:none;background:#000;margin:0;overflow:hidden}.led{color:#fff;letter-spacing:.01em;text-transform:uppercase;background:#000;align-items:center;width:100vw;font-family:Arial Narrow,Helvetica Neue,Arial,sans-serif;font-weight:700;display:flex;overflow:hidden}.led-side{flex:none;justify-content:center;align-items:center;height:100%;display:flex;overflow:hidden}.led-side img{object-fit:contain}.led-main{flex-direction:column;flex:1;justify-content:center;min-width:0;height:100%;padding:0 .5em;display:flex}.led-head{color:#9a9a9a;align-items:center;gap:.8em;font-size:.55em;display:flex}.led-race{color:#fff}.led-class{letter-spacing:.06em;font-size:1.3em}.led-stage{margin-left:0}.led-clock{color:#6ede6e;font-variant-numeric:tabular-nums;margin-left:auto}.led-clock.race-clock--waiting{color:#6a6a6a}.led-clock.race-clock--over{color:#ff6b6b}.led-rows{flex-direction:column;flex:1;justify-content:center;display:flex}.led-row,.led-titles{align-items:center;gap:var(--gap);white-space:nowrap;line-height:1;display:flex}.led-titles{letter-spacing:.12em;color:#6a6a6a;font-size:.32em}.led-pos{width:var(--w-pos);color:#9a9a9a;text-align:right}.led-num{width:var(--w-num);text-align:center;font-variant-numeric:tabular-nums}.led-name{width:var(--w-name);text-overflow:ellipsis;flex:none;min-width:0;font-size:.86em;overflow:hidden}.led-fill{flex:1}.led-lap{width:var(--w-lap);color:#ff8a4d;text-align:right}.led-cp{width:var(--w-cp);color:#9a9a9a;text-align:right}.led-time{width:var(--w-time);text-align:right;font-variant-numeric:tabular-nums}.led-titles .led-pos,.led-titles .led-num,.led-titles .led-name,.led-titles .led-lap,.led-titles .led-cp,.led-titles .led-time{color:inherit;font-size:inherit}.led-empty{color:#9a9a9a;flex:1;justify-content:center;align-items:center;display:flex}.led-foot{color:#6a6a6a;align-items:center;gap:.8em;font-size:.4em;display:flex}.led-dots{align-items:center;gap:.5em;margin-left:auto;display:flex}.led-dots i{background:#3a3a3a;width:.55em;height:.55em}.led-dots i.on{background:#ff4d00}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#e8e8e8;background:#0d0d0d;font-family:Segoe UI,system-ui,sans-serif;font-size:15px}.container{width:100%;max-width:1240px;margin:0 auto;padding:24px 16px}.container--board{max-width:none}.container--wide{max-width:1800px}header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.brand{align-items:center;gap:12px;display:flex}.logo-wrap{flex-direction:column;align-items:center;gap:2px;display:flex}.logo{width:auto;height:40px}.title-logo{vertical-align:middle;width:auto;height:4.5rem;margin-right:8px}.store-link{color:#666;letter-spacing:.04em;font-size:.65rem;text-decoration:none}.store-link:hover{color:#ff4d00}h1{letter-spacing:.02em;color:#ff4d00;font-size:1.5rem;font-weight:700}.meta{color:#666;font-size:.8rem}.error{color:#ff4d4d}.tabs{border-bottom:1px solid #222;gap:4px;margin-bottom:20px;padding-bottom:0;display:flex}.tab{color:#555;cursor:pointer;letter-spacing:.03em;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 16px;font-size:.85rem}.tab:hover{color:#e8e8e8}.tab--active{color:#ff4d00;border-bottom-color:#ff4d00}.search{color:#e8e8e8;background:#1a1a1a;border:1px solid #333;border-radius:4px;outline:none;align-self:center;width:200px;margin-left:auto;padding:4px 10px;font-size:.8rem}.search::placeholder{color:#444}.search:focus{border-color:#ff4d00}table{border-collapse:collapse;width:100%}th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:#555;border-bottom:1px solid #222;padding:10px 14px;font-size:.75rem}td{border-bottom:1px solid #1a1a1a;padding:12px 14px}tr:hover td{background:#161616}.race-num{color:#ff4d00;font-weight:700}.dim{color:#888}.laps{color:#e8e8e8;font-weight:700}.class-row td{background:color-mix(in srgb, var(--cls-bg) 25%, transparent)}.class-row:hover td{background:color-mix(in srgb, var(--cls-bg) 40%, transparent)}.class-badge{letter-spacing:.05em;text-transform:uppercase;font-size:.75rem;font-weight:600}.admin-wrap{max-width:860px;padding:8px 0}.admin-login,.admin-panel{flex-direction:column;gap:16px;display:flex}.admin-label{color:#666;letter-spacing:.04em;text-transform:uppercase;flex-direction:column;gap:6px;font-size:.8rem;display:flex}.admin-toggle{flex-flow:wrap;align-items:center;gap:10px}.admin-toggle-hint{color:#444;text-transform:none;letter-spacing:0;font-size:.75rem}.admin-input{color:#e8e8e8;background:#1a1a1a;border:1px solid #333;border-radius:4px;outline:none;width:100%;padding:8px 12px;font-size:.9rem}.admin-input:focus{border-color:#ff4d00}.admin-btn{color:#fff;cursor:pointer;letter-spacing:.04em;background:#ff4d00;border:1px solid #0000;border-radius:4px;align-self:flex-start;padding:10px 24px;font-size:.85rem;font-weight:600}.admin-btn:not(:disabled):hover{background:#e04400}.admin-btn:disabled{opacity:.45;cursor:default}.admin-btn--quiet{color:#bbb;background:#1c1c1c;border-color:#333}.admin-btn--quiet:not(:disabled):hover{color:#e8e8e8;background:#242424;border-color:#444}.admin-saved{color:#4caf50;font-size:.8rem}.admin-logo-row{align-items:center;gap:8px;display:flex}.admin-upload-btn{color:#aaa;cursor:pointer;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;background:#1a1a1a;border:1px solid #444;border-radius:4px;padding:8px 14px;font-size:.8rem}.admin-upload-btn:hover{color:#ff4d00;border-color:#ff4d00}.admin-logo-preview{object-fit:contain;align-self:flex-start;width:auto;max-width:200px;height:48px;margin-top:8px}.stats-wrap{padding:8px 0}.stats-title{color:#555;text-transform:uppercase;letter-spacing:.08em;margin-bottom:20px;font-size:.85rem;font-weight:600}.banner{text-align:center;color:#ff4d00;letter-spacing:.02em;padding:60px 20px;font-size:1.4rem;font-weight:600}.banner-sub{color:#666;letter-spacing:0;margin-top:16px;font-size:.95rem;font-weight:400}.banner-link{color:#ff4d00;text-underline-offset:3px;text-decoration:underline}.banner-link:hover{color:#e04400}.empty{text-align:center;color:#444;padding:40px 0}.expand-btn{color:#999;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #333;border-radius:4px;align-items:center;gap:6px;padding:3px 8px;font-family:inherit;font-size:.7rem;line-height:1;display:inline-flex}.expand-btn:hover{color:#ff4d00;border-color:#ff4d00}.expand-btn--open{color:#ff4d00;background:#ff4d001f;border-color:#ff4d00}.expand-caret{font-size:.85rem;line-height:1;transition:transform .15s}.expand-btn--open .expand-caret{transform:rotate(90deg)}.detail-row td{border-bottom:1px solid #222;padding:0}.detail-cell{background:#111;padding:0 0 0 40px!important}.detail-progress{color:#ff4d00;letter-spacing:.04em;text-transform:uppercase;padding:10px 12px 0;font-size:.75rem;font-weight:600}.lap-header{color:#666;text-transform:uppercase;letter-spacing:.06em;padding:10px 12px 2px;font-size:.7rem;font-weight:700}.detail-missed td{color:#a33!important}.missed-mark{color:#fff;text-align:center;background:#a33;border-radius:50%;width:14px;height:14px;margin-right:6px;font-size:.7rem;font-weight:700;line-height:14px;display:inline-block}.delta-up{color:#4caf50;margin-left:6px;font-size:.75rem}.delta-down{color:#ff4d4d;margin-left:6px;font-size:.75rem}.detail-table{border-collapse:collapse;width:100%;font-size:.82rem}.detail-table th{color:#444;padding:6px 12px;font-size:.7rem}.detail-table td{color:#aaa;border-bottom:1px solid #1a1a1a;padding:6px 12px}.detail-table tr:last-child td{border-bottom:none}.detail-pos{font-weight:700;color:#ff4d00!important}.export-btn{color:#666;cursor:pointer;letter-spacing:.04em;background:0 0;border:1px solid #333;border-radius:4px;margin-left:10px;padding:4px 10px;font-size:.75rem}.export-btn:hover{color:#ff4d00;border-color:#ff4d00}.export-menu{display:inline-block;position:relative}.export-caret{margin-left:6px;font-size:.65rem}.export-menu-btn:disabled{opacity:.4;cursor:default}.export-menu-list{z-index:20;background:#111;border:1px solid #333;border-radius:4px;flex-direction:column;min-width:100%;display:flex;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden}.export-menu-item{color:#999;letter-spacing:.04em;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:6px 14px;font-family:inherit;font-size:.75rem}.export-menu-item:hover{color:#ff4d00;background:#1b1b1b}.export-class{color:#999;cursor:pointer;letter-spacing:.04em;background:#111;border:1px solid #333;border-radius:4px;margin-left:10px;padding:4px 8px;font-family:inherit;font-size:.75rem}.export-class:hover{color:#ff4d00;border-color:#ff4d00}.rider-count{color:#ff4d00;margin-left:16px;font-size:1rem;font-weight:700}.admin-class-row{align-items:center;gap:6px;margin-bottom:6px;display:flex}.admin-class-row--dragging{z-index:2;opacity:.9;position:relative}.admin-class-row--dragging .admin-class-grip{cursor:grabbing;color:#ff8a4d}.admin-class-grip{flex-shrink:0;padding:6px 2px}.admin-class-gap{color:#666;align-items:center;gap:6px;margin:0 0 6px 22px;font-size:.75rem;display:flex}.admin-class-gap-line{border-top:1px dashed #3a3a3a;flex-shrink:0;width:10px}.admin-class-gap-min{flex:0 0 52px;width:52px;padding:3px 6px;font-size:.75rem}.race-compose-counted{border-top:1px solid #262626;margin-top:12px;padding-top:10px}.admin-class-row--counted{flex-wrap:wrap}.admin-class-label{flex:2}.admin-class-num{flex:1;min-width:60px}.admin-class-color{cursor:pointer;background:0 0;border:1px solid #444;border-radius:4px;flex-shrink:0;width:36px;height:36px;padding:2px}.admin-class-del{color:#666;cursor:pointer;background:0 0;border:1px solid #444;border-radius:4px;flex-shrink:0;padding:6px 10px;font-size:.8rem}.admin-class-del:hover{color:#ff4d4d;border-color:#ff4d4d}.class-filters{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.class-filter-btn{color:#666;cursor:pointer;letter-spacing:.04em;text-transform:uppercase;background:0 0;border:1px solid #333;border-radius:4px;padding:4px 12px;font-size:.75rem;font-weight:600;transition:border-color .1s,color .1s}.class-filter-btn:hover,.class-filter-btn--active{color:#ff4d00;border-color:#ff4d00}.table-wrap{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#3a3a3a #161616;overflow-x:auto}.table-wrap::-webkit-scrollbar{height:10px}.table-wrap::-webkit-scrollbar-track{background:#161616}.table-wrap::-webkit-scrollbar-thumb{background:#3a3a3a;border-radius:5px}.table-wrap::-webkit-scrollbar-thumb:hover{background:#4d4d4d}@media (width<=1100px){th{padding:10px 9px}td{padding:12px 9px}}@media (width<=940px){.expand-label{display:none}.expand-btn{padding:4px 7px}}@media (width<=640px){body{font-size:13px}.container{padding:14px 10px}header{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:16px}.brand{gap:8px}.logo{height:28px}.title-logo{height:2.8rem;margin-right:6px}h1{font-size:1.1rem}.meta{flex-wrap:wrap;align-items:center;gap:6px;font-size:.75rem;display:flex}.rider-count{margin-left:0;font-size:.85rem}.tabs{flex-wrap:wrap;gap:2px;margin-bottom:14px}.tab{padding:6px 10px;font-size:.78rem}.search{width:100%;margin-top:4px;margin-left:0;font-size:.85rem}th{padding:8px;font-size:.68rem}td{padding:10px 8px;font-size:.82rem}.detail-cell{padding-left:10px!important}.detail-table th,.detail-table td{padding:5px 8px}.banner{padding:40px 12px;font-size:1.1rem}.admin-wrap{max-width:100%}}.race-list{flex-direction:column;gap:8px;margin-top:16px;display:flex}.race-card{text-align:left;cursor:pointer;background:#131313;border:1px solid #262626;border-radius:6px;flex-direction:column;gap:6px;width:100%;padding:14px 16px;transition:border-color .15s,background .15s;display:flex}.race-card:hover{background:#181818;border-color:#ff4d00}.race-card-main{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.race-card-name{color:#e8e8e8;font-size:.95rem;font-weight:600}.race-card-date{color:#555;white-space:nowrap;font-size:.75rem}.race-card-meta{color:#555;gap:14px;font-size:.75rem;display:flex}.race-detail-head{flex-wrap:wrap;align-items:center;gap:14px;margin:16px 0 4px;display:flex}.race-back{color:#666;cursor:pointer;background:0 0;border:1px solid #333;border-radius:4px;padding:4px 10px;font-size:.75rem}.race-back:hover{color:#e8e8e8;border-color:#555}.race-detail-title{color:#e8e8e8;align-items:baseline;gap:10px;font-size:1rem;font-weight:600;display:flex}.race-detail-date{color:#555;font-size:.75rem;font-weight:400}.archive-box{background:#140d09;border:1px solid #2a1a12;border-radius:6px;padding:12px 14px}.archive-hint{color:#777;margin:0 0 10px;font-size:.78rem;line-height:1.5}.archive-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.archive-btn{background:#7a2b00}.archive-btn:hover{background:#9a3600}.archive-btn:disabled{opacity:.6;cursor:default}.qual-best{color:#ff4d00;font-weight:600}.qual-unfinished td{opacity:.55}.qual-best-mark{color:#ff4d00;letter-spacing:.04em;text-transform:uppercase;background:#2a1206;border-radius:3px;margin-left:6px;padding:1px 5px;font-size:.62rem}.race-mode-tag{color:#ff8a4d;letter-spacing:.05em;text-transform:uppercase;background:#1a0e06;border:1px solid #3a2010;border-radius:3px;padding:2px 8px;font-size:.68rem}.admin-mode-row{flex-wrap:wrap;gap:8px;display:flex}.admin-mode-btn{text-align:left;color:#888;cursor:pointer;background:#131313;border:1px solid #2a2a2a;border-radius:5px;flex-direction:column;flex:180px;gap:3px;padding:10px 12px;font-size:.85rem;font-weight:600;display:flex}.admin-mode-btn:hover{color:#e8e8e8;border-color:#555}.admin-mode-btn--active{color:#ff4d00;background:#180d07;border-color:#ff4d00}.admin-mode-hint{color:#666;font-size:.7rem;font-weight:400}.race-msg{background:#131313;border:1px solid #262626;border-radius:4px;padding:8px 12px;font-size:.8rem}.race-admin-group{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.race-admin-label{color:#555;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:700}.race-admin-row{background:#131313;border:1px solid #262626;border-radius:5px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.race-admin-row--active{background:#180d07;border-color:#ff4d00}.race-admin-row--done{opacity:.6}.race-admin-name{color:#e8e8e8;margin-right:10px;font-size:.9rem;font-weight:600}.race-admin-meta{color:#666;font-size:.75rem}.run-sheet{flex-wrap:wrap;gap:4px 14px;margin:8px 0 0;padding:0;font-size:.72rem;list-style:none;display:flex}.run-step{color:#444;align-items:baseline;gap:6px;display:flex}.run-step--done{color:#7a7a7a}.run-step--done:before{content:"✓";color:#4a7a4a}.run-step--todo:before{content:"·"}.run-step--next{color:#ff8a4d;font-weight:600}.run-step-at{color:#555}.run-step-next{text-transform:uppercase;letter-spacing:.08em;color:#ff4d00;font-size:.62rem}.race-admin-actions{align-items:center;gap:8px;display:flex}.race-activate-btn{padding:6px 16px;font-size:.78rem}.race-admin-del{color:#666;cursor:pointer;background:0 0;border:1px solid #333;border-radius:4px;padding:5px 9px;font-size:.8rem}.race-admin-del:hover{color:#ff6b6b;border-color:#a33}.race-admin-empty{color:#555;border:1px dashed #262626;border-radius:5px;padding:10px 14px;font-size:.8rem}.race-admin-link{color:#777;text-underline-offset:3px;cursor:pointer;background:0 0;border:none;margin-left:8px;padding:0;font-size:.78rem;text-decoration:underline}.race-admin-link:hover{color:#ff4d00}.race-create-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.race-create-name{flex:2 200px;width:auto}.race-create-mode{flex:150px;width:auto}.race-create-cp{flex:0 0 90px;width:auto}.admin-fixed-note{color:#666;text-transform:none;letter-spacing:0;padding:8px 0;font-size:.78rem;font-weight:400}.stage-tabs{border:1px solid #262626;border-radius:5px;gap:4px;padding:2px;display:flex}.stage-tab{color:#666;letter-spacing:.03em;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:5px 12px;font-size:.75rem}.stage-tab:hover{color:#e8e8e8}.stage-tab--active{color:#fff;background:#ff4d00;font-weight:600}.stage-tabs--live{align-self:flex-start;margin-bottom:10px}.stage-tab-live{letter-spacing:.08em;text-transform:uppercase;color:#ff4d00;margin-left:6px;font-size:.6rem}.stage-tab--active .stage-tab-live{color:#fffc}.tab--admin{color:#8a5a3a}.tab--admin:hover{color:#ff8a4d}.race-compose{background:#131313;border:1px solid #262626;border-radius:6px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.race-compose-title{color:#e8e8e8;margin-bottom:2px;font-size:.9rem;font-weight:600}.race-compose-option{cursor:pointer;color:#ccc;align-items:flex-start;gap:10px;font-size:.85rem;display:flex}.race-compose-option strong{color:#e8e8e8;font-weight:600;display:block}.race-compose-hint{color:#666;margin-top:2px;font-size:.75rem;display:block}.race-compose-sub{border-left:1px solid #262626;flex-direction:column;gap:8px;margin-left:26px;padding-left:12px;display:flex}.race-compose-count{color:#888;align-items:center;gap:10px;font-size:.8rem}.race-compose-counts{flex-direction:column;gap:8px;display:flex}.race-compose-counts .race-compose-count>span:first-child{white-space:nowrap;flex:none;min-width:104px}.race-compose-warn{font-size:.8rem}.class-course{margin-top:4px}.class-course-label{color:#888;margin-bottom:6px;font-size:.8rem}.class-course-table th,.class-course-table td{text-align:center;white-space:nowrap;padding:3px 6px;font-size:.75rem}.class-course-table thead th{color:#666;font-weight:600}.class-course-table tbody th{text-align:left;font-weight:600}.class-course-table .lap-row-lap{margin-left:6px;font-size:.7rem;font-weight:400;display:inline-block}.class-course-table tr.lap-row-first td,.class-course-table tr.lap-row-first th{border-top:1px solid #262626}.class-course-table input{cursor:pointer}.class-course-gate{border-right:1px solid #333;color:#ff8a4d!important}.class-course-gate input{cursor:not-allowed}.class-course-table thead th.class-course-ss{color:#d4645f}.class-course-table thead th.class-course-tc{color:#6f9fd0}.class-course-table thead th.class-course-cp{color:#777}.class-course-table td.class-course-tc input:disabled{cursor:not-allowed;opacity:.6}.detail-extra td{opacity:.55;font-style:italic}.sponsor-note{margin-bottom:8px}.sponsor-grid{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sponsor-item{background:#0d0d0d;border:1px solid #262626;border-radius:4px;justify-content:center;align-items:center;width:96px;height:64px;padding:6px;display:flex;position:relative}.sponsor-item img{object-fit:contain;max-width:100%;max-height:100%}.sponsor-item .race-admin-del{position:absolute;top:-6px;right:-6px}.sponsor-add{align-items:center;height:64px;display:inline-flex}.race-compose-note{color:#8a8a8a;background:#171717;border-left:2px solid #333;border-radius:3px;padding:6px 10px;font-size:.75rem;line-height:1.5}.race-compose-notice{color:#d8b23c;background:#d8b23c14;border-left:2px solid #d8b23c;border-radius:3px;padding:6px 10px;font-size:.8rem;line-height:1.4}.race-wizard-steps{flex-wrap:wrap;gap:4px;margin:0 0 2px;padding:0;list-style:none;display:flex}.race-wizard-step-btn{color:#666;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #262626;align-items:center;gap:6px;padding:4px 10px 6px;font-family:inherit;font-size:.78rem;display:flex}.race-wizard-step-btn:disabled{cursor:default}.race-wizard-step-btn:not(:disabled):hover{color:#ccc}.race-wizard-step-num{color:#777;background:#1e1e1e;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.7rem;font-weight:600;display:inline-flex}.race-wizard-step--at .race-wizard-step-btn{color:#e8e8e8;border-bottom-color:#ff4d00}.race-wizard-step--at .race-wizard-step-num{color:#fff;background:#ff4d00}.race-wizard-step--done .race-wizard-step-btn{color:#999}.race-wizard-step--done .race-wizard-step-num{color:#ff8a4d;background:#3a2015}.race-wizard-question{color:#e8e8e8;margin-bottom:2px;font-size:.9rem;font-weight:600}.race-wizard-question .race-compose-hint{font-weight:400}.race-type-choice{flex-wrap:wrap;gap:8px;display:flex}.race-type-card{text-align:left;color:#ccc;cursor:pointer;background:#171717;border:1px solid #2c2c2c;border-radius:5px;flex:220px;padding:10px 12px;font-family:inherit;font-size:.85rem;display:block}.race-type-card:hover{border-color:#3d3d3d}.race-type-card strong{color:#e8e8e8;font-weight:600;display:block}.race-type-card--on{background:#ff4d0014;border-color:#ff4d00}.race-type-card--on strong{color:#ff8a4d}.race-type-choice--inline{flex:auto}.race-type-choice--inline .race-type-card{flex:190px;padding:7px 10px;font-size:.8rem}.race-start-mode{align-items:flex-start}.race-compose-review{background:#171717;border-left:2px solid #ff4d00;border-radius:3px;padding:8px 12px}.race-compose-review-name{color:#e8e8e8;font-size:.9rem;font-weight:600}.race-compose-review-line{color:#8a8a8a;font-size:.78rem;line-height:1.5}.race-compose-actions{align-items:center;gap:10px;margin-top:4px;display:flex}.race-compose-cancel{margin-left:6px}.qual-split td{opacity:.75;padding-top:3px;padding-bottom:3px;font-size:.78rem}.race-compose-count .race-create-cp{flex:0 0 90px;width:90px}.race-start-fields{flex:1;gap:8px;min-width:0;display:flex}.race-start-fields .race-create-start-day{flex:150px;min-width:0}.race-start-fields .race-create-start{flex:0 110px;min-width:0}.race-compose-divider{border-top:1px solid #262626;margin:4px 0}.race-compose-logo{object-fit:contain;border-radius:3px;width:auto;max-width:120px;height:32px}.race-compose-classes{flex-direction:column;gap:6px;display:flex}.race-compose-classes-label{color:#ccc;font-size:.85rem;font-weight:600}.race-compose-class-actions{align-items:center;gap:14px;display:flex}.race-compose-class-actions .race-admin-link{margin-left:0}.stage-badge{vertical-align:middle;color:#ff8a4d;letter-spacing:.06em;text-transform:uppercase;background:#1a0e06;border:1px solid #3a2010;border-radius:3px;margin-left:12px;padding:3px 10px;font-size:.7rem;font-weight:600;display:inline-block}.race-clock{vertical-align:middle;color:#6ede6e;font-variant-numeric:tabular-nums;letter-spacing:.06em;background:#061006;border:1px solid #234023;border-radius:3px;margin-left:10px;padding:3px 10px;font-size:.75rem;font-weight:700;display:inline-block}.race-clock--waiting{color:#8a8a8a;background:#101010;border-color:#2a2a2a}.race-clock--over{color:#ff6b6b;background:#180606;border-color:#4a1010}.detail-timeup td{color:#ff8a4d;letter-spacing:.04em;padding-top:10px;font-size:.72rem}.detail-timeup-line{border-top:2px solid #ff8a4d;margin-bottom:4px;display:block}.detail-late td{opacity:.75}.stage-badge--qual{color:#4da6ff;background:#061019;border-color:#10243a}.stage-badge-sub{opacity:.65;margin-left:6px;font-weight:400}.rider-table{max-height:420px;overflow-y:auto}.rider-table th{background:#0d0d0d;position:sticky;top:0}.rider-tag{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}.delivery-summary{flex-wrap:wrap;gap:20px;margin-bottom:16px;font-size:.85rem;display:flex}.delivery-stat strong{color:#e8e8e8;margin-right:4px;font-size:1.05rem}.delivery-repeats,.delivery-repeats strong{color:#d8b23c}.delivery-all-sms{color:#7fb0e0}.delivery-note{color:#557;letter-spacing:.03em;margin-left:8px;font-size:.7rem}.result-dsq td{color:#6a6a6a}.result-dsq .race-num{color:#8a5a3a}.class-cell{white-space:nowrap}.class-chip{letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;white-space:nowrap;border-radius:3px;padding:1px 7px;font-size:.65rem;font-weight:700;display:inline-block}.dsq-mark{color:#d06060;letter-spacing:.08em;vertical-align:middle;border:1px solid #a33;border-radius:3px;margin-left:8px;padding:1px 6px;font-size:.65rem;font-weight:700;display:inline-block}.fine-cell{color:#d08a30;font-weight:600}.fine-raw{color:#555;font-size:.75rem}.fine-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fine-number{width:90px}.fine-time{width:70px}.fine-reason{flex:1;min-width:160px}.fine-row--same-rider td{border-top:none}.team-points{margin:12px 0}.team-points-form{flex-direction:column;gap:8px;margin-top:8px;display:flex}.team-points-places{flex-wrap:wrap;gap:8px;display:flex}.team-points-place{flex-direction:column;gap:2px;font-size:.7rem;display:flex}.team-points-input{width:56px;padding:3px 6px}.team-points-actions{align-items:center;gap:10px;display:flex}.team-coefficients{color:#888;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0;font-size:.8rem;display:flex}.team-coefficient{align-items:center;gap:4px;display:flex}.team-form{flex-direction:column;gap:8px;margin:12px 0;display:flex}.team-form-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.team-name{flex:1;min-width:160px}.team-add-rider{min-width:200px}.team-members,.team-standing-riders{flex-wrap:wrap;gap:6px;display:flex}.team-member,.team-standing-rider{border:1px solid #262626;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:.8rem;display:flex}.team-standing td{vertical-align:top}.stage-edit-open{opacity:.45;margin-left:6px;font-size:.75rem}.stage-edit-open:hover{opacity:1}.stage-edit-cell{min-width:120px}.stage-edit{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.stage-edit-time{width:92px;padding:3px 6px;font-size:.8rem}.stage-edit-time--bad{border-color:#b4441e}.stage-edit-actions{gap:8px;display:flex}.stage-edit-bad{color:#b4441e}.fine-total{font-size:.75rem;font-weight:400}.fine-actions{gap:2px;display:flex}.race-admin-report{border-left:2px solid #222;margin:0 0 8px 8px;padding:4px 0 16px 16px}.race-admin-report .stats-title{margin:12px 0 10px}.copy-field{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.copy-field-label{align-items:center;gap:8px;font-size:.8rem;display:flex}.copy-field-select,.race-create-mode{width:auto}input[type=number]{text-align:center}.rider-class-select{width:auto;min-width:110px;padding:4px 8px;font-size:.8rem}.admin-lock-row{justify-content:flex-end;display:flex}.admin-class-laps{align-items:center;gap:6px;font-size:.8rem;display:flex}.checks-missed{color:#d08a30;font-weight:700}.admin-race-tabs{align-self:flex-start;margin:12px 0;display:inline-flex}.rider-form{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.rider-form-number{width:80px}.rider-form-name{flex:1;min-width:160px}.rider-form-class{width:auto;min-width:120px}.rider-form-club{flex:1;min-width:140px}.rider-form-bike{width:auto;min-width:120px}.bike-name{color:#cfd8e3;font-size:.82rem}.bike-badge{background:#fff;border-radius:4px;justify-content:center;align-items:center;width:52px;height:20px;padding:2px 5px;display:inline-flex}.bike-badge img{object-fit:contain;width:auto;max-width:44px;height:auto;max-height:14px;display:block}.bike-cell{white-space:nowrap}.bike-select{width:auto;min-width:110px}.tc-count{color:#888;flex-wrap:wrap;align-items:center;gap:10px;margin:-6px 0 14px;font-size:.8rem;display:flex}.tc-count strong{color:#e8e8e8;font-variant-numeric:tabular-nums}.tc-count-waiting{color:#d08a30;font:inherit;cursor:pointer;background:0 0;border:1px solid #4a3a1c;border-radius:4px;padding:3px 10px;transition:border-color .1s,background .1s}.tc-count-waiting strong{color:#d08a30}.tc-count-waiting:hover{border-color:#d08a30}.tc-count-waiting--active{color:#1a1207;background:#d08a30;border-color:#d08a30}.tc-count-waiting--active strong{color:#1a1207}.tc-count-clear{color:#4caf50}.tc-cell{text-align:center}.tc-passed{color:#4caf50;font-size:1.05rem;font-weight:700}.rider-untagged{color:#d08a30;font-style:italic}.race-view{flex-direction:column;gap:2px;display:flex}.race-view-back{align-self:flex-start;margin-bottom:8px;padding-left:0}.race-view-name{margin:0}.race-view-meta{margin-bottom:4px}.rider-row--editing td{vertical-align:middle}.rider-edit-number{width:70px}.rider-edit-actions{white-space:nowrap}.race-view-bar{align-items:center;gap:8px;margin-bottom:8px;display:flex}.race-view-bar .race-view-back{margin-bottom:0}.race-create-start{width:auto;min-width:210px}.parc-ferme-due{color:#e8e8e8;font-weight:600}.start-order-class{margin-bottom:16px}.start-order-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.start-order-group{background:#0d0d0d;border:1px solid #222;border-radius:5px;grid-template-columns:42px repeat(3,minmax(0,1fr));align-items:stretch;gap:6px;padding:6px 8px;display:grid}.start-order-slot{border:1px dashed #242424;border-radius:4px;min-height:30px}.start-order-group--full{border-color:#2c2c2c}.start-order-group--movable,.start-order-group--movable .start-order-place{cursor:grab}.start-order-group--dragging{opacity:.4}.start-order-group--above{box-shadow:inset 0 3px #4a7fb5}.start-order-group--below{box-shadow:inset 0 -3px #4a7fb5}.start-order-rider{cursor:grab;background:#141414;border:1px solid #262626;border-radius:4px;align-items:center;gap:8px;padding:4px 8px;font-size:.8rem;display:flex}.start-order-rider--dragging{opacity:.4}.start-order-place{color:#666;font-variant-numeric:tabular-nums;align-self:center;font-size:.75rem}.start-order-name{color:#bdbdbd;flex:1}.start-order-nudge{gap:2px;margin-left:auto;display:flex}.start-order-nudge button{padding:0 4px}.admin-class-gathers{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:6px;margin:2px 0 6px;font-size:.75rem;display:flex}.class-gather{color:#9a9a9a;cursor:pointer;border:1px solid #262626;border-radius:3px;align-items:center;gap:4px;padding:1px 6px;display:inline-flex}.class-gather--on{color:#cfe2f5;border-color:#4a7fb5}.class-gather-note{color:#d08a30}.class-gather-note--warn{flex-basis:100%;font-size:.75rem}.race-clear-btn{color:#c06a5a}.lap-cell-note{color:#7a7a7a;font-variant-numeric:tabular-nums;margin-top:2px;font-size:.7rem;display:block}.lap-cell-late{color:#c62828;font-variant-numeric:tabular-nums;margin-top:2px;font-size:.7rem;font-weight:700;display:block}.lap-sheet td{vertical-align:top}.lap-cell-rough{color:#d08a30}.lap-cell-clocks,.lap-cell-clocks span{display:block}.lap-sheet-lap{color:#e8e8e8;font-variant-numeric:tabular-nums;font-weight:600}.detail-missed-text{color:#d08a30}.class-swatch{border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.unofficial-banner{color:#e0a83a;letter-spacing:.08em;text-transform:uppercase;text-align:center;background:#241a08;border:1px solid #6b4a12;border-radius:5px;margin:0 0 12px;padding:6px 12px;font-size:.8rem;font-weight:600}.unofficial-banner--official{color:#4bb35c;background:#0e1c10;border-color:#245c2c}.protest-window{font-variant-numeric:tabular-nums}.lap-route{margin-top:6px}.lap-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.lap-item{touch-action:manipulation;background:#0d0d0d;border:1px solid #222;border-left-width:3px;border-radius:5px;grid-template-columns:44px 58px 1fr auto;align-items:center;gap:10px;padding:5px 8px;font-size:.8rem;display:grid}.lap-grip{color:#555;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:3px;align-items:center;gap:6px;padding:2px 4px;font-family:inherit;display:flex}.lap-grip:disabled{cursor:default}.lap-grip:not(:disabled):hover{color:#999;background:#171717}.lap-grip:focus-visible{outline-offset:1px;color:#ccc;outline:2px solid #ff4d00}.lap-grip-dots{font-size:.9rem;line-height:1}.lap-item--ss{border-left-color:#b41e1e}.lap-item--tc{border-left-color:#4a7fb5}.lap-item--cp{border-left-color:#3a3a3a}.lap-item--dragging{opacity:.9;z-index:2;background:#1a1310;border-color:#ff4d00;position:relative;box-shadow:0 6px 16px #0000008c}.lap-item--dragging .lap-grip{cursor:grabbing;color:#ff8a4d}.lap-place{color:#555;font-variant-numeric:tabular-nums;font-size:.75rem}.lap-control{color:#e8e8e8;font-variant-numeric:tabular-nums;font-weight:600}.lap-untimed{font-size:.75rem}.lap-given{align-items:center;gap:6px;font-size:.75rem;display:flex}.lap-minutes{width:68px;padding:3px 6px;font-size:.8rem}.lap-due{color:#bdbdbd;font-variant-numeric:tabular-nums;font-size:.8rem}.lap-tolerance{margin-top:8px}.lap-tolerance-hint{max-width:62ch;line-height:1.5}.class-control-time{width:auto;min-width:96px;padding:4px 6px;font-size:.8rem}.sheet-actions{justify-content:flex-end;margin-bottom:10px;display:flex}.class-filter-count{opacity:.6;font-variant-numeric:tabular-nums;font-size:.9em}.class-filter-unclassified{color:#d08a30;align-self:center;font-size:.75rem}.start-order-insert{border:1px dashed #0000;border-radius:3px;height:8px}.start-order-insert:hover{border-color:#3a3a3a}.start-order-list--dragging .start-order-insert{border-color:#2a2a2a;height:18px}.start-order-list--dragging .start-order-insert:hover{background:#12212e;border-color:#4a7fb5}.crossing-time{font-variant-numeric:tabular-nums;white-space:nowrap}.crossing-unclaimed td{color:#d8b23c}.title-logo--between{height:2.6rem}.rider-row{cursor:pointer}
