@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--bg-card: #ffffff;--bg-hover: #f1f5f9;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #94a3b8;--text-inverse: #ffffff;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-light: #dbeafe;--accent-soft: #eff6ff;--success: #16a34a;--warning: #f59e0b;--danger: #dc2626;--info: #0891b2;--gold: #f59e0b;--silver: #94a3b8;--bronze: #d97706;--border: #e2e8f0;--border-light: #f1f5f9;--shadow: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);--radius: 8px;--radius-lg: 12px;--radius-xl: 16px;--salle-color: #8b5cf6;--plein-air-color: #16a34a;--cross-color: #d97706}[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-card: #1e293b;--bg-hover: #334155;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-tertiary: #64748b;--text-inverse: #0f172a;--accent: #3b82f6;--accent-hover: #60a5fa;--accent-light: #1e3a5f;--accent-soft: #172554;--border: #334155;--border-light: #1e293b;--shadow: 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.3);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.3)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;transition:background-color .3s,color .3s}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.app-container{min-height:100vh;display:flex;flex-direction:column}.install-sheet{position:fixed;bottom:0;left:0;right:0;z-index:1100;background:var(--bg-card);border-radius:20px 20px 0 0;box-shadow:0 -4px 24px #00000026;padding:12px 24px 28px;display:flex;flex-direction:column;align-items:center;gap:14px;animation:installSlideUp .4s ease-out}@keyframes installSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.install-sheet-handle{width:36px;height:4px;border-radius:2px;background:var(--text-tertiary);opacity:.4;flex-shrink:0}.install-sheet-icon{flex-shrink:0}.install-sheet-text{text-align:center;display:flex;flex-direction:column;gap:4px}.install-sheet-text strong{font-size:1.05rem;color:var(--text-primary)}.install-sheet-text span{font-size:.85rem;color:var(--text-secondary);line-height:1.4}.install-sheet-actions{display:flex;flex-direction:column;gap:8px;width:100%;max-width:320px}.install-btn-primary{background:var(--accent);color:#fff;border:none;border-radius:12px;padding:12px 24px;font-weight:600;font-size:.95rem;cursor:pointer;width:100%;transition:background .2s}.install-btn-primary:hover{background:var(--accent-hover)}.install-btn-secondary{background:none;border:none;color:var(--text-tertiary);font-size:.85rem;cursor:pointer;padding:8px;transition:color .2s}.install-btn-secondary:hover{color:var(--text-secondary)}.app-header{background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:12px 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:var(--shadow)}.app-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text-primary)}.app-logo svg,.app-logo-img{width:36px;height:36px;border-radius:8px}.app-logo h1{font-size:1.3rem;font-weight:700;letter-spacing:-.5px}.app-logo span{color:var(--accent)}.theme-toggle{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:24px;padding:6px 12px;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;gap:6px;transition:all .2s;color:var(--text-primary)}.theme-toggle:hover{background:var(--bg-hover)}.app-main{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:24px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow);transition:box-shadow .2s}.card:hover{box-shadow:var(--shadow-md)}.card-title{font-size:1.1rem;font-weight:600;margin-bottom:16px;color:var(--text-primary);display:flex;align-items:center;gap:8px}.search-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center}.search-history{width:100%;max-width:600px;margin-top:20px;text-align:left}.search-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:.85rem;color:var(--text-secondary);font-weight:600}.history-clear-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.8rem;padding:4px 8px;border-radius:6px;transition:background .15s}.history-clear-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.history-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:10px;background:var(--card-bg);margin-bottom:6px;text-decoration:none;color:var(--text-primary);transition:background .15s}.history-item:hover{background:var(--bg-hover)}.history-info{flex:1;min-width:0}.history-name{font-weight:600;font-size:.95rem}.history-meta{display:flex;align-items:center;gap:8px;margin-top:2px;font-size:.78rem;color:var(--text-secondary)}.history-remove{background:none;border:none;color:var(--text-secondary);font-size:1.2rem;cursor:pointer;padding:4px 8px;border-radius:6px;line-height:1;transition:color .15s,background .15s}.history-remove:hover{color:#ef4444;background:rgba(239,68,68,.1)}.search-hero{order:-1;margin-bottom:40px}.search-hero h2{font-size:2.5rem;font-weight:700;margin-bottom:8px;letter-spacing:-1px}.search-hero p{color:var(--text-secondary);font-size:1.1rem}.search-box{width:100%;max-width:600px}.search-mode-toggle{display:flex;gap:8px;margin-bottom:16px;justify-content:center}.search-mode-btn{padding:8px 20px;border:1px solid var(--border);border-radius:24px;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;font-size:.9rem;transition:all .2s}.search-mode-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.search-inputs{display:flex;gap:8px}.search-input{flex:1;padding:14px 20px;border:2px solid var(--border);border-radius:var(--radius-lg);font-size:1rem;background:var(--bg-secondary);color:var(--text-primary);outline:none;transition:border-color .2s}.search-input:focus{border-color:var(--accent)}.search-input::placeholder{color:var(--text-tertiary)}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:100;max-height:320px;overflow-y:auto}.autocomplete-item{padding:10px 16px;cursor:pointer;border-bottom:1px solid var(--border-light);transition:background .15s}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover,.autocomplete-item.selected{background:var(--bg-hover)}.autocomplete-name{font-weight:500;color:var(--text-primary)}.autocomplete-meta{font-size:.8rem;color:var(--text-tertiary);margin-top:2px}.search-btn{padding:14px 28px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.search-btn:hover{background:var(--accent-hover)}.search-btn:disabled{opacity:.6;cursor:not-allowed}.search-results{width:100%;max-width:600px;margin-top:24px;text-align:left}.result-item{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;cursor:pointer;transition:all .2s}.result-item:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.result-item .name{font-weight:600;font-size:1.05rem}.result-item .club{color:var(--text-secondary);font-size:.85rem;margin-top:2px}.result-item .arrow{color:var(--accent);font-size:1.2rem}.athlete-header{display:flex;align-items:center;gap:20px;margin-bottom:24px;flex-wrap:wrap}.athlete-info{flex:1;min-width:0}.athlete-info h2{font-size:1.5rem;font-weight:700;letter-spacing:-.5px}.athlete-club{color:var(--text-secondary);font-size:.85rem;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.athlete-meta{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}.athlete-meta .tag{padding:3px 10px;border-radius:20px;font-size:.75rem;font-weight:500}.tag-club{background:var(--accent-light);color:var(--accent)}.tag-category{background:#dcfce7;color:#16a34a}.tag-licence{background:var(--bg-tertiary);color:var(--text-secondary)}.refresh-btn{padding:6px 14px;font-size:.8rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;transition:all .2s;white-space:nowrap}.refresh-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}[data-theme=dark] .tag-category{background:#14532d;color:#4ade80}.section-nav{display:flex;gap:4px;margin-bottom:20px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.section-nav::-webkit-scrollbar{display:none}.section-nav-btn{padding:7px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;font-size:.8rem;white-space:nowrap;transition:all .2s}.section-nav-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.records-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.record-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;text-align:center;transition:all .2s}.record-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}.record-event{font-size:.85rem;color:var(--text-secondary);margin-bottom:8px;font-weight:500}.record-perf{font-size:1.5rem;font-weight:700;color:var(--accent)}.record-wind{font-size:.75rem;font-weight:400;color:var(--text-tertiary)}.record-details{font-size:.75rem;color:var(--text-tertiary);margin-top:6px}.record-type{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600;margin-top:4px}.type-salle{background:#ede9fe;color:var(--salle-color)}.type-plein_air{background:#dcfce7;color:var(--plein-air-color)}.type-cross{background:#fef3c7;color:var(--cross-color)}[data-theme=dark] .type-salle{background:#2e1065}[data-theme=dark] .type-plein_air{background:#14532d}[data-theme=dark] .type-cross{background:#451a03}.perf-table{width:100%;border-collapse:collapse;font-size:.9rem}.perf-table th{text-align:left;padding:10px 12px;border-bottom:2px solid var(--border);color:var(--text-secondary);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.perf-table td{padding:10px 12px;border-bottom:1px solid var(--border-light)}.perf-table tr:hover td{background:var(--bg-hover)}.perf-table .perf-value{font-weight:600;color:var(--accent);font-family:JetBrains Mono,monospace}.perf-table .place-1{color:var(--gold);font-weight:700}.perf-table .place-2{color:var(--silver);font-weight:700}.perf-table .place-3{color:var(--bronze);font-weight:700}.medal-table{width:100%;border-collapse:collapse;margin-bottom:8px}.medal-table th{padding:8px 12px;font-size:1.2rem;text-align:center;border-bottom:2px solid var(--border)}.medal-table td{padding:8px 12px;text-align:center;font-size:.95rem;border-bottom:1px solid var(--border-light)}.medal-table .medal-type-cell{text-align:left}.medal-table .medal-gold{color:var(--gold);font-weight:600}.medal-table .medal-silver{color:var(--silver);font-weight:600}.medal-table .medal-bronze{color:var(--bronze);font-weight:600}.medal-table .medal-total{font-weight:700}.medal-totals-row{border-top:2px solid var(--border)}.podium-season-group{margin-top:8px}.podium-season-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--bg-tertiary);border-radius:var(--radius);font-weight:600;font-size:.9rem;margin-bottom:4px}.podium-season-count{background:var(--accent);color:#fff;font-size:.7rem;padding:2px 8px;border-radius:12px;font-weight:500}.podium-item{display:flex;align-items:center;gap:16px;padding:14px;border-bottom:1px solid var(--border-light)}.podium-medal{font-size:1.8rem;flex-shrink:0}.podium-info .titre{font-weight:600;font-size:.95rem}.podium-info .epreuve{color:var(--text-secondary);font-size:.85rem}.podium-info .date-lieu{color:var(--text-tertiary);font-size:.8rem}.niveau-badge{display:inline-block;padding:1px 6px;border-radius:4px;font-size:.65rem;font-weight:600;text-transform:uppercase}.niveau-nat{background:#dbeafe;color:#1d4ed8}.niveau-interreg{background:#fef3c7;color:#b45309}.niveau-reg{background:#d1fae5;color:#047857}.niveau-dep{background:#f3e8ff;color:#7c3aed}.niveau-int,.niveau-euro,.niveau-JO{background:#fecaca;color:#dc2626}[data-theme=dark] .niveau-nat{background:#1e3a5f;color:#93c5fd}[data-theme=dark] .niveau-interreg{background:#451a03;color:#fcd34d}[data-theme=dark] .niveau-reg{background:#064e3b;color:#6ee7b7}[data-theme=dark] .niveau-dep{background:#3b0764;color:#c4b5fd}[data-theme=dark] .niveau-int,[data-theme=dark] .niveau-euro,[data-theme=dark] .niveau-JO{background:#450a0a;color:#fca5a5}.evolution-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}.evolution-control-group{display:flex;align-items:center;gap:4px}.evolution-season-select{padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);color:var(--text-primary);font-size:.78rem;cursor:pointer}.club-timeline{position:relative;padding-left:30px}.club-timeline:before{content:"";position:absolute;left:10px;top:0;bottom:0;width:2px;background:var(--accent)}.club-item{position:relative;padding:12px 0}.club-item:before{content:"";position:absolute;left:-24px;top:18px;width:10px;height:10px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-secondary)}.club-item .year{font-weight:600;color:var(--accent);font-size:.9rem}.club-item .club-name{font-weight:500}.niveau-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-light)}.niveau-badge{padding:4px 12px;border-radius:6px;font-weight:700;font-size:.9rem;background:var(--accent-light);color:var(--accent);min-width:60px;text-align:center}.loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;color:var(--text-secondary)}.loader-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.loader-progress{width:200px;height:6px;background:var(--bg-tertiary);border-radius:3px;margin-top:12px;overflow:hidden}.loader-progress-bar{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}.chart-container{width:100%;height:350px}.event-selector{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.event-chip{padding:6px 14px;border-radius:20px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;font-size:.8rem;transition:all .2s}.event-chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.event-select-mobile{display:none;width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);color:var(--text-primary);font-size:.9rem;margin-bottom:16px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2394a3b8' viewBox='0 0 16 16'%3E%3Cpath d='M8 12L2 6h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.event-multi-mobile{display:none;position:relative;margin-bottom:16px}.event-multi-trigger{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);color:var(--text-primary);font-size:.85rem;cursor:pointer;text-align:left;display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-multi-list{position:absolute;top:100%;left:0;right:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:50;max-height:250px;overflow-y:auto;margin-top:4px}.event-multi-item{display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:.85rem;cursor:pointer;transition:background .15s}.event-multi-item:hover,.event-multi-item.checked{background:var(--bg-hover)}.event-multi-item.disabled{opacity:.4;cursor:default}.event-multi-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);flex-shrink:0}.event-multi-color{width:10px;height:10px;border-radius:50%;flex-shrink:0}.map-container{width:100%;height:400px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}.season-card{margin-bottom:16px}.season-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-tertiary);border-radius:var(--radius) var(--radius) 0 0;cursor:pointer}.season-header h4{font-size:1rem;font-weight:600}.season-stats{display:flex;gap:16px;font-size:.85rem;color:var(--text-secondary)}.back-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;font-size:.9rem;margin-bottom:20px;transition:all .2s}.back-btn:hover{background:var(--bg-hover);color:var(--text-primary)}@media (max-width: 768px){.app-header{padding:8px 12px}.app-main{padding:12px}.search-page{min-height:auto;justify-content:flex-start;padding-top:12px}.search-hero{display:none}.search-inputs{flex-direction:column}.athlete-header{gap:12px;margin-bottom:16px}.athlete-info h2{font-size:1.2rem}.athlete-club{font-size:.78rem}.athlete-meta{gap:6px;margin-top:4px}.athlete-meta .tag{padding:2px 8px;font-size:.7rem}.refresh-btn{padding:5px 10px;font-size:.75rem}.section-nav{gap:3px;margin-bottom:14px}.section-nav-btn{padding:6px 10px;font-size:.75rem}.records-grid{grid-template-columns:repeat(2,1fr);gap:8px}.record-card{padding:10px}.record-event{font-size:.78rem;margin-bottom:4px}.record-perf{font-size:1.2rem}.record-details{font-size:.7rem;margin-top:3px}.record-type{font-size:.65rem;padding:1px 6px}.card{padding:14px}.card-title{font-size:1rem;margin-bottom:12px}.event-selector{display:none}.event-select-mobile,.event-multi-mobile{display:block}.chart-container{height:260px}.map-container{height:280px}.perf-table{font-size:.78rem}.perf-table th{padding:6px 8px;font-size:.7rem;letter-spacing:0}.perf-table td{padding:8px}.perf-table .perf-value{font-size:.82rem}.perf-table .col-hide-mobile{display:none}.back-btn{padding:6px 12px;font-size:.82rem;margin-bottom:12px}.medal-table th{padding:6px 8px;font-size:1rem}.medal-table td{padding:6px 8px;font-size:.82rem}.podium-season-header{padding:8px 10px;font-size:.82rem}.podium-item{gap:10px;padding:10px}.podium-medal{font-size:1.4rem}.podium-info .titre{font-size:.85rem}.podium-info .epreuve{font-size:.78rem}.evolution-controls{gap:6px}.evolution-season-select{font-size:.72rem;padding:3px 6px}.card-title{flex-wrap:wrap;gap:6px}}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:var(--radius);margin:16px 0}[data-theme=dark] .error-message{background:#450a0a;border-color:#7f1d1d}.empty-state{text-align:center;padding:40px;color:var(--text-tertiary)}.empty-state p{margin-top:8px;font-size:.9rem}.simulation-container{display:flex;flex-direction:column;gap:16px}.simulation-card{padding:16px}.simulation-subtitle{color:var(--text-secondary);font-size:.85rem;margin-bottom:12px}.simulation-dual{display:grid;grid-template-columns:1fr 1fr;gap:16px}.simulation-block{background:var(--bg-tertiary);border-radius:var(--radius);padding:12px}.simulation-block-title{font-size:.9rem;font-weight:600;margin-bottom:10px;color:var(--accent)}.simulation-table{width:100%;border-collapse:collapse;font-size:.85rem}.simulation-table th{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-weight:500;font-size:.8rem}.simulation-table td{padding:6px 8px;border-bottom:1px solid var(--border-light)}.simulation-row:nth-child(2n) td{background:var(--bg-hover)}.simulation-row.no-data td{color:var(--text-tertiary)}.no-perf{font-style:italic;color:var(--text-tertiary);font-size:.8rem}.perf-value{font-weight:500}.points-value{font-weight:600;color:var(--accent)}.simulation-total-row td{font-weight:700;padding-top:8px;border-top:2px solid var(--border);border-bottom:none}.simulation-total{color:var(--accent);font-size:1rem}.event-name{color:var(--text-secondary);font-size:.8rem}.event-editable{padding:0!important}.sim-event-select{background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:.8rem;padding:2px 4px;cursor:pointer;max-width:130px;outline:none}.sim-event-select:focus{border-color:var(--accent)}.simulated .sim-event-select{color:var(--accent);border-color:var(--accent)}.perf-editable{position:relative;white-space:nowrap}.sim-edit-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.85rem;padding:0 4px;opacity:.4;transition:opacity .2s;vertical-align:middle}.simulation-row:hover .sim-edit-btn{opacity:1}.sim-edit-btn:hover{color:var(--accent)}.age-factor-badge{display:inline-block;font-size:.65rem;color:var(--text-secondary);margin-left:4px;opacity:.7}.sim-input{background:var(--bg-secondary);border:1px solid var(--accent);border-radius:4px;color:var(--text);font-size:.85rem;padding:2px 6px;width:80px;outline:none}.simulation-row.simulated td{color:var(--accent);font-style:italic}.simulation-row.simulated .perf-value{font-weight:600}.sim-stats-btn{background:none;border:none;cursor:pointer;font-size:.75rem;padding:0 3px;opacity:.4;transition:opacity .2s;vertical-align:middle}.simulation-row:hover .sim-stats-btn,.sim-stats-btn:hover{opacity:1}.scoring-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.scoring-modal{background:var(--bg-card);border-radius:12px;box-shadow:0 8px 32px #0003;max-width:420px;width:100%;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.scoring-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:var(--accent);color:#fff;font-weight:600;font-size:1rem}.scoring-modal-close{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0 4px;line-height:1}.scoring-modal-close:hover{opacity:.7}.scoring-modal-body{overflow-y:auto;padding:12px 16px}.scoring-modal-table{width:100%;border-collapse:collapse}.scoring-modal-table thead th{background:var(--accent);color:#fff;padding:8px 16px;text-align:center;font-weight:600;font-size:.9rem;position:sticky;top:0}.scoring-modal-row{cursor:pointer;transition:background .15s}.scoring-modal-row:hover{background:var(--accent-light)}.scoring-modal-row td{padding:8px 16px;text-align:center;border-bottom:1px solid var(--border);font-size:.9rem}.scoring-pts{font-weight:600}.scoring-modal-row.scoring-active{background:#fef9c3}.scoring-modal-row.scoring-active td{font-weight:700}[data-theme=dark] .scoring-modal-row.scoring-active{background:#854d0e40}@media (max-width: 640px){.simulation-dual{grid-template-columns:1fr}.simulation-card{padding:10px}.simulation-block{padding:8px}.simulation-table{font-size:.78rem}.simulation-table th{font-size:.7rem;padding:4px 3px}.simulation-table td{padding:5px 3px}.sim-tri-table th:first-child,.sim-tri-table .simulation-row td:first-child{display:none}.event-editable{padding:2px!important}.sim-event-select{max-width:110px;font-size:.72rem;padding:2px}.sim-stats-btn{opacity:.6;font-size:.7rem;padding:0 2px}.sim-edit-btn{opacity:.6;font-size:.78rem;padding:0 2px}.sim-input{width:60px;font-size:.78rem;padding:2px 4px}.scoring-modal{max-width:100%;max-height:90vh}}.admin-stats{max-width:900px;margin:0 auto}.admin-stats h2{font-size:1.5rem;font-weight:700;margin-bottom:20px}.admin-stats h3{font-size:1rem;font-weight:600;margin-bottom:12px;color:var(--text-secondary)}.stats-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:24px}.stats-card{background:var(--card-bg);border-radius:12px;padding:16px;text-align:center;border:1px solid var(--border)}.stats-card-value{font-size:1.6rem;font-weight:700;color:var(--accent)}.stats-card-label{font-size:.78rem;color:var(--text-secondary);margin-top:4px}.stats-tabs{display:flex;gap:4px;margin-bottom:20px;background:var(--bg-tertiary);border-radius:10px;padding:3px}.stats-tab{flex:1;padding:8px 16px;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);font-weight:500;cursor:pointer;font-size:.85rem;transition:all .15s}.stats-tab.active{background:var(--card-bg);color:var(--text-primary);box-shadow:0 1px 3px #0000001a}.stats-table-wrap{overflow-x:auto}.stats-table{width:100%;border-collapse:collapse;font-size:.85rem}.stats-table th{text-align:left;padding:8px 10px;font-weight:600;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border)}.stats-table td{padding:8px 10px;border-bottom:1px solid var(--border)}.stats-table tbody tr:nth-child(2n) td{background:var(--bg-hover)}.stats-date{font-weight:500;white-space:nowrap}.stats-num{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.stats-bar-cell{width:80px;padding-left:4px!important;padding-right:4px!important}.stats-bar-bg{width:100%;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.stats-bar-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s;min-width:2px}.stats-top-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.stats-ranking{background:var(--card-bg);border-radius:12px;border:1px solid var(--border);overflow:hidden}.stats-rank-item{display:grid;grid-template-columns:28px 1fr auto 60px;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);font-size:.85rem}.stats-rank-item:last-child{border-bottom:none}.stats-rank-pos{font-weight:700;color:var(--text-secondary);text-align:center;font-size:.8rem}.stats-rank-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-rank-count{font-weight:600;color:var(--accent);text-align:right;font-size:.8rem}.activity-badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:.75rem;font-weight:600;white-space:nowrap}.badge-search{background:#dbeafe;color:#1d4ed8}.badge-profile{background:#d1fae5;color:#065f46}.badge-install{background:#fef3c7;color:#92400e}.activity-data{font-weight:500;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 768px){.stats-summary{grid-template-columns:repeat(2,1fr)}.stats-card-value{font-size:1.2rem}.stats-top-grid{grid-template-columns:1fr}.stats-bar-cell{width:50px}.stats-table{font-size:.78rem}.activity-data{max-width:120px}}.auth-page{display:flex;justify-content:center;align-items:center;min-height:60vh}.auth-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;width:100%;max-width:400px}.auth-card h2{text-align:center;margin-bottom:1.5rem;color:var(--text)}.auth-card form{display:flex;flex-direction:column;gap:.75rem}.auth-card input{padding:.6rem .8rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-primary);color:var(--text);font-size:.95rem}.auth-card input:focus{outline:none;border-color:var(--accent)}.auth-error{color:#ef4444;font-size:.85rem;text-align:center}.auth-link{text-align:center;margin-top:1rem;font-size:.85rem;color:var(--text-secondary)}.auth-link a{color:var(--accent);text-decoration:none}.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:var(--radius);padding:.6rem 1.2rem;font-size:.9rem;cursor:pointer;font-weight:500;text-decoration:none;display:inline-block;text-align:center}.btn-primary:hover{opacity:.9}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:.3rem .7rem;font-size:.8rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-primary);color:var(--text);cursor:pointer}.btn-success{background:var(--success);color:#fff;border-color:var(--success)}.btn-warning{background:var(--warning);color:#000;border-color:var(--warning)}.btn-danger{background:#ef4444;color:#fff;border-color:#ef4444}.btn-athlelive{background:#6366f1;color:#fff;border-color:#6366f1}.btn-athlelive:hover{background:#4f46e5}.btn-athlelive:disabled{opacity:.6;cursor:not-allowed}.sync-msg{font-size:.78rem;color:var(--accent)}.hero-section{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem 2.5rem;margin-bottom:1.5rem;position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;top:-50%;right:-20%;width:400px;height:400px;background:radial-gradient(circle,rgba(37,99,235,.08) 0%,transparent 70%);border-radius:50%;pointer-events:none}.hero-content{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.5rem}.hero-logo img{width:80px;height:80px;border-radius:16px;box-shadow:0 4px 12px #00000026}.hero-text h1{margin:0;font-size:2rem;color:var(--text)}.hero-accent{color:var(--accent)}.hero-subtitle{margin:.25rem 0 .5rem;font-size:1rem;color:var(--accent);font-weight:500}.hero-desc{margin:0;font-size:.9rem;color:var(--text-secondary);line-height:1.5;max-width:500px}.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap}.btn-lg{padding:.75rem 1.5rem;font-size:1rem}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text);padding:.75rem 1.5rem;border-radius:var(--radius);cursor:pointer;font-size:.9rem;transition:border-color .2s,color .2s}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.tutorial-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem 2rem;margin-bottom:1.5rem}.tutorial-title{margin:0 0 1.2rem;font-size:1.1rem;color:var(--text)}.tutorial-steps{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.tutorial-step{display:flex;gap:.8rem;align-items:flex-start;padding:.8rem;background:var(--bg-primary);border-radius:var(--radius);border:1px solid var(--border)}.step-number{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;border-radius:50%;font-weight:700;font-size:.85rem}.tutorial-step h4{margin:0 0 .25rem;font-size:.9rem;color:var(--text)}.tutorial-step p{margin:0;font-size:.8rem;color:var(--text-secondary);line-height:1.4}.sites-bar{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.site-link{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);text-decoration:none;font-size:.85rem;font-weight:500;transition:border-color .2s,color .2s}.site-link:hover{border-color:var(--accent);color:var(--accent)}.site-link svg{opacity:.7}.dashboard-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border);display:flex;justify-content:center}.btn-install{display:inline-flex;align-items:center;gap:.5rem;background:var(--bg-secondary);border:1px solid var(--accent);color:var(--accent);padding:.6rem 1.2rem;border-radius:var(--radius);cursor:pointer;font-size:.9rem;font-weight:500;transition:background .2s,color .2s}.btn-install:hover{background:var(--accent);color:#fff}.btn-install:disabled{opacity:.4;cursor:not-allowed}.btn-install:disabled:hover{background:var(--bg-secondary);color:var(--accent)}.install-done{font-size:.85rem;color:var(--success);font-weight:500}.install-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.install-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:2rem;max-width:420px;width:100%;text-align:center;position:relative;box-shadow:0 20px 60px #0000004d;animation:installModalIn .25s ease-out}@keyframes installModalIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.install-modal-close{position:absolute;top:12px;right:14px;background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;line-height:1}.install-modal-close:hover{color:var(--text)}.install-modal-icon img{width:80px;height:80px;border-radius:16px;box-shadow:0 4px 16px #00000026;margin-bottom:1rem}.install-modal h2{margin:0 0 .5rem;font-size:1.3rem;color:var(--text)}.install-modal-desc{margin:0 0 1.2rem;font-size:.88rem;color:var(--text-secondary);line-height:1.5}.install-features{list-style:none;padding:0;margin:0 0 1.5rem;text-align:left}.install-features li{display:flex;align-items:center;gap:.6rem;padding:.4rem 0;font-size:.85rem;color:var(--text)}.install-modal-actions{display:flex;gap:.75rem;justify-content:center}.install-modal-actions .btn-primary{display:inline-flex;align-items:center;gap:.4rem}.install-modal-actions .btn-outline{padding:.75rem 1.5rem}.btn-sm-create{font-size:.8rem;padding:.4rem .8rem}.sec-footer{text-align:center;padding:1.5rem 1rem;color:var(--text-secondary);font-size:.8rem;border-top:1px solid var(--border);margin-top:2rem}.sec-footer a,.footer-link-btn{color:var(--accent);text-decoration:none;background:none;border:none;cursor:pointer;font-size:.8rem;padding:0}.sec-footer a:hover,.footer-link-btn:hover{text-decoration:underline}.footer-links{margin-bottom:.5rem}.footer-sep{margin:0 .4rem;color:var(--text-secondary);opacity:.4}.sec-footer p{margin:0}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--bg-secondary);border-top:1px solid var(--border);padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;z-index:9998;box-shadow:0 -4px 20px #00000026;flex-wrap:wrap}.cookie-banner-text{display:flex;align-items:flex-start;gap:.6rem;font-size:.82rem;color:var(--text);line-height:1.4;flex:1;min-width:200px}.cookie-banner-text svg{flex-shrink:0;margin-top:1px;opacity:.6}.cookie-banner-actions{display:flex;gap:.5rem;flex-shrink:0}.cookie-btn-accept{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:.45rem 1rem;font-size:.82rem;font-weight:500;cursor:pointer}.cookie-btn-accept:hover{opacity:.9}.cookie-btn-info{background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;padding:.45rem 1rem;font-size:.82rem;cursor:pointer}.cookie-btn-info:hover{border-color:var(--accent);color:var(--accent)}.privacy-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.privacy-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:2rem;max-width:560px;width:100%;max-height:80vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px #0000004d;animation:privacyIn .25s ease-out}@keyframes privacyIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.privacy-close{position:absolute;top:12px;right:14px;background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;line-height:1}.privacy-close:hover{color:var(--text)}.privacy-modal h2{margin:0 0 1rem;font-size:1.2rem;color:var(--text)}.privacy-content h3{font-size:.95rem;color:var(--text);margin:1rem 0 .4rem}.privacy-content p{font-size:.85rem;color:var(--text-secondary);line-height:1.5;margin:0 0 .5rem}.privacy-content ul{margin:.3rem 0 .8rem 1.2rem;padding:0}.privacy-content li{font-size:.85rem;color:var(--text-secondary);line-height:1.5;margin-bottom:.3rem}.guest-cta{text-align:center;padding:2.5rem 1.5rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg)}.guest-cta h3{margin:0 0 .5rem;font-size:1.1rem;color:var(--text)}.guest-cta p{margin:0 0 1.2rem;font-size:.9rem;color:var(--text-secondary)}.guest-cta-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.contact-form{display:flex;flex-direction:column;gap:.8rem;text-align:left}.contact-form label{font-size:.85rem;color:var(--text-secondary);display:flex;flex-direction:column;gap:.3rem}.contact-form input,.contact-form textarea{padding:.5rem .7rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);color:var(--text);font-size:.88rem;font-family:inherit}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--accent)}.contact-form textarea{min-height:120px;resize:vertical}.contact-form .btn-primary{align-self:flex-end}.contact-success{text-align:center;color:var(--success);font-size:.9rem;padding:1rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.empty-state{text-align:center;padding:3rem;color:var(--text-secondary)}.comp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.comp-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.2rem;cursor:pointer;transition:border-color .2s;position:relative}.comp-card:hover{border-color:var(--accent)}.comp-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.comp-card-header h3{margin:0;font-size:1.05rem}.comp-status{font-size:.78rem;font-weight:600}.comp-card-info{font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem}.comp-card-meta{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-secondary)}.comp-event-type{font-size:.75rem;background:var(--bg-primary);padding:2px 6px;border-radius:4px}.comp-delete-btn{position:absolute;top:8px;right:8px;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1rem;opacity:0;transition:opacity .2s}.comp-card:hover .comp-delete-btn{opacity:1}.comp-delete-btn:hover{color:#ef4444}.comp-header-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.2rem 1.5rem;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.comp-header-card h2{margin:0 0 .3rem}.comp-subtitle{color:var(--accent);font-size:.9rem;margin:0 0 .25rem}.comp-meta{color:var(--text-secondary);font-size:.85rem;margin:0}.comp-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.status-badge{font-size:.78rem;font-weight:600;padding:2px 8px;border-radius:4px}.status-draft{color:var(--text-secondary);background:var(--bg-primary)}.status-live{color:#fff;background:var(--success)}.status-finished{color:#fff;background:var(--accent)}.comp-tabs{display:flex;gap:0;margin-bottom:1rem;border-bottom:2px solid var(--border)}.comp-tab{padding:.6rem 1.2rem;border:none;background:none;color:var(--text-secondary);cursor:pointer;font-size:.9rem;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s}.comp-tab:hover{color:var(--text)}.comp-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:500}.create-form{max-width:600px;display:flex;flex-direction:column;gap:1rem}.create-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem;color:var(--text-secondary)}.create-form input,.create-form select{padding:.6rem .8rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);color:var(--text);font-size:.95rem}.create-form input:focus,.create-form select:focus{outline:none;border-color:var(--accent)}.selected-event-preview{background:var(--bg-secondary);border:1px solid var(--accent);border-radius:var(--radius);padding:1rem}.selected-event-preview h4{margin:0 0 .5rem;color:var(--accent)}.discipline-tags{display:flex;flex-wrap:wrap;gap:.4rem}.disc-tag{font-size:.78rem;padding:2px 8px;border-radius:4px;background:var(--bg-primary);color:var(--text)}.disc-sprint{border-left:3px solid #ef4444}.disc-middle{border-left:3px solid #f59e0b}.disc-jump{border-left:3px solid #22c55e}.disc-throw{border-left:3px solid #3b82f6}.athlelive-import-section{max-width:600px;margin-bottom:1.5rem}.athlelive-import-section h3{font-size:1rem;margin:0 0 .3rem;color:var(--text)}.athlelive-import-section .hint{font-size:.82rem;color:var(--text-secondary);margin:0 0 .8rem}.athlelive-url-row{display:flex;gap:.5rem}.athlelive-url-row input{flex:1;padding:.6rem .8rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);color:var(--text);font-size:.9rem}.athlelive-url-row input:focus{outline:none;border-color:var(--accent)}.btn-icon{display:flex;align-items:center;justify-content:center;padding:.5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:border-color .2s,color .2s}.btn-icon:hover{border-color:var(--accent);color:var(--accent)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-content{background:var(--bg-primary);border-radius:.75rem;box-shadow:0 20px 60px #0000004d;width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;border-bottom:1px solid var(--border)}.modal-header h3{margin:0;font-size:1rem}.modal-close{background:none;border:none;font-size:1.2rem;color:var(--text-secondary);cursor:pointer;padding:.2rem .5rem}.modal-close:hover{color:var(--text)}.browser-search{margin:.8rem 1rem;padding:.6rem .8rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);color:var(--text);font-size:.9rem}.browser-search:focus{outline:none;border-color:var(--accent)}.browser-list{flex:1;overflow-y:auto;padding:0 1rem 1rem}.browser-loading,.browser-empty{text-align:center;padding:2rem;color:var(--text-secondary);font-size:.9rem}.browser-item{padding:.7rem .8rem;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.4rem;cursor:pointer;transition:border-color .2s,background .2s}.browser-item:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--bg-primary))}.browser-item-name{font-weight:600;font-size:.9rem;color:var(--text)}.browser-item-meta{display:flex;gap:.8rem;font-size:.78rem;color:var(--text-secondary);margin-top:.2rem}.athlete-link{cursor:pointer;color:var(--accent);transition:opacity .2s}.athlete-link:hover{opacity:.7;text-decoration:underline}.athlete-modal{max-width:650px;max-height:85vh}.athlete-modal-body{display:flex;flex-direction:column;overflow:hidden}.athlete-info-bar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.6rem 1rem;font-size:.82rem;color:var(--text-secondary);border-bottom:1px solid var(--border)}.athlete-info-bar span{background:var(--bg-secondary);padding:.15rem .5rem;border-radius:4px}.ta-link{color:var(--accent);font-weight:600;text-decoration:none;padding:.15rem .5rem;border:1px solid var(--accent);border-radius:4px}.ta-link:hover{background:var(--accent);color:#fff}.athlete-modal-tabs{display:flex;gap:0;border-bottom:1px solid var(--border)}.athlete-modal-tabs button{flex:1;padding:.5rem;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);cursor:pointer;font-size:.85rem;transition:all .2s}.athlete-modal-tabs button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.athlete-modal-content{flex:1;overflow-y:auto;padding:.8rem 1rem;max-height:50vh}.mini-table{font-size:.82rem}.mini-table th{font-size:.75rem}.mini-table td{padding:.3rem .5rem}.perf-event-group{margin-bottom:1rem}.perf-event-group h4{margin:0 0 .3rem;font-size:.88rem;color:var(--accent)}.perf-event-group h4 small{color:var(--text-secondary);font-weight:400}.more-perfs{color:var(--text-secondary);font-size:.78rem}.btn-secondary{padding:.6rem 1.2rem;border:1px solid var(--accent);border-radius:var(--radius);background:transparent;color:var(--accent);cursor:pointer;font-size:.9rem;white-space:nowrap;transition:background .2s}.btn-secondary:hover{background:var(--accent);color:#fff}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.athlelive-preview{margin-top:1rem;border:1px solid var(--accent);border-radius:var(--radius);padding:1rem;background:var(--bg-secondary)}.preview-header strong{display:block;font-size:1rem;color:var(--text)}.preview-header .preview-meta{font-size:.82rem;color:var(--text-secondary)}.preview-warn{color:var(--text-secondary);font-size:.85rem;font-style:italic}.athlelive-preview h4{margin:1rem 0 .5rem;font-size:.95rem;color:var(--text)}.preview-events{display:flex;flex-direction:column;gap:.5rem}.preview-event-card{display:flex;align-items:flex-start;gap:.7rem;padding:.8rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-primary);cursor:pointer;transition:border-color .2s}.preview-event-card.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg-primary))}.preview-event-card input[type=checkbox]{margin-top:3px;accent-color:var(--accent)}.preview-event-info{display:flex;flex-direction:column;gap:.2rem}.preview-event-info strong{font-size:.9rem;color:var(--text)}.preview-event-info .category-label{font-size:.78rem;color:#f59e0b;font-weight:600}.preview-event-info .subtitle{font-size:.8rem;color:var(--text-secondary)}.preview-event-info .athlete-count{font-size:.8rem;color:var(--accent);font-weight:500}.divider-or{max-width:600px;display:flex;align-items:center;gap:1rem;margin:1.5rem 0;color:var(--text-secondary);font-size:.85rem}.divider-or:before,.divider-or:after{content:"";flex:1;height:1px;background:var(--border)}.data-table{width:100%;border-collapse:collapse;font-size:.85rem}.data-table th,.data-table td{padding:.5rem .6rem;text-align:left;border-bottom:1px solid var(--border)}.data-table th{font-weight:600;color:var(--text-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.3px}.data-table tbody tr:hover{background:var(--bg-primary)}.search-bar{display:flex;gap:.5rem;margin-bottom:1rem}.search-bar input{flex:1;padding:.5rem .8rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);color:var(--text);font-size:.9rem}.search-results{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.5rem;max-height:300px;overflow-y:auto}.search-result-item{display:flex;justify-content:space-between;align-items:center;padding:.6rem .8rem;border-bottom:1px solid var(--border)}.search-result-item:last-child{border-bottom:none}.result-club{color:var(--text-secondary);font-size:.85rem}.result-cat{color:var(--accent);font-size:.8rem}.text-secondary{color:var(--text-secondary)}.precomp-table-wrap,.leaderboard-table-wrap{overflow-x:auto}.precomp-table th,.precomp-table td{text-align:center;font-size:.78rem;padding:.4rem}.precomp-table th:nth-child(2),.precomp-table td:nth-child(2){text-align:left}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sortable-th:hover{color:var(--accent)}.sub-header th{font-size:.7rem;color:var(--text-secondary);font-weight:400}.perf-cell small{color:var(--accent);font-weight:500}.total-cell{font-size:.9rem}.total-badge{display:inline-block;background:var(--accent);color:#fff;font-weight:700;font-size:.85rem;padding:.2rem .5rem;border-radius:.4rem;min-width:2.5rem;text-align:center}.rank-cell{font-weight:700;color:var(--accent)}.progress-container{max-width:400px;margin:2rem auto;text-align:center}.progress-bar-wrap{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);height:24px;overflow:hidden;margin:.5rem 0}.progress-bar-fill{height:100%;background:var(--accent);transition:width .3s ease;border-radius:var(--radius)}.progress-text{font-size:.85rem;color:var(--text-secondary);margin-top:.3rem}.progress-pct{font-size:1.1rem;font-weight:600;color:var(--accent)}.disc-selector{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.disc-btn{padding:.4rem .8rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);color:var(--text);cursor:pointer;font-size:.82rem}.disc-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.disc-btn.done{border-color:var(--success);color:var(--success)}.disc-btn.done.active{background:var(--success);color:#fff}.disc-type-tag{font-size:.7rem;padding:1px 6px;border-radius:3px;background:var(--bg-primary);color:var(--text-secondary);vertical-align:middle}.live-input{width:100%;max-width:120px;padding:.4rem .6rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-primary);color:var(--text);font-size:.9rem;text-align:center}.live-input:focus{border-color:var(--accent);outline:none}.points-cell{font-weight:600;color:var(--accent);text-align:center}.diff-cell{text-align:center;font-weight:600;font-size:.85rem}.diff-pos{color:#22c55e}.diff-neg{color:#ef4444}.est-sb{color:#3b82f6;font-weight:500!important}.est-pb{color:#8b5cf6;font-weight:500!important}.save-btn{margin-top:1rem;width:100%}.live-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.live-header h3{margin:0}.btn-ocr{background:var(--accent);color:#fff;padding:.4rem 1rem;border-radius:var(--radius);cursor:pointer;font-size:.85rem;white-space:nowrap}.btn-ocr:hover{opacity:.9}.ocr-status{padding:.5rem .75rem;border-radius:var(--radius);font-size:.82rem;margin-bottom:.75rem}.ocr-success{background:rgba(34,197,94,.15);color:#22c55e;border:1px solid rgba(34,197,94,.3)}.ocr-error{background:rgba(239,68,68,.15);color:#ef4444;border:1px solid rgba(239,68,68,.3)}.ocr-unmatched{opacity:.7;font-size:.78rem}.leaderboard-table th,.leaderboard-table td{text-align:center;font-size:.8rem;padding:.5rem}.leaderboard-table th:nth-child(2),.leaderboard-table td:nth-child(2){text-align:left}.disc-cell small{display:block;color:var(--text-secondary);font-size:.72rem}.no-result{color:var(--text-secondary);opacity:.5}.rank-1 td:first-child{color:var(--gold, #FFD700)}.rank-2 td:first-child{color:var(--silver, #C0C0C0)}.rank-3 td:first-child{color:var(--bronze, #CD7F32)}.header-actions{display:flex;align-items:center;gap:.6rem}.header-user{font-size:.85rem;color:var(--text-secondary);font-weight:500}.header-btn{background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);padding:.3rem .7rem;font-size:.8rem;cursor:pointer;transition:color .2s,border-color .2s}.header-btn:hover{color:var(--accent);border-color:var(--accent)}.public-live{max-width:1100px;margin:0 auto}.import-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem;margin-bottom:1rem}.paste-zone{position:relative;border:2px dashed var(--border);border-radius:var(--radius);padding:1.2rem;margin-bottom:.8rem;text-align:center;cursor:pointer;transition:border-color .2s,background .2s}.paste-zone:hover,.paste-zone:focus{border-color:var(--accent);background:rgba(59,130,246,.05);outline:none}.paste-zone-content{display:flex;flex-direction:column;align-items:center;gap:.3rem;font-size:.9rem;color:var(--text-secondary);pointer-events:none}.import-options{display:flex;gap:.8rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.import-results{margin-top:.5rem}.import-results h4{color:var(--text)}.import-row{display:flex;gap:.8rem;align-items:flex-start;padding:.5rem 0;border-bottom:1px solid var(--border)}.import-row:last-child{border-bottom:none}.import-input-name{min-width:200px;font-weight:600;font-size:.85rem;padding-top:.2rem;color:var(--text)}.import-matches{display:flex;flex-wrap:wrap;gap:.4rem;flex:1}.import-match{display:flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.82rem;cursor:pointer;background:var(--bg-primary);transition:border-color .2s}.import-match:hover{border-color:var(--accent)}.import-match.selected{border-color:var(--success);background:rgba(34,197,94,.1)}.import-match input[type=radio]{margin:0;accent-color:var(--success)}.import-match small{color:var(--text-secondary)}@media (max-width: 768px){.comp-header-card{flex-direction:column;padding:.6rem .8rem;margin-bottom:.5rem;gap:.4rem}.comp-header-card h2{font-size:1rem;margin:0}.comp-meta{font-size:.75rem}.comp-event-type{font-size:.7rem!important;padding:1px 5px!important}.comp-actions{justify-content:flex-start;gap:.3rem}.comp-actions .btn-sm{font-size:.7rem;padding:.2rem .5rem}.comp-tabs{overflow-x:auto;flex-wrap:nowrap;gap:0;margin-bottom:.5rem}.comp-tab{font-size:.72rem;padding:.4rem .5rem;white-space:nowrap;flex-shrink:0}.data-table th,.data-table td{font-size:.68rem;padding:.2rem .3rem;white-space:nowrap}.data-table{font-size:.68rem}.leaderboard-table th,.leaderboard-table td{font-size:.62rem;padding:.15rem .2rem}.athlete-name-cell{white-space:nowrap}.athlete-name-cell small{display:block;font-size:.58rem;color:var(--text-secondary)}.disc-cell small{font-size:.58rem}.total-cell{font-size:.68rem}.total-badge{font-size:.62rem;padding:.12rem .3rem;min-width:1.8rem}.rank-cell{font-size:.68rem;padding:.15rem!important}.lb-title{display:none}.live-table th,.live-table td{font-size:.72rem;padding:.25rem .3rem}.live-input{font-size:.75rem!important;padding:.25rem .4rem!important;width:70px!important;min-width:60px!important}.points-cell{font-size:.72rem}.diff-cell{font-size:.68rem}.precomp-table-wrap{overflow-x:auto}.precomp-table th,.precomp-table td{font-size:.62rem;padding:.15rem .2rem}.disc-selector{gap:.2rem;margin-bottom:.5rem}.disc-btn{font-size:.68rem;padding:.25rem .5rem}.event-heading{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-section{padding:1.2rem 1rem;margin-bottom:1rem}.hero-content{flex-direction:column;text-align:center;gap:.8rem;margin-bottom:1rem}.hero-logo img{width:56px;height:56px;border-radius:12px}.hero-text h1{font-size:1.4rem}.hero-subtitle{font-size:.85rem}.hero-desc{font-size:.8rem}.hero-actions{justify-content:center}.btn-lg{padding:.6rem 1rem;font-size:.85rem}.btn-outline{padding:.6rem 1rem;font-size:.8rem}.tutorial-section{padding:1rem;margin-bottom:1rem}.tutorial-steps{grid-template-columns:1fr;gap:.6rem}.tutorial-step{padding:.6rem}.step-number{width:26px;height:26px;font-size:.75rem}.tutorial-step h4{font-size:.82rem}.tutorial-step p{font-size:.75rem}.sites-bar{margin-bottom:1rem}.site-link{padding:.4rem .7rem;font-size:.78rem}.dashboard-footer{margin-top:1.5rem;padding-top:1rem}.btn-install{font-size:.8rem;padding:.5rem 1rem}.dashboard-header{flex-direction:column;gap:.5rem;align-items:flex-start}.dashboard-header h2{font-size:1.1rem;margin:0}.comp-grid{grid-template-columns:1fr;gap:.5rem}.comp-card{padding:.7rem .8rem}.comp-card-header{margin-bottom:.2rem}.comp-card-header h3{font-size:.9rem;padding-right:1.2rem}.comp-card-info{font-size:.78rem;margin-bottom:.3rem}.comp-card-meta{font-size:.72rem}.comp-event-type{font-size:.68rem!important}.comp-delete-btn{opacity:1!important;font-size:.85rem;top:6px;right:6px}.search-bar{flex-direction:column}.import-section{padding:.6rem}.paste-zone{padding:.8rem}.import-options{flex-direction:column;align-items:stretch}.import-results>div:first-child{flex-direction:column;gap:.5rem}.import-row{flex-direction:column;gap:.3rem}.import-input-name{min-width:0;font-size:.9rem}.import-matches{flex-direction:column}.import-match{font-size:.78rem;padding:.3rem .5rem;overflow:hidden}.import-match small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.header-actions{gap:.4rem}.header-user{display:none}.header-btn{font-size:.72rem;padding:.2rem .5rem}.live-header{flex-direction:column;align-items:flex-start;gap:.3rem}.live-header h3{font-size:.9rem}}
