@import "https://fonts.bunny.net/css?family=bebas-neue:400|dm-sans:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#080808;--bg2:#111;--bg3:#1c1c1c;--bg4:#262626;--gold:#f5b800;--gold2:#ffd04d;--text:#f2f0eb;--text2:#888880;--text3:#4a4a45;--border:#f5b8001a;--border2:#f5b80040;--col-h:#3a9fff;--col-h-bg:#3a9fff1f;--col-h-border:#3a9fff66;--col-f:#ff3d8a;--col-f-bg:#ff3d8a1f;--col-f-border:#ff3d8a66;--rad:10px;--rad2:16px}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%}html{font-family:DM Sans,sans-serif}body{min-height:100vh;font:inherit;background:var(--bg);color:var(--text);margin:0;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{appearance:none}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{background:#f5b8004d;border-radius:999px}#root,.app-shell{height:100vh;min-height:100vh}.app-shell-routed{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-chrome{z-index:100;background:#0d0d0d;border-bottom:1px solid #f5b80033;flex-shrink:0;position:sticky;top:0}.page-scroll-area{flex:1;min-height:0;overflow:hidden auto}.page-content{width:min(960px,100% - 32px);margin:0 auto}.auth-screen{justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.auth-card{width:min(420px,100%);margin-bottom:0;padding:1.5rem}.auth-card-loading{text-align:center}.auth-card-brand{text-align:center;margin-bottom:1rem}.auth-card-logo{width:120px;height:auto;margin:0 auto .75rem;display:block}.auth-card-copy{color:var(--text2);margin:.5rem 0 0}.auth-mode-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:1rem;display:grid}.auth-form{flex-direction:column;gap:.85rem;display:flex}.auth-error{border-radius:var(--rad);color:#ff9090;background:#ff3c3c1f;border:1px solid #ff3c3c40;margin:0 0 1rem;padding:.8rem .9rem}.auth-note{text-align:center;color:var(--text2);margin:1rem 0 0;font-size:12px}.app-header,.app-nav{width:100%}.app-header{padding:0 1.5rem}.header-top,.app-nav-inner{width:min(100%,1480px);margin:0 auto}.header-top{align-items:center;gap:1rem;padding:.5rem 0 0;display:flex}.logo-wrap{justify-content:center;align-items:center;width:92px;height:48px;display:inline-flex}.logo-image{object-fit:contain;max-width:100%;max-height:100%;display:block}.header-chrono-badge{cursor:default;background:linear-gradient(#f5b80014,#111111f5);border:1px solid #f5b80029;border-radius:12px;min-width:108px;margin-left:auto;margin-right:1.25rem;padding:8px 12px;transition:transform .15s,border-color .15s,background .15s;box-shadow:0 14px 28px #0003}.header-chrono-badge.header-chrono-badge-clickable{cursor:pointer}.header-chrono-badge.header-chrono-badge-clickable:hover:not(:disabled){background:linear-gradient(#f5b8001f,#111111fa);border-color:#f5b80047}.header-chrono-badge.header-chrono-badge-clickable:active:not(:disabled){transform:scale(.98)}.header-chrono-badge:disabled{cursor:default;opacity:.75}.header-chrono-block{flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.header-chrono-label{color:var(--text2);text-transform:uppercase;letter-spacing:1.4px;align-items:center;gap:6px;font-size:10px;display:inline-flex}.header-chrono-value{letter-spacing:2px;color:var(--gold);font-family:Bebas Neue,sans-serif;font-size:30px;line-height:.95;transition:color .3s}.header-chrono-value.warning{color:#ff9f2e}.header-chrono-value.danger{color:#ff3c3c}.race-info-header{text-align:right;color:var(--text2);flex-direction:column;align-items:flex-end;gap:2px;font-size:12px;display:flex}.header-session-row{justify-content:flex-end;align-items:center;gap:8px;margin-top:4px;display:flex}.header-burger-button,.mobile-header-meta{display:none}.header-session-user{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.header-auth-message{color:#ff9f2e}.header-tour-button,.header-tour-label{color:var(--gold);letter-spacing:1px;background:0 0;border:none;margin:0;padding:0;font-family:Bebas Neue,sans-serif;font-size:14px}.header-tour-button{cursor:pointer}.header-tour-button:hover{opacity:.7}.app-nav{padding:0 1.5rem .15rem;overflow-x:auto}.app-nav-inner{gap:0;display:flex;overflow-x:auto}.app-nav-link{min-height:42px;color:var(--text2);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s;display:inline-flex}.app-nav-link:hover{color:var(--text)}.app-nav-link.active{color:var(--gold);border-bottom-color:var(--gold)}.app-nav-config{color:var(--text3)}.nav-link-icon,.inline-icon,.button-icon,.section-label-icon,.header-chrono-icon{flex-shrink:0;width:16px;height:16px}.inline-icon-sm{width:14px;height:14px}.modal-title-inline,.section-label-with-icon{align-items:center;gap:8px;display:inline-flex}.icon-only-button{min-width:32px;padding-left:8px;padding-right:8px}.page-content{min-width:0;padding:1.35rem 0 2rem}.panel{background:0 0;border:none;padding:0}.race-panel,.course-panel,.runners-panel,.ranking-panel,.stats-panel,.penalties-panel,.live-panel,.config-panel{margin-top:0}.runners-panel,.ranking-panel,.stats-panel,.penalties-panel,.live-panel,.course-panel{animation:.25s slide-in}h1,h2,h3,p,ul{margin-top:0}h2{letter-spacing:2px;color:#fbf6ef;text-transform:uppercase;margin:0 0 1.5rem;font-family:Bebas Neue,sans-serif;font-size:30px}h3,.mini-heading{color:var(--text2);text-transform:uppercase;letter-spacing:1.5px;margin:0 0 .75rem;font-size:13px;font-weight:600}.section-kicker{display:none}.card,.runner-row-card,.ranking-row-card,.stats-detail-card,.course-column-panel,.course-runner-card,.penalties-catalog-card,.penalties-casino-card,.live-group-panel,.record-card,.stat-card-box,.live-metric-card,.podium-item,.current-penalty-card{background:var(--bg2);border-radius:var(--rad2);border:1px solid #f5b8001f}.card{margin-bottom:1rem;padding:1rem}.muted,.form-message,.runner-meta,.stat-sub,.penalty-result-sub,.live-status-label,.live-empty-list,.modal-help{color:var(--text2)}input,select,textarea{border-radius:var(--rad);border:1px solid var(--border2);background:var(--bg3);width:100%;color:var(--text);padding:9px 12px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 2px #f5b8001f}select option{background:var(--bg3)}.field{flex-direction:column;gap:6px;display:flex}.field span{color:var(--text2);text-transform:uppercase;letter-spacing:1px;font-size:11px}.primary-button,.secondary-button,.danger-button,.success-button,.info-button{border-radius:var(--rad);cursor:pointer;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:8px 16px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.primary-button:active,.secondary-button:active,.danger-button:active,.success-button:active,.info-button:active{transform:scale(.97)}.primary-button{border:1px solid var(--gold);background:var(--gold);color:#000;font-weight:700}.primary-button:hover{background:var(--gold2)}.secondary-button{border:1px solid var(--border2);color:var(--text);background:0 0}.secondary-button:hover{background:var(--bg3)}.danger-button{color:#ff6b6b;background:#ff3c3c26;border:1px solid #ff3c3c4d}.success-button{color:#47c864;background:#47c86426;border:1px solid #47c8644d}.info-button{color:#47c8ff;background:#47c8ff26;border:1px solid #47c8ff4d}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled,.success-button:disabled,.info-button:disabled{opacity:.7;cursor:wait}.small-button{border-radius:6px;min-height:32px;padding:4px 10px;font-size:12px}.large-button,.casino-launch-button{border-radius:var(--rad2);min-height:50px;padding:13px 18px;font-size:15px}.full-width-button{width:100%}.center-button{margin:.75rem auto 0;display:flex}.flex-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.runners-header,.ranking-header,.stats-header,.penalties-header,.live-header,.course-header,.config-header{display:none}.tour-banner{border-radius:var(--rad2);text-align:center;background:linear-gradient(135deg,#161200,#1e1800);border:1px solid #f5b8004d;margin-bottom:.9rem;padding:1.35rem}.tour-num{color:var(--gold);letter-spacing:4px;text-shadow:0 0 40px #f5b8004d;font-family:Bebas Neue,sans-serif;font-size:80px;line-height:1}.tour-sub{color:var(--text2);margin-top:4px;font-size:13px}.race-edit-row{justify-content:center;margin-top:10px;display:flex}.timer-card{text-align:center}.timer-display{letter-spacing:6px;color:var(--gold);font-family:Bebas Neue,sans-serif;font-size:72px;line-height:1;transition:color .3s}.timer-display.warning{color:#ff9f2e}.timer-display.danger{color:#ff3c3c;animation:.5s ease-in-out infinite alternate pulse-t}.timer-status{color:var(--text3);margin-top:4px;font-size:11px}.race-actions-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.race-actions-centered{justify-content:center}.race-side-meta{color:var(--text2);flex-wrap:wrap;justify-content:center;gap:16px;margin-top:12px;font-size:12px;display:flex}.race-side-meta p,.runner-meta,.stat-sub,.record-sub,.form-message,.live-status-label,.penalty-result-sub,.modal-help{margin-bottom:0}.current-penalties-block{margin-bottom:1rem}.current-penalties-list,.runner-list,.ranking-list,.stats-detail-list,.course-runner-list,.penalty-list,.live-runner-list{gap:.5rem;display:grid}.current-penalty-card{padding:.9rem 1rem}.penalty-highlight{color:#ff6b35;margin-top:6px;margin-bottom:0;font-weight:700}.section-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--text3);align-items:center;gap:8px;margin-bottom:.5rem;font-size:11px;font-weight:600;display:flex}.section-label:after{content:"";background:var(--border);flex:1;height:1px}.section-label-icon{color:currentColor}.course-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:1rem;display:grid}.course-secondary-grid{grid-template-columns:1fr;gap:12px;margin-top:1rem;display:grid}.course-column-panel{box-shadow:none;background:0 0;border:none;padding:0}.course-column-heading{margin-bottom:.8rem}.course-column-heading-h{color:var(--col-h)}.course-column-heading-f{color:var(--col-f)}.course-runner-card{padding:.7rem .9rem}.course-runner-top,.runner-row-main,.stats-detail-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.course-runner-list-dense{gap:6px}.course-section-stack{margin-bottom:1rem}.course-runner-row-card{align-items:center;gap:10px;display:flex}.course-runner-row-main{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.course-runner-row-main-wide{justify-content:space-between}.course-runner-name-strong{flex:1;min-width:0;font-size:14px;font-weight:600}.course-runner-identity-line{align-items:center;gap:8px;min-width:0;display:flex}.course-runner-laps{color:var(--text);letter-spacing:1px;text-align:center;min-width:38px;font-family:Bebas Neue,sans-serif;font-size:24px;line-height:1}.course-runner-laps span{color:var(--text3);font-family:DM Sans,sans-serif;font-size:11px}.course-empty-inline{color:var(--text3);padding:.2rem 0 .8rem;font-size:13px}.course-action-buttons,.compact-actions,.runner-row-actions,.stats-detail-metrics{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.stats-detail-metrics span{align-items:center;gap:6px;display:inline-flex}.course-action-buttons-inline,.compact-actions{margin-top:0}.compact-list{gap:.5rem}.compact-card{padding:.8rem .9rem}.compact-top{align-items:center}.eliminated-card{background:#2d0f0f66;border-color:#ff3c3c33}.runner-form{background:var(--bg2);border-radius:var(--rad2);border:1px solid #f5b8001f;grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:10px;margin-bottom:1rem;padding:1rem;display:grid}.runner-form-title{color:var(--text2);grid-column:1/-1;margin-bottom:-.1rem}.button-icon{width:14px;height:14px}.runner-form .field span{display:none}.runner-form-actions{display:flex}.sex-toggle-group{gap:8px;display:inline-flex}.sex-toggle{cursor:pointer;letter-spacing:2px;background:0 0;border:1.5px solid;border-radius:8px;width:44px;height:38px;font-family:Bebas Neue,sans-serif;font-size:18px}.sex-toggle:first-child{color:#7ab8f5;background:#3a9fff12;border-color:#3a9fff40}.sex-toggle:last-child{color:#f57ab0;background:#ff3d8a12;border-color:#ff3d8a40}.sex-toggle.selected:first-child{color:var(--col-h);border-color:var(--col-h);background:#3a9fff33;box-shadow:0 0 12px #3a9fff59}.sex-toggle.selected:last-child{color:var(--col-f);border-color:var(--col-f);background:#ff3d8a33;box-shadow:0 0 12px #ff3d8a59}.runner-tabs,.ranking-tabs{background:var(--bg3);border-radius:var(--rad);gap:4px;margin-bottom:.9rem;padding:4px;display:flex;overflow-x:auto}.tab-button{min-width:max-content;color:var(--text2);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:7px 12px;font-size:13px;font-weight:500}.tab-button.active{background:var(--bg);color:var(--text)}.runner-row-card,.ranking-row-card,.stats-detail-card{padding:.9rem 1rem;transition:border-color .15s,transform .15s}.runner-row-card-eliminated{opacity:.5;border-color:#ff3c3c2e}.runner-row-card:hover,.ranking-row-card:hover,.course-runner-card:hover,.current-penalty-card:hover,.live-runner-card:hover,.runner-select-button:hover{border-color:var(--border2)}.runner-name{margin:0;font-size:.98rem;font-weight:500}.runner-row-main-compact{gap:14px}.runner-row-identity{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.runner-rank-placeholder{width:10px;min-width:10px}.runner-row-actions-compact{gap:10px;margin-top:0}.runner-lap-metric{color:var(--text);letter-spacing:1px;font-family:Bebas Neue,sans-serif;font-size:24px;line-height:1}.runner-lap-metric span{color:var(--text3);font-family:DM Sans,sans-serif;font-size:11px}.runner-sex-badge{letter-spacing:.5px;text-transform:uppercase;border-radius:20px;justify-content:center;align-items:center;min-width:36px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.runner-sex-badge.male{background:var(--col-h-bg);color:var(--col-h);border:1px solid var(--col-h-border)}.runner-sex-badge.female{background:var(--col-f-bg);color:var(--col-f);border:1px solid var(--col-f-border)}.status-badge{letter-spacing:.5px;text-transform:uppercase;border-radius:20px;align-items:center;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.status-badge-active{color:#47c864;background:#47c8641a;border:1px solid #47c86440}.status-badge-finish{color:var(--gold);background:#f5b80026;border:1px solid #f5b80059}.status-badge-elim{color:#ff6b6b;background:#ff3c3c1a;border:1px solid #ff3c3c40}.empty-state{text-align:center;border:1px dashed var(--border2);border-radius:var(--rad);padding:1rem}.live-empty-list{color:var(--text3);text-align:left;border:none;border-radius:0;padding:0;font-size:14px}.empty-state.small{padding:.75rem}.runners-empty-state{min-height:160px;color:var(--text3);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.runners-empty-icon{opacity:.45;margin-bottom:.75rem}.empty-state-icon{width:40px;height:40px}.runners-empty-label{font-size:14px}.record-card,.stat-card-box,.live-metric-card{padding:.9rem 1rem}.ranking-records-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:.75rem;display:grid}.stats-cards-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:.75rem;display:grid}.record-label,.stat-label,.live-metric-label,.gage-final-label{color:var(--text2);text-transform:uppercase;letter-spacing:1px;font-size:11px;font-weight:500}.record-value,.record-sub,.stat-value,.live-metric-value,.live-tour-label,.live-timer,.gage-number,.casino-display,.gage-final-text{font-family:Bebas Neue,sans-serif}.record-value,.stat-value,.live-metric-value{letter-spacing:2px;color:var(--gold);margin:4px 0 0;font-size:32px;line-height:1}.stat-value.accent,.ranking-penalties-label,.gage-final-text{color:#ff6b35}.ranking-penalties-label{align-items:center;gap:8px;display:inline-flex}.record-sub{color:var(--gold)}.podium-grid{justify-content:center;align-items:flex-end;gap:12px;margin:2rem 0;display:flex}.podium-item{text-align:center;box-shadow:none;background:0 0;border:none;flex-direction:column;align-items:center;gap:8px;padding:0;display:flex}.podium-name{text-align:center;max-width:100px;font-size:14px;font-weight:600}.podium-laps{color:var(--text2);font-size:12px}.podium-block{border-radius:var(--rad) var(--rad) 0 0;justify-content:center;align-items:center;width:100px;padding:1rem;font-family:Bebas Neue,sans-serif;font-size:36px;display:flex}.podium-icon{width:34px;height:34px}.podium-1{color:gold;background:linear-gradient(#ffd7004d,#ffd7001a);border:1px solid #ffd70066;height:160px}.podium-2{color:silver;background:linear-gradient(#c0c0c04d,#c0c0c01a);border:1px solid #c0c0c04d;height:120px}.podium-3{color:#cd7f32;background:linear-gradient(#cd7f324d,#cd7f321a);border:1px solid #cd7f324d;height:90px}.ranking-row-card{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;display:grid}.ranking-list-compact{gap:8px}.ranking-row-card-compact{grid-template-columns:auto minmax(0,1fr) auto;padding:.7rem .9rem}.ranking-main-compact{flex-direction:column;gap:6px;display:flex}.ranking-name-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ranking-subline{color:var(--text2);font-size:12px}.ranking-subline-penalties{color:#ffb14d}.ranking-row-card-penalties .ranking-progress{display:none}.ranking-list>.ranking-row-card:first-child .ranking-rank{color:gold}.ranking-list>.ranking-row-card:nth-child(2) .ranking-rank{color:silver}.ranking-list>.ranking-row-card:nth-child(3) .ranking-rank{color:#cd7f32}.ranking-rank{text-align:center;width:28px;min-width:28px;color:var(--text3);font-family:Bebas Neue,sans-serif;font-size:20px}.ranking-main{min-width:0}.ranking-progress{margin-top:6px}.ranking-progress-bar{background:var(--bg4);border-radius:2px;height:3px;overflow:hidden}.ranking-progress-fill{background:var(--gold);height:100%}.ranking-metric{letter-spacing:1px;color:var(--text);font-family:Bebas Neue,sans-serif;font-size:22px}.ranking-empty-state{min-height:150px;color:var(--text3);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.ranking-empty-icon{opacity:.45;margin-bottom:.75rem}.ranking-empty-label{font-size:14px}.stats-filters{flex-wrap:wrap;gap:8px;margin-bottom:1rem;display:flex}.stats-filters select{min-height:40px}.stats-filters .field span{display:none}.stats-filters .field{flex:1;min-width:180px}.stats-focus-card{padding:1rem}.stats-focus-header{margin-bottom:1rem}.stats-focus-identity,.stats-detail-identity{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stats-focus-name{font-size:16px}.stats-focus-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.stats-compact-value{font-size:22px}.stats-detail-card-row{padding:.85rem 1rem}.stats-detail-top-row{margin-bottom:10px}.stats-lap-metric{color:var(--gold);letter-spacing:1px;white-space:nowrap;font-family:Bebas Neue,sans-serif;font-size:22px}.stats-lap-metric span{color:var(--text3);font-family:DM Sans,sans-serif;font-size:11px}.penalties-card-header{margin-bottom:.75rem}.penalty-form{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:.75rem;display:grid}.gage-item{background:var(--bg3);border:1px solid var(--border);border-radius:var(--rad);align-items:center;gap:10px;padding:.9rem 1rem;display:flex}.gage-text{flex:1;font-size:14px}.gage-number{text-align:center;min-width:32px;color:var(--gold);font-size:24px}.penalty-step-block,.penalty-casino-flow{text-align:center}.penalty-step-label{color:var(--text2);text-align:left;margin-bottom:.75rem;font-size:13px}.runner-select-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.runner-select-heading{text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;font-size:10px;font-weight:700}.runner-select-heading-h{color:var(--col-h)}.runner-select-heading-f{color:var(--col-f)}.runner-select-list{gap:7px;display:grid}.runner-select-button{border:1px solid var(--border2);border-radius:var(--rad);background:var(--bg3);width:100%;color:var(--text);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;font-size:14px;font-weight:600;display:flex}.runner-select-button:hover{border-color:var(--gold);background:#f5b80014}.runner-select-laps{color:var(--text3);font-size:11px}.gage-final-box-highlight{background:#ff6b351f;border-color:#ff6b3573;box-shadow:0 0 0 1px #ff6b3514,0 18px 40px #00000038}.selected-runner-name{color:var(--gold);margin-bottom:1rem;font-size:16px;font-weight:700}.casino-display{letter-spacing:4px;text-align:center;min-height:60px;margin-top:1rem;font-size:48px}.penalty-result-block{margin-top:.5rem}.penalty-result-title{font-size:18px;font-weight:700}.gage-final-box{text-align:center;border-radius:var(--rad2);background:#ff6b351a;border:1px solid #ff6b3559;margin-top:10px;padding:1rem}.gage-final-text{margin-top:6px;font-size:18px}.penalty-message,.runner-message,.race-message,.course-message,.ranking-empty,.ranking-penalties-label{margin-top:1rem}.config-summary{color:var(--gold);font-weight:600}.live-page-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:1rem;display:flex}.live-page-header h2{margin-bottom:0}.live-fullscreen-toggle{white-space:nowrap}.live-top-grid{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:1rem;display:grid}.live-metric-card{text-align:center;margin-bottom:0;padding:.75rem}.live-metric-card.center{background:linear-gradient(#f5b80014,#111111f5);border-color:#f5b80038;min-width:200px}.live-tour-label,.live-status-label{color:var(--text3)}.live-tour-label{letter-spacing:1px;text-transform:uppercase;font-size:10px;line-height:1.3}.live-timer{letter-spacing:4px;color:var(--gold);font-size:36px;line-height:1;transition:color .3s}.live-timer.warning{color:#ff9f2e}.live-timer.danger{color:#ff3c3c}.live-status-label{margin-top:2px;font-size:10px}.live-groups-grid-poc{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:1.5rem;display:grid}.live-group-panel{background:0 0;border:none;padding:0}.live-sex-columns{grid-template-columns:1fr 1fr;gap:14px;display:grid}.live-sex-heading{text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;font-size:10px;font-weight:700}.live-sex-heading-h{color:var(--col-h)}.live-sex-heading-f{color:var(--col-f)}.live-runner-list{gap:4px}.live-runner-card{border:1px solid var(--border);border-radius:var(--rad);color:var(--text2);background:#1111118c;justify-content:space-between;align-items:center;gap:10px;padding:6px 8px;font-size:13px;display:flex}.live-runner-card strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.live-runner-laps{color:var(--gold);flex-shrink:0;margin-left:4px;font-family:Bebas Neue,sans-serif;font-size:16px;line-height:1}.live-panel-fullscreen{background:radial-gradient(circle at top, #f5b8001f, transparent 28%), linear-gradient(180deg, #ffffff04, transparent 22%), var(--bg);flex-direction:column;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.live-panel-fullscreen:before{content:"";pointer-events:none;opacity:.55;background:linear-gradient(#ffffff05 0%,#ffffff02 6%,#0000 12%,#ffffff03 18%,#0000 24%);position:absolute;inset:0}.live-panel-fullscreen.live-panel-tv-controls-hidden{cursor:none}.live-panel-fullscreen .live-page-header{z-index:1;justify-content:flex-end;margin-bottom:1.5rem;position:relative}.live-panel-fullscreen .live-page-header h2{display:none}.live-panel-fullscreen h2{letter-spacing:4px;font-size:52px}.live-panel-fullscreen .live-top-grid{z-index:1;grid-template-columns:minmax(280px,1fr) minmax(360px,.82fr) minmax(280px,1fr);gap:22px;width:100%;max-width:1640px;margin:0 auto 2.1rem;position:relative}.live-panel-fullscreen .live-metric-card{flex-direction:column;justify-content:center;min-height:168px;padding:1.15rem 1.35rem;display:flex;box-shadow:0 28px 56px #00000047}.live-panel-fullscreen .live-metric-card.center{background:linear-gradient(#f5b80024,#111111fa);border-color:#f5b8004d}.live-panel-fullscreen .live-metric-value{font-size:52px}.live-panel-fullscreen .live-tour-label,.live-panel-fullscreen .live-status-label,.live-panel-fullscreen .live-metric-label{font-size:14px}.live-panel-fullscreen .live-sex-heading{letter-spacing:2px;margin-bottom:12px;font-size:18px}.live-panel-fullscreen .section-label{letter-spacing:2.4px;color:#8f8a7f;margin-bottom:.9rem;font-size:18px}.live-panel-fullscreen .section-label:after{opacity:.9;background:linear-gradient(90deg,#f5b80047,#f5b8000f);height:2px}.live-panel-fullscreen .live-timer{letter-spacing:7px;text-shadow:0 0 32px #f5b80024;font-size:84px}.live-panel-fullscreen .live-timer.warning{text-shadow:0 0 36px #ff9f2e2e;font-size:88px}.live-panel-fullscreen .live-timer.danger{text-shadow:0 0 44px #ff3c3c3d;font-size:96px}.live-panel-fullscreen .live-groups-grid-poc{z-index:1;flex:1;align-content:start;gap:28px;width:100%;max-width:1640px;margin:0 auto;padding-bottom:12px;position:relative}.live-panel-fullscreen .live-group-panel{flex-direction:column;display:flex}.live-panel-fullscreen .live-sex-columns{gap:28px}.live-panel-fullscreen .live-runner-list{gap:14px}.live-panel-fullscreen .live-runner-card{background:#111111b8;border-color:#f5b80024;min-height:64px;padding:12px 16px;transition:none}.live-panel-fullscreen .live-runner-card:hover{color:var(--text2);background:#111111b8;border-color:#f5b80024;transform:none}.live-panel-fullscreen .live-fullscreen-toggle:hover,.live-panel-fullscreen .live-fullscreen-toggle:active{border-color:inherit;background:inherit;color:inherit;transform:none}.live-panel-fullscreen .live-runner-card strong{font-size:20px}.live-panel-fullscreen .live-runner-laps{font-size:28px}.live-fullscreen-toggle{transition:opacity .2s,transform .2s}.live-fullscreen-toggle-hidden{opacity:0;pointer-events:none;transform:translateY(-8px)}.modal-overlay{z-index:300;background:#000000bf;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-overlay.open{display:flex}.modal-box{background:var(--bg2);border:1px solid var(--border2);border-radius:var(--rad2);width:min(380px,100% - 24px);padding:1.5rem}.modal-box h3{color:var(--text);text-transform:none;letter-spacing:0;margin-bottom:1rem;font-size:16px;font-weight:700}.modal-row{gap:10px;margin-bottom:1rem;display:flex}.modal-row-single{display:block}.modal-row .field{flex:1}.modal-row input{text-align:center;font-size:20px}.modal-actions,.modal-stack-actions{gap:8px;display:flex}.modal-actions{flex-direction:row}.modal-actions>*{flex:1}.modal-stack-actions{flex-direction:column}.modal-help{margin-bottom:1.25rem;font-size:13px;line-height:1.6}.modal-cancel-button{color:var(--text3)}.modal-message{margin-top:1rem}.toast-viewport{z-index:400;gap:10px;width:min(360px,100% - 24px);display:grid;position:fixed;bottom:16px;right:16px}.toast{border:1px solid var(--border2);background:#111111f5;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px 14px;animation:.18s toast-in;display:grid;box-shadow:0 24px 48px #00000059}.toast-success{border-color:#47c86459}.toast-error{border-color:#ff3c3c59}.toast-info{border-color:#47c8ff59}.toast-body{color:var(--text);font-size:13px;line-height:1.45}.toast-close{color:var(--text2);cursor:pointer;background:0 0;border:none;padding:0;line-height:1}.toast-close:hover{color:var(--text)}@keyframes pulse-t{0%{opacity:1}to{opacity:.45}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.live-top-grid{grid-template-columns:1fr}.live-page-header{flex-direction:column;align-items:flex-start}.live-groups-grid-poc{grid-template-columns:1fr}}@media (width<=720px){html,body,#root,.app-shell,.app-shell-routed{height:auto;min-height:100%}body{overflow:auto}.app-shell-routed{overflow:visible}.page-scroll-area{flex:none;min-height:auto;overflow:visible}.page-content{width:min(100%,100% - 20px)}.app-header,.app-nav{padding-left:10px;padding-right:10px}.course-grid,.ranking-records-grid,.stats-cards-grid,.live-sex-columns,.runner-select-grid{grid-template-columns:1fr}.toast-viewport{width:auto;bottom:10px;left:10px;right:10px}.runner-form{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;display:grid}.runner-name-field{min-width:0}.runner-form-actions,.sex-toggle-group,.runner-row-actions-compact,.course-action-buttons-inline{align-self:center}.course-runner-top{flex-direction:column;align-items:flex-start}.runner-row-main,.runner-row-main-compact,.course-runner-row-card,.course-runner-row-main,.course-runner-row-main-wide,.stats-detail-top,.stats-detail-top-row{flex-direction:row;align-items:center}.runner-row-main,.runner-row-main-compact,.course-runner-row-main,.course-runner-row-main-wide,.stats-detail-top-row{justify-content:space-between;width:100%}.runner-row-identity,.stats-detail-identity,.course-runner-name-strong{min-width:0}.runner-row-actions-compact,.course-action-buttons-inline{flex-wrap:nowrap;margin-top:0}.stats-lap-metric,.runner-lap-metric,.course-runner-laps{margin-left:auto}.ranking-empty,.podium-grid,.ranking-penalties-label{margin-bottom:.9rem}.header-top{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:.6rem 0;display:grid}.desktop-header-info,.app-nav{display:none}.mobile-header-meta{min-width:0;color:var(--text2);flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;display:flex;overflow:hidden}.mobile-header-meta>*{min-width:0;max-width:100%}.mobile-header-config-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:12px;overflow:hidden}.header-burger-button{border:1px solid var(--border2);width:40px;height:40px;color:var(--text);background:0 0;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.header-chrono-badge{justify-self:start;width:100%;min-width:0;max-width:120px;margin-left:0;margin-right:0;padding:4px 7px}.header-chrono-block{align-items:flex-start}.header-chrono-value{letter-spacing:.4px;font-size:18px}.header-chrono-label{letter-spacing:1px;font-size:9px}.logo-wrap{width:84px;height:40px}.mobile-header-drawer-backdrop{z-index:220;background:#0000008c;justify-content:flex-end;display:flex;position:fixed;inset:0}.mobile-header-drawer{width:min(360px,100vw - 24px);height:100%;padding:14px 12px}.mobile-header-menu{background:var(--bg2);border:1px solid #f5b8001f;border-radius:14px;flex-direction:column;height:100%;padding:.85rem;display:flex;overflow-y:auto}.mobile-header-actions{border-top:1px solid #f5b8001a;flex-wrap:wrap;justify-content:space-between;align-items:stretch;gap:8px;margin-top:auto;padding-top:.85rem;display:flex}.mobile-action-button{min-height:38px;padding:8px 14px}.mobile-header-nav{grid-template-columns:1fr 1fr;align-content:start;gap:8px;display:grid}.mobile-header-nav-link{background:var(--bg3);min-height:42px;color:var(--text2);border:1px solid #f5b8001a;border-radius:10px;align-items:center;gap:8px;padding:10px 12px;text-decoration:none;display:inline-flex}.mobile-header-nav-link.active{color:var(--gold);background:#f5b80014;border-color:#f5b80059}.tour-num{font-size:60px}.timer-display{font-size:52px}.app-nav-link{padding:10px 12px}}
