:root,[data-theme=dark]{--bg: #0d1117;--bg-card: #161b22;--bg-hover: #21262d;--border: #30363d;--text: #e6edf3;--text-muted: #8b949e;--accent: #e63946;--accent-dim: #c1121f;--gold: #f4a261;--silver: #adb5bd;--bronze: #cd7f32;--success: #2ea043;--warning: #d29922;--font: "Barlow Semi Condensed", system-ui, sans-serif;--radius: 8px;--app-header-sticky-offset: 3.5rem;--app-main-pad-block: 3rem}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.5}html{scrollbar-gutter:stable}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.app:has(.general-scroll-layout){height:100dvh;overflow:hidden}.app-main{flex:1;padding:1.5rem;max-width:1400px;width:100%;margin:0 auto}.app-main:has(.general-scroll-layout){display:flex;flex-direction:column;min-height:0;overflow:hidden}.app-header{position:sticky;top:0;z-index:300;padding:max(1rem,env(safe-area-inset-top,0px)) 1.5rem 1rem;border-bottom:1px solid var(--border);background:var(--bg-card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.app-header--event{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);align-items:center;gap:1rem}.app-header-start{min-width:0}.app-header--event .app-header-tagline{display:none}.app-header-event-title{margin:0;font-size:1.05rem;font-weight:600;text-align:center;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;min-width:0}.app-header-actions .last-update{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.btn-header{font-size:.9rem;padding:.4rem .85rem;white-space:nowrap}.btn-header-icon{display:inline-flex;align-items:center;justify-content:center;padding:.45rem;min-width:2.25rem;min-height:2.25rem;color:var(--text);background:transparent;border:1px solid var(--border)}.btn-header-icon:disabled{opacity:.55}.btn-header-icon.is-loading svg{animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.logo{display:inline-flex;align-items:center;gap:.5rem;color:var(--text);text-decoration:none;font-size:1.4rem;font-weight:700;letter-spacing:.02em}.logo:hover{text-decoration:none}.logo-icon{color:var(--accent)}.tagline{margin:.25rem 0 0;color:var(--text-muted);font-size:.9rem}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-hover);color:var(--text);font-family:inherit;font-size:.95rem;font-weight:500;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s}.btn:hover{background:var(--border);border-color:var(--text-muted);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.app-header-mobile-actions{display:none;align-items:center;gap:.4rem;flex-shrink:0}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dim);border-color:var(--accent-dim)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}input,select{padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-family:inherit;font-size:.95rem}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px}label{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:.25rem}.form-group{margin-bottom:.75rem}.table-wrap{overflow-x:auto}table.data-table{width:100%;border-collapse:collapse;font-size:.95rem}table.data-table th,table.data-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border)}table.data-table th{color:var(--text-muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}table.data-table tbody tr{cursor:pointer}table.data-table tbody tr:hover,table.data-table tbody tr.selected{background:var(--bg-hover)}table.data-table .num{text-align:right;font-variant-numeric:tabular-nums}table.data-table .rank-1{color:var(--gold);font-weight:700}table.data-table .rank-2{color:var(--silver);font-weight:600}table.data-table .rank-3{color:var(--bronze);font-weight:600}.badge{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;background:var(--bg-hover);color:var(--text-muted)}.badge-accent{background:#e6394633;color:var(--accent)}.loading,.error-msg,.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.error-msg{color:var(--accent)}.tabs{display:flex;gap:.25rem;flex-wrap:wrap;margin-bottom:1rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}.challenge-view{width:100%}.challenge-view .tabs{position:sticky;top:var(--app-header-sticky-offset);z-index:250;flex-wrap:nowrap;margin-bottom:.75rem;margin-top:0;padding-top:0;padding-bottom:.5rem;background:var(--bg);border-bottom:1px solid var(--border)}.tab{padding:.4rem .9rem;border:none;border-radius:var(--radius) var(--radius) 0 0;background:transparent;color:var(--text-muted);font-family:inherit;font-size:.9rem;font-weight:500;cursor:pointer}.tab:hover{color:var(--text);background:var(--bg-hover)}.tab.active{color:var(--accent);background:var(--bg-card);border:1px solid var(--border);border-bottom-color:var(--bg-card);margin-bottom:-1px}.score-total{font-weight:700;font-size:1.05rem;color:var(--accent)}.score-detail{font-size:.8rem;color:var(--text-muted)}.challenge-layout{display:block}.stats-bar{display:flex;gap:1.5rem;flex-wrap:wrap;margin-bottom:1rem;font-size:.85rem;color:var(--text-muted)}.stats-bar strong{color:var(--text)}.pilot-detail{margin-top:1rem;padding:1rem;background:var(--bg);border-radius:var(--radius);border:1px solid var(--border)}.pilot-detail h4{margin:0 0 .75rem;font-size:1rem}.session-list{list-style:none;padding:0;margin:0;font-size:.85rem}.session-list li{padding:.35rem 0;border-bottom:1px solid var(--border);color:var(--text-muted)}.session-list li:last-child{border-bottom:none}.home .card+.card{margin-top:1.25rem}@media(max-width:640px){html{font-size:15px}.app-main{padding:.65rem}:root,[data-theme=dark]{--app-main-pad-block: 1.3rem}.app-header{padding:max(.65rem,env(safe-area-inset-top,0px)) .85rem .65rem}.app-header--event{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.app-header-event-title,.app-header-actions--desktop{display:none}.app-header-mobile-actions{display:inline-flex}.app-header .tagline{display:none}.logo{font-size:1.15rem}.tagline{font-size:.8rem;line-height:1.35}.challenge-view .tabs{margin-left:-.65rem;margin-right:-.65rem;padding-left:.65rem;padding-right:.65rem}.tabs::-webkit-scrollbar{display:none}.tab{flex-shrink:0;white-space:nowrap;font-size:.85rem;padding:.35rem .65rem}.card{padding:.75rem}.btn{padding:.45rem .75rem;font-size:.9rem}.tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.2rem;margin-left:-.75rem;margin-right:-.75rem;padding-left:.75rem;padding-right:.75rem;margin-bottom:.75rem}.table-wrap{margin-left:-.75rem;margin-right:-.75rem;padding-left:.75rem;padding-right:.75rem;-webkit-overflow-scrolling:touch}table.data-table{font-size:.88rem}table.data-table th,table.data-table td{padding:.4rem .45rem}table.data-table th{font-size:.72rem}.col-hide-sm{display:none!important}.col-show-sm-only{display:block}.score-total{font-size:.95rem}.badge{font-size:.68rem;padding:.1rem .35rem}}@media(min-width:641px){.col-show-sm-only{display:none!important}}
