*{box-sizing:border-box}body{color:#172033;background:#f3f5f8;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.app{min-height:100vh;padding-bottom:74px}.topbar{color:#fff;background:linear-gradient(135deg,#111827,#1d4ed8);border-bottom-right-radius:28px;border-bottom-left-radius:28px;padding:24px 18px 28px}.topbar h1{margin:0;font-size:1.55rem}.topbar p{opacity:.85;margin:4px 0 0;font-size:.9rem}.content{width:min(100%,980px);margin:0 auto}.page{padding:18px}.hero-card{background:#fff;border-radius:24px;margin-top:-34px;padding:22px;box-shadow:0 12px 30px #0f172a1f}.eyebrow{color:#1d4ed8;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:.75rem;font-weight:700;display:inline-flex}.hero-card h2{margin:0;font-size:1.45rem}.hero-card p{color:#64748b;margin:8px 0 0;line-height:1.5}.grid-cards{gap:14px;margin-top:18px;display:grid}.menu-card,.data-card,.result-card,.stat-card{background:#fff;border-radius:22px;padding:18px;box-shadow:0 8px 20px #0f172a14}.menu-card h3,.data-card h3,.result-card h3{margin:0 0 6px;font-size:1.05rem}.menu-card p,.data-card p,.result-card p{color:#64748b;margin:0;font-size:.9rem}.page-title{margin-bottom:16px}.page-title h2{margin:0;font-size:1.35rem}.page-title p{color:#64748b;margin:4px 0 0;font-size:.9rem}.card-list{gap:14px;display:grid}.tags{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.tags span,.race-list span,.result-info span{color:#1d4ed8;background:#eef2ff;border-radius:999px;padding:6px 9px;font-size:.76rem;font-weight:600}.race-list{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.result-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.result-header strong{color:#166534;text-align:center;background:#dcfce7;border-radius:14px;min-width:44px;padding:8px 10px}.result-info{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.time-box{background:#f8fafc;border-radius:18px;margin-top:14px;padding:14px}.time-box small{color:#64748b;font-size:.75rem;display:block}.time-box strong{margin-top:4px;font-size:1.35rem;display:block}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.stat-card small{color:#64748b;font-size:.8rem;display:block}.stat-card strong{margin-top:6px;font-size:1.9rem;display:block}.muted{color:#64748b}.bottom-nav{background:#111827;border-radius:22px;grid-template-columns:repeat(6,1fr);gap:4px;width:calc(100% - 28px);max-width:560px;padding:8px;display:grid;position:fixed;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 14px 30px #0f172a47}.bottom-nav a{color:#cbd5e1;text-align:center;border-radius:16px;padding:10px 4px;font-size:.72rem}.bottom-nav a.active{color:#111827;background:#fff;font-weight:700}@media (width>=720px){.grid-cards,.card-list{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(4,1fr)}.topbar{padding-left:32px;padding-right:32px}.page{padding:24px}}.import-card,.summary-card{background:#fff;border-radius:22px;padding:18px;box-shadow:0 8px 20px #0f172a14}.import-card{gap:14px;display:grid}.file-input{gap:8px;font-weight:700;display:grid}.file-input input{background:#f8fafc;border:1px solid #dbe3ef;border-radius:14px;width:100%;padding:12px}.import-card button{color:#fff;cursor:pointer;background:#1d4ed8;border:0;border-radius:16px;padding:13px 16px;font-weight:800}.import-card button:disabled{opacity:.6;cursor:not-allowed}.summary-card{margin-top:16px}.summary-card h3{margin:0 0 14px}.summary-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.summary-grid div{background:#f8fafc;border-radius:16px;padding:12px}.summary-grid small{color:#64748b;font-size:.75rem;display:block}.summary-grid strong{margin-top:4px;font-size:1.4rem;display:block}.error-text{color:#b91c1c;font-weight:700}.error-box{color:#991b1b;background:#fef2f2;border-radius:16px;margin-top:16px;padding:14px}.error-box h4{margin:0 0 8px}.error-box p{margin:6px 0;font-size:.85rem}.login-card{background:#fff;border-radius:24px;padding:22px;box-shadow:0 12px 30px #0f172a1f}.login-card h2{margin:0}.login-card p{color:#64748b;margin:8px 0 18px}.login-card form{gap:14px;display:grid}.login-card label{gap:8px;font-weight:700;display:grid}.login-card input{border:1px solid #dbe3ef;border-radius:14px;width:100%;padding:13px 14px;font-size:1rem}.login-card button{color:#fff;cursor:pointer;background:#1d4ed8;border:0;border-radius:16px;padding:13px 16px;font-weight:800}.login-card button:disabled{opacity:.6}.success-text{color:#15803d;font-weight:700}.logout-card{text-align:left;cursor:pointer;color:inherit;border:0;font-family:inherit}.logout-card h3{color:#b91c1c}.athlete-nav{background:#111827;border-radius:20px;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:16px;padding:8px;display:grid;box-shadow:0 10px 24px #0f172a2e}.athlete-nav a,.athlete-nav button{color:#cbd5e1;text-align:center;cursor:pointer;background:0 0;border:0;border-radius:14px;padding:10px 4px;font-family:inherit;font-size:.72rem}.athlete-nav a.active{color:#111827;background:#fff;font-weight:800}.athlete-nav button{color:#fecaca}.section-card{background:#fff;border-radius:22px;margin-top:16px;padding:18px;box-shadow:0 8px 20px #0f172a14}.section-card h3{margin:0 0 14px}.section-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-title h3{margin:0}.section-title a{color:#1d4ed8;font-size:.85rem;font-weight:800}.best-list{gap:10px;display:grid}.best-item{background:#f8fafc;border-radius:16px;justify-content:space-between;align-items:center;gap:14px;padding:13px;display:flex}.best-item strong{display:block}.best-item p{color:#64748b;margin:4px 0 0;font-size:.82rem}.best-item span{color:#1d4ed8;white-space:nowrap;font-weight:900}.compact-card{box-shadow:none;background:#f8fafc}.filters-card{background:#fff;border-radius:22px;gap:12px;margin-bottom:16px;padding:16px;display:grid;box-shadow:0 8px 20px #0f172a14}.filters-card label{gap:8px;font-weight:800;display:grid}.filters-card select{background:#f8fafc;border:1px solid #dbe3ef;border-radius:14px;width:100%;padding:12px;font-size:1rem}.result-details-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px;display:grid}.result-details-grid div{background:#f8fafc;border-radius:16px;padding:12px}.result-details-grid small{color:#64748b;font-size:.75rem;display:block}.result-details-grid strong{margin-top:4px;font-size:.95rem;display:block}.simple-list{gap:10px;display:grid}.simple-list div{background:#f8fafc;border-radius:16px;justify-content:space-between;align-items:center;padding:13px;display:flex}.simple-list span{color:#334155}.simple-list strong{color:#1d4ed8;font-size:1.1rem}.profile-card{text-align:center;background:#fff;border-radius:24px;padding:22px;box-shadow:0 12px 30px #0f172a1f}.profile-avatar{color:#fff;background:#1d4ed8;border-radius:50%;place-items:center;width:74px;height:74px;margin:0 auto 12px;font-size:2rem;font-weight:900;display:grid}.profile-card h3{margin:0;font-size:1.25rem}.profile-card p{color:#64748b;margin:6px 0 18px}.profile-info{text-align:left;gap:12px;display:grid}.profile-info div{background:#f8fafc;border-radius:16px;padding:13px}.profile-info small{color:#64748b;font-size:.75rem;display:block}.profile-info strong{margin-top:4px;display:block}@media (width>=720px){.filters-card,.profile-info{grid-template-columns:repeat(2,1fr)}.athlete-nav{max-width:720px}}.chart-filter{gap:8px;margin:12px 0 14px;font-weight:800;display:grid}.chart-filter select{background:#f8fafc;border:1px solid #dbe3ef;border-radius:14px;width:100%;padding:12px;font-size:1rem}.chart-box{background:#f8fafc;border-radius:18px;width:100%;height:280px;margin-top:10px;padding:12px 6px 6px}
