@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}.sites-bar{display:flex;gap:.75rem;justify-content:center;margin-top: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, 8px);color:var(--text-primary);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}.app-footer{text-align:center;padding:1.5rem 1rem;color:var(--text-secondary);font-size:.8rem;border-top:1px solid var(--border);margin-top:2rem}.app-footer a,.footer-link-btn{color:var(--accent);text-decoration:none;background:none;border:none;cursor:pointer;font-size:.8rem;padding:0}.app-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}.app-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-primary);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-primary)}.privacy-modal h2{margin:0 0 1rem;font-size:1.2rem;color:var(--text-primary)}.privacy-content h3{font-size:.95rem;color:var(--text-primary);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}.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-primary);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;background:var(--accent);color:#fff;border:none;border-radius:6px;padding:.5rem 1.2rem;font-size:.88rem;cursor:pointer;font-weight:500}.contact-form .btn-primary:hover{opacity:.9}.contact-form .btn-primary:disabled{opacity:.5;cursor:not-allowed}.contact-success{text-align:center;color:var(--success);font-size:.9rem;padding:1rem}.search-loading{display:flex;align-items:center;gap:10px;justify-content:center;padding:1.2rem;margin-top:1rem;color:var(--text-secondary);font-size:.9rem;background:var(--bg-secondary);border-radius:8px}.search-loading-spinner{width:22px;height:22px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.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}}
