:root{color:#31465d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--text-strong:#0b2742;--muted:#5c748d;--surface:#ffffffdb;--border:#0b27421f;--accent:#ce232d;--panel-shadow:0 18px 42px #08253d14;background:linear-gradient(#f4f6f9,#eff3f7 46%,#f8fafc);font-family:Aptos,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(#f3f5f8,#edf2f6 46%,#f8fafc);min-width:320px;min-height:100vh;margin:0}body,button,input,select{font:16px/1.5 Aptos,Segoe UI,sans-serif}button,input,select{outline:none}button:focus-visible,input:focus-visible,select:focus-visible{box-shadow:0 0 0 3px #006cb533}a{color:inherit}#root{min-height:100vh}h1,h2,h3{color:var(--text-strong);letter-spacing:-.02em;margin:0;font-family:Magistral,Aptos Display,Segoe UI,sans-serif}h1{font-size:clamp(2.8rem,6vw,4.9rem);line-height:.94}h2{font-size:clamp(1.7rem,3vw,2.35rem)}code{color:var(--text-strong);background:#09233c14;border-radius:999px;padding:.15rem .45rem;font-family:Cascadia Code,Consolas,monospace;font-size:.88em}.app-shell{width:min(1280px,100% - 32px);margin:0 auto;padding:24px 0 64px}.section-kicker,.hero-card-label{letter-spacing:.14em;text-transform:uppercase;font-size:.82rem;font-weight:700;display:inline-flex}.site-header{background:radial-gradient(circle at 0 0,#00a8e817,#0000 34%),radial-gradient(circle at 100% 0,#d92b251f,#0000 28%),#fff;border:1px solid #0b274214;border-radius:32px;margin-bottom:24px;overflow:hidden;box-shadow:0 22px 48px #08253d14}.brand-bar{background:linear-gradient(#fffffffa,#f9fcfffa);padding:18px 24px;position:relative}.brand-bar:after{content:"";background:linear-gradient(90deg,#0a34610d,#d92b2533,#0a34610d);height:1px;position:absolute;inset:auto 24px 0}.brand-lockup{justify-content:space-between;align-items:center;gap:24px;display:flex}.brand-logo{object-fit:contain;flex:none;width:min(250px,42vw);height:auto;display:block}.header-side{flex:auto;justify-content:flex-end;display:flex}.primary-nav{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe6;border:1px solid #0a346114;border-radius:24px;align-items:center;gap:10px;min-height:0;padding:10px;display:flex;box-shadow:0 18px 34px #08253d14,inset 0 1px #ffffffd1}.primary-nav button,.pagination-row button,.athlete-submit-button,.year-tabs button{cursor:pointer}.primary-nav button{color:#23446b;font:inherit;letter-spacing:.02em;background:0 0;border:1px solid #0000;border-radius:18px;padding:13px 18px;font-family:Magistral,Aptos Display,Segoe UI,sans-serif;font-size:1rem;font-weight:800;transition:background .2s,border-color .2s,box-shadow .2s,color .2s,transform .2s}.primary-nav button.is-active{color:#fff;background:linear-gradient(135deg,#db2b25,#0d8ed0);border-color:#d92b2533;box-shadow:0 12px 24px #0d8ed02e}.primary-nav button:hover{background:#0a34610d;border-color:#0a34611a;transform:translateY(-2px)}.panel{box-shadow:var(--panel-shadow);background:#fff;border-radius:22px;gap:22px;padding:30px;display:grid}.panel-header{justify-content:space-between;align-items:end;gap:20px;display:flex}.panel-header p{max-width:42ch;margin:0}.section-note{color:var(--muted);margin:-8px 0 0}.filters-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.profile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-grid-wide{grid-template-columns:repeat(4,minmax(0,1fr))}.filters-grid label,.athlete-search label{gap:8px;display:grid}.filters-grid span,.athlete-search span,.toggle-row span{color:var(--muted);font-size:.86rem;font-weight:700}.filters-grid select,.athlete-search input,.athlete-submit-button,.pagination-row button,.year-tabs button{border:1px solid var(--border);min-height:50px;font:inherit;border-radius:16px}.filters-grid select,.athlete-search input{color:var(--text-strong);background:#fdfefe;padding:0 14px}.event-filter{grid-column:span 1}.toggle-row{align-items:center;gap:12px;display:inline-flex}.toggle-row input{block-size:18px;inline-size:18px;accent-color:var(--accent)}.summary-banner{color:#fff;background:linear-gradient(90deg,#cc2622,#ee4335);border-radius:20px;flex-wrap:wrap;grid-template-columns:minmax(0,1.6fr) repeat(2,auto);align-items:center;gap:10px 24px;padding:18px 22px;display:grid;box-shadow:0 14px 28px #cc26222e}.summary-banner strong{letter-spacing:-.02em;font-family:Magistral,Aptos Display,Segoe UI,sans-serif;font-size:clamp(1.45rem,2.1vw,2rem);line-height:1.02}.summary-banner span{color:#ffffffeb;font-family:Aptos,Segoe UI,sans-serif;font-size:1rem;font-weight:600}.table-card{background:#fff;border:1px solid #0b274214;border-radius:24px;overflow:hidden;box-shadow:0 18px 40px #0b27420f}table{border-collapse:separate;border-spacing:0;background:#fff;width:100%}thead{background:linear-gradient(#f6f9fc,#eef4fa)}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #0b274214;padding:18px}th{color:var(--text-strong);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;font-family:Magistral,Aptos Display,Segoe UI,sans-serif;font-size:1.02rem;font-weight:800}.sort-button{color:inherit;font:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:inline-flex}.sort-button span{color:#587392;background:#08253d0f;border-radius:999px;justify-content:center;align-items:center;min-width:24px;min-height:24px;font-size:.72rem;display:inline-flex}tbody tr:nth-child(2n){background:#fbfdff}tbody tr:hover{background:#f6fafe}.subtle-line{color:var(--muted);margin-top:6px;font-size:.92rem;display:block}.name-link{color:var(--text-strong);font:inherit;text-align:left;background:0 0;border:0;padding:0;font-weight:800;text-decoration:none}.name-link:hover{color:var(--accent)}.performance-cell{color:var(--text-strong);letter-spacing:-.02em;font-family:Magistral,Aptos Display,Segoe UI,sans-serif;font-size:1.18rem;font-weight:800}.placeholder-cell{color:var(--muted);text-align:center;padding:28px 16px}.pagination-row{justify-content:flex-end;align-items:center;gap:12px;display:flex}.pagination-row button,.athlete-submit-button,.year-tabs button{color:var(--text-strong);background:#fff;padding:0 18px}.pagination-row button:disabled{opacity:.45;cursor:not-allowed}.athlete-search{align-items:end;gap:12px;display:flex}.athlete-search label{min-width:180px}.search-input-wrap{position:relative}.search-dropdown{z-index:20;border:1px solid var(--border);background:#fffffffa;border-radius:18px;gap:6px;max-height:320px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 22px 44px #0b274224}.search-dropdown-item{text-align:left;width:100%;color:var(--text-strong);font:inherit;background:#fff;border:0;border-radius:14px;gap:4px;padding:13px 14px;display:grid;box-shadow:inset 0 0 0 1px #0b27420f}.search-dropdown-item strong{letter-spacing:-.01em;font-size:1rem;line-height:1.25;display:block}.search-dropdown-item span{color:#59728c;font-size:.9rem;line-height:1.35;display:block}.search-dropdown-item:hover{background:#f3f8fd;box-shadow:inset 0 0 0 1px #006cb524}.athlete-submit-button{background:var(--accent);color:#fff;border:0;font-weight:800}.athlete-layout{grid-template-columns:1.8fr .8fr;gap:20px;display:grid}.athlete-card,.stats-card{border:1px solid var(--border);background:linear-gradient(#fffffff5,#f7fafcf5);border-radius:24px;padding:24px}.athlete-card h3{margin:8px 0 20px;font-size:clamp(2rem,3vw,3rem);line-height:.96}.athlete-card h3 span{color:var(--accent)}.athlete-nation{color:var(--accent);background:#ce232d1a;border-radius:999px;padding:8px 12px;font-weight:800;display:inline-flex}.athlete-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0;display:grid}.athlete-card dt{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.84rem}.athlete-card dd{color:var(--text-strong);margin:6px 0 0;font-size:1.08rem;font-weight:700}.stats-card{color:#fff;background:linear-gradient(#09233c,#143e63);align-content:start;gap:16px;display:grid}.stats-card strong{font-size:2rem;line-height:1;display:block}.stats-card span{color:#ffffffb8}.year-tabs{flex-wrap:wrap;gap:10px;display:flex}.year-tabs button{background:#fff;border-radius:999px;min-height:42px}.year-tabs button.is-active{background:var(--text-strong);color:#fff;border-color:#0000}.chart-card{border:1px solid var(--border);background:linear-gradient(#f9fcff,#f1f6fb);border-radius:24px;gap:18px;padding:24px;display:grid}.chart-header{justify-content:space-between;align-items:end;gap:18px;display:flex}.chart-header p{max-width:34ch;margin:0}.chart-top-controls{flex-wrap:wrap;align-items:end;gap:16px 20px;display:flex}.chart-top-controls label,.analysis-controls label{gap:8px;display:grid}.chart-top-controls select,.analysis-controls select{border:1px solid var(--border);min-height:46px;color:var(--text-strong);font:inherit;background:#fff;border-radius:14px;padding:0 14px}.analysis-toggle-row{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.analysis-toggle{min-height:46px;color:var(--text-strong);font:inherit;background:#fff;border:1px solid #0b274229;border-radius:999px;padding:0 18px;font-weight:700;box-shadow:0 12px 28px #0b274214}.analysis-toggle.is-active{color:#fff;background:linear-gradient(135deg,#09233c,#17466f);border-color:#0000}.analysis-note,.analysis-warning{color:var(--muted);margin:0}.analysis-panel{border:1px solid var(--border);background:#ffffffc7;border-radius:20px;gap:18px;padding:20px;display:grid}.analysis-events{gap:10px;display:grid}.analysis-event-list{flex-wrap:wrap;gap:10px;display:flex}.analysis-event-list button{min-height:42px;color:var(--text-strong);font:inherit;background:#fff;border:1px solid #0b274224;border-radius:999px;padding:0 16px;font-weight:700;box-shadow:0 10px 24px #0b27420f}.analysis-event-list button.is-active{background:linear-gradient(135deg, var(--accent), #f06a4f);color:#fff;border-color:#0000}.analysis-controls{flex-wrap:wrap;align-items:end;gap:16px 24px;display:flex}.analysis-controls .toggle-row{border:1px solid var(--border);background:#fff;border-radius:14px;min-height:46px;padding:0 14px}.chart-frame{gap:10px;display:grid}.chart-frame svg{width:100%;height:auto;overflow:visible}.chart-gridline{stroke:#0b27421f;stroke-width:1px}.chart-line{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:#fff;stroke:var(--accent);stroke-width:3px}.chart-scatter-point{fill:#09233ce0}.chart-axis-label,.chart-value-label{fill:var(--text-strong);font-family:Inter,Segoe UI,sans-serif;font-size:12px}.chart-value-label{font-weight:700}.chart-caption,.placeholder-copy{color:var(--muted);margin:0}.badge{border-radius:999px;justify-content:center;align-items:center;min-width:38px;min-height:28px;font-size:.76rem;font-weight:800;display:inline-flex}.badge-stack{flex-wrap:wrap;gap:6px;display:inline-flex}.badge-pb{color:#0a3461;background:#0a34611f}.badge-sb{color:var(--accent);background:#ce232d1f}.error-message{color:#8d1220;background:#ce232d1a;border-radius:16px;margin:0;padding:14px 16px}.info-message{color:#0a3461;background:#006cb51a;border-radius:16px;margin:0;padding:14px 16px}.empty-state-card{background:linear-gradient(#f5f9fdfa,#fffffffa);border:1px solid #0a346114;border-radius:22px;gap:10px;padding:24px;display:grid}.empty-state-card strong{color:var(--text-strong);font-family:Magistral,Aptos Display,Segoe UI,sans-serif;font-size:1.35rem}.empty-state-card p{max-width:68ch;color:var(--muted);margin:0;line-height:1.6}@media (width<=1040px){.athlete-layout,.panel-header,.filters-grid,.profile-grid{grid-template-columns:1fr}.brand-lockup,.panel-header,.athlete-search{align-items:stretch}.brand-lockup{flex-direction:column}.brand-logo{width:min(300px,100%)}.header-side{justify-content:flex-start}.primary-nav{flex-wrap:wrap;justify-content:flex-start}.athlete-search{flex-direction:column}.athlete-search label{min-width:0}.chart-header,.chart-top-controls,.analysis-controls{align-items:stretch}}@media (width<=720px){.app-shell{width:min(100% - 20px,1240px);padding:14px 0 44px}.panel{border-radius:22px;padding:20px}.summary-banner{grid-template-columns:1fr;gap:8px}.brand-bar{padding:16px 18px 14px}.primary-nav{gap:6px;width:100%;padding:8px}.table-card{overflow-x:auto}th,td{min-width:110px}.athlete-card dl{grid-template-columns:1fr}.pagination-row{flex-wrap:wrap;justify-content:space-between}}
