/* Visual shell; the existing comparison, owner and season hooks stay intact. */
:root{--rail-width:248px;--navy:#081d32;--blue:#1867ec;--mint:#51efc1;--text:#122a41;--muted:#6a7b8d;--line:#e3eaf1;--bg:#f4f7fb;--surface:#fff}
body{background:var(--bg);font-size:15px;letter-spacing:-.12px}
button,input,select,textarea{font-family:inherit}button{transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}a{color:var(--blue)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #2583fa;outline-offset:3px}
.skip-link{position:fixed;top:8px;left:calc(var(--rail-width) + 15px);z-index:50;background:var(--navy);color:#fff;padding:12px 18px;border-radius:10px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
.rail{position:fixed;inset:0 auto 0 0;z-index:20;width:var(--rail-width);background:linear-gradient(163deg,#102b44 0%,#081d32 46%,#091e33 100%);color:#fff;padding:31px 24px 24px;border-right:1px solid #ffffff0a;overflow:hidden}
.rail-brand{font-size:27px;color:#fff;gap:10px;letter-spacing:-1.25px;white-space:nowrap}.rail-brand:hover{text-decoration:none}.mark{border:0;width:39px;height:39px;padding:0;color:var(--mint);border-radius:11px;background:#51efc115}.mark svg{width:31px;height:31px}.brand-dot{color:var(--mint);margin-left:-9px}
.rail-description{font-size:12px;line-height:1.8;color:#90a7bd;margin:15px 0 32px 2px;letter-spacing:0}.rail-section{font-size:10px;font-weight:700;letter-spacing:1.8px;color:#6f8aa3;margin:0 0 17px 10px}
.rail-note{position:absolute;bottom:156px;left:25px;right:25px;border:1px solid #31506a;border-radius:15px;padding:20px 17px 72px;overflow:hidden;background:#0e2941}.rail-note-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#51efc117;color:var(--mint);font-size:18px;margin-bottom:14px}.rail-note strong{font:700 14px/1.6 Manrope,system-ui;display:block;max-width:140px}.rail-note p{font-size:12px;color:#8da6bd;margin:8px 0 0;line-height:1.6;max-width:145px}.lane-art{position:absolute;left:14px;right:-35px;bottom:9px;transform:rotate(-19deg)}.lane-art i{display:block;height:9px;border-bottom:1px solid #51efc130;margin:6px 0}.lane-art i:nth-child(2){border-color:#51efc18a}.lane-art i:nth-child(3){border-color:#51efc154}
.rail-profile{position:absolute;left:24px;right:24px;bottom:61px;display:flex;align-items:center;gap:10px;padding-top:20px;border-top:1px solid #2a4055}.profile-avatar{display:grid;place-items:center;flex:0 0 39px;height:39px;font:700 12px Manrope;color:#d5ffef;background:#214841;border:1px solid #3c7163;border-radius:12px;letter-spacing:.5px}.rail-profile strong{font-size:12px;font-weight:600;white-space:nowrap}.rail-profile div>span{display:block;font-size:10px;color:#8ca3ba;margin-top:4px;white-space:nowrap}.profile-chevron{margin-left:auto;color:#8ca3ba;font-size:15px}.rail-footnote{position:absolute;bottom:29px;left:25px;color:#59758d;font-size:8px;font-weight:700;letter-spacing:1.05px;white-space:nowrap}
header{margin-left:var(--rail-width);min-height:77px;padding:18px 38px;background:#fff;color:var(--text);border-bottom:1px solid var(--line);gap:14px;flex-wrap:wrap}.header-breadcrumb{display:flex;align-items:center;gap:13px;font-size:12px}.header-breadcrumb>span:first-child{font-size:10px;letter-spacing:1.1px;font-weight:700;color:#8393a2}.header-breadcrumb strong{font-weight:600}.breadcrumb-slash{color:#c9d2db}
header .profile-link{margin-left:auto!important;display:inline-flex;align-items:center;gap:8px;color:#53687d;font-size:12px;white-space:nowrap;border:1px solid #e1e9f0;border-radius:8px;padding:8px 11px;font-weight:500}.profile-link svg{width:15px;height:15px}header .profile-link:hover{background:#f1f6fb;text-decoration:none}header .header-button{margin-left:0;border:1px solid #dde6ee;background:#f6f9fc;color:#405c76;font-size:12px;border-radius:8px;min-height:35px;padding:7px 12px}header .header-button:hover{background:#eaf3ff;border-color:#b6d0f5}
main.container{max-width:none;width:calc(100% - var(--rail-width));margin:0 0 0 var(--rail-width);padding:32px 38px 58px}.heading{margin:0 0 27px;align-items:center;gap:24px}.heading .eyebrow{font-size:10px;letter-spacing:1.75px;color:#6f8193}h1{font-size:clamp(30px,3vw,40px);line-height:1.25;letter-spacing:-1.7px;margin:7px 0 9px;font-weight:800}.heading-dot{color:#16bc93}.heading-description{font-size:14px;color:#728599;margin:0 0 7px}.heading p{display:inline-flex;gap:6px;font-size:11px;color:#8493a2;margin:0;line-height:1.8}
.snapshot{max-width:292px;border:1px solid #dce7f0;background:#ffffffa6;padding:12px 14px;border-radius:11px;box-shadow:0 3px 12px #142b4602;letter-spacing:0;flex-shrink:0}.snapshot-label{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:1px;font-weight:700;color:#53748a}.snapshot-label svg{width:15px;height:15px;color:#18ad8b}.snapshot span{display:block;max-width:260px;font-size:11px;font-weight:400;color:#8091a1;margin-top:4px;line-height:1.55}
.tabs{position:fixed;left:18px;top:185px;width:calc(var(--rail-width) - 36px);z-index:21;display:flex;flex-direction:column;gap:6px;padding:0;border:0;margin:0;overflow:visible}.tabs button{position:relative;display:flex;align-items:center;gap:13px;min-height:47px;padding:13px 14px;border:1px solid transparent;border-radius:10px;background:transparent;font-size:13px;font-weight:500;color:#93aac0;letter-spacing:0;text-align:left;line-height:1.5;white-space:nowrap}.tabs button:hover{background:#19354e;color:#e4f1ff}.tabs button.active{background:linear-gradient(110deg,#214b53,#193f49);color:#67efcb;border-color:#52eec132;font-weight:700;box-shadow:inset 3px 0 0 #51efc1}
.tabs button::before{content:"";display:block;flex:0 0 19px;width:19px;height:19px;background:currentColor;mask:center/contain no-repeat var(--nav-icon);-webkit-mask:center/contain no-repeat var(--nav-icon)}
.tabs button[data-view="overview"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1.5'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1.5'/%3E%3C/g%3E%3C/svg%3E")}
.tabs button[data-view="progress"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 3v17h17M7 15l5-5 4 3 5-7'/%3E%3C/g%3E%3C/svg%3E")}
.tabs button[data-view="competition"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='9' cy='7' r='3'/%3E%3Cpath d='M3 20v-2a6 6 0 0 1 12 0v2M17 4a3 3 0 0 1 0 6M17 14a5 5 0 0 1 4 5v1'/%3E%3C/g%3E%3C/svg%3E")}
.tabs button[data-view="sources"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M5 3h10l4 4v14H5zM15 3v5h4M8 12h8M8 16h6'/%3E%3C/g%3E%3C/svg%3E")}
.tabs button[data-season-nav]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M7 3v5M17 3v5M3 10h18M8 14h2M14 14h2M8 17h2'/%3E%3C/g%3E%3C/svg%3E")}
.tabs button:not([data-view]):not([data-season-nav]):not([data-lab-nav]){--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4v6h6M20 20v-6h-6M6 18a8 8 0 0 0 14-5M18 6A8 8 0 0 0 4 11'/%3E%3C/g%3E%3C/svg%3E")}
.controls{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 16px #17385803;margin:0 0 23px;padding:18px 19px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 17px;align-items:start}.controls label{display:flex;align-items:flex-start;flex-direction:column;gap:7px;min-width:0;font-size:10px;font-weight:700;letter-spacing:.65px;text-transform:uppercase;color:#778b9e}.controls select{font-size:12px;min-width:0;width:100%;max-width:100%;min-height:40px;border:1px solid #e1e8f0;border-radius:8px;color:#253f57;font-weight:500;background:#f9fbfe;padding:9px 10px;letter-spacing:0;text-transform:none}.controls select:hover{border-color:#bbd0e7;background:#fff}.controls .course-tag{display:none}
.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:23px}.stats article{position:relative;padding:22px 23px;border:1px solid var(--line);border-radius:15px;box-shadow:0 4px 14px #142b4603;min-width:0;overflow:hidden}.stats article::after{content:"";position:absolute;right:-17px;top:-30px;width:107px;height:107px;border:1px solid #b8c7d21c;border-radius:50%;box-shadow:0 0 0 11px #c7d5e911,0 0 0 24px #c7d5e909;pointer-events:none}.stats article:first-child{background:linear-gradient(130deg,#12324d,#081e33);border-color:#12324d}.stats article:first-child::after{border-color:#51efc126;box-shadow:0 0 0 11px #51efc110,0 0 0 24px #51efc106}.stats article>span{position:relative;z-index:1;font-size:9px;font-weight:700;letter-spacing:1.1px;color:#72879b}.stats article:first-child>span{color:#b0c7dc}.stats strong{position:relative;z-index:1;font-size:clamp(24px,2.75vw,35px);letter-spacing:-1.3px;margin:12px 0 8px;line-height:1.15;font-variant-numeric:tabular-nums}.stats strong em{font-size:17px;letter-spacing:-.4px;color:#8c9eaf}.stats article:first-child strong{color:#73f7d1}.stats small{font-size:11px;color:#8494a3;line-height:1.6;display:block}.stats article:first-child small{color:#9bb6cb}
.panel,.season-panel{border:1px solid var(--line);border-radius:15px;padding:25px;background:#fff;margin-bottom:23px;box-shadow:0 5px 24px #142b4603}.panel-heading{gap:16px;margin-bottom:19px;align-items:center}.panel .eyebrow,.season-eyebrow{font-size:9px;letter-spacing:1.65px;font-weight:700;color:#7a8da0}h2{font-size:20px;line-height:1.4;letter-spacing:-.65px;font-weight:800;margin:5px 0}h3{font-size:17px;letter-spacing:-.4px}.overview-grid{grid-template-columns:minmax(0,1.9fr) minmax(287px,1fr);gap:21px;align-items:start}.overview-grid>div{min-width:0}
.chart{min-height:205px;margin-top:9px;max-height:320px}.chart text{font-family:'DM Sans',system-ui;font-size:11px;fill:#8a9cab}.gridline{stroke:#e8edf3;stroke-dasharray:3 5}.best-line{stroke:#18bc94;stroke-width:3.2;stroke-linecap:round;filter:drop-shadow(0 3px 3px #18bc9426)}.race-dot{fill:#3378ed;stroke:#fff;stroke-width:2;opacity:.88;transition:opacity .2s}.chart-key{padding-top:14px;border-top:1px solid #edf2f6;margin-top:15px;gap:10px 17px;font-size:10px;color:#7f93a5}.chart-key i{width:7px;height:7px}.mint-key{background:#18bc94}.blue-key{background:#3378ed}.chart-key span:last-child{margin-left:auto;font-size:9px}.improvement{font-size:10px;padding:7px 9px;font-weight:700;background:#eafaf3;color:#128867;border:1px solid #d6f2e5;border-radius:7px;max-width:164px;line-height:1.6}.muted{font-size:12px;line-height:1.7;color:#7c8fa1}.panel>.muted:last-child{margin-bottom:0}
.target-panel{background:linear-gradient(142deg,#16374f,#092137);border-color:#18374f;color:#fff;padding:25px}.target-panel .eyebrow{color:#69dfc0}.target-panel h2{font-size:24px;line-height:1.35;letter-spacing:-.8px;margin-top:8px;color:#fff}.target-panel .muted,.target-panel p{color:#adc4d7;font-size:12px;line-height:1.7}.target-panel label{color:#c7daeb;font-size:11px;font-weight:500;margin:21px 0 8px}.input-row{gap:7px}.input-row input{font-size:15px;font-weight:700;border-radius:9px;min-height:42px;padding:10px 12px}.primary{font-weight:700;font-size:12px;min-height:41px;border-radius:8px;background:#1867ec;padding:10px 13px;box-shadow:0 3px 8px #1867ec10}.primary:hover{background:#0c55cf;transform:translateY(-1px)}.target-panel .primary{background:var(--mint);color:#082c35;box-shadow:none;font-size:11px;padding:10px 12px}.target-panel .primary:hover{background:#8bffdc}.target-panel .error{color:#ffa9a9;font-size:12px}
.scenario-position{margin-top:21px;background:#ffffff09;border:1px solid #ffffff13;border-left:3px solid #51efc1;border-radius:0 9px 9px 0;padding:12px 14px}.scenario-position span{color:#7cdfc7;font-size:9px;letter-spacing:1.3px}.scenario-position strong{font-size:30px;letter-spacing:-1px;margin-top:4px}.scenario-position em{color:#829fb9;font-size:16px}.target-panel small{color:#819fb7;font-size:10px;line-height:1.8}.target-panel p b{color:#51efc1}.cut-box{border-color:#ffffff17;margin-top:21px;padding-top:18px}.cut-box .eyebrow{color:#829fb7;font-size:8px;letter-spacing:1px}.cut-time{color:#79f0cc;font-size:26px;letter-spacing:-.8px;margin-top:8px}.cut-box p{font-size:11px;margin:6px 0 10px}.cut-box a{color:#9bedda;font-size:10px;display:inline-flex;align-items:center;gap:5px}.cut-box a::after{content:"↗"}
.text-button{font-size:11px;font-weight:700;padding:8px 0;white-space:nowrap}.legend{font-size:11px;color:#8093a5}.table-wrap{border:1px solid #e5edf4;border-radius:10px}table{font-size:12px}th{font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;background:#f7f9fc;padding:13px 12px;color:#7c91a4}td{padding:14px 12px;border-color:#eaf0f5;line-height:1.5}tbody tr:hover{background:#f6faff}.rank-cell{font-size:11px;color:#93a3b3}.name-button{font-size:12px;font-weight:600;color:#244059}.row-meta{font-size:9px;color:#93a3b1;margin-top:4px}.time-cell{font-size:14px;font-weight:800}.time-cell a{color:#244059}.time-cell a:hover{color:#1867ec}.gap-cell{font-size:10px;color:#7990a4}.star{width:27px;height:30px;font-size:21px;color:#a2b5c6;border-radius:7px}.star.saved{color:#e4ac35}.star:hover{background:#e8f1fc}.you-tag{background:#1e64d2;font-size:8px;border-radius:4px;padding:4px 6px;letter-spacing:.5px}.you-row{background:#edf5ff}.you-row td{border-color:#dbe9fc}.you-row .time-cell a{color:#165bcc}
.table-controls{margin:18px 0;gap:12px}.search-label input{font-size:12px;min-height:41px;border-color:#dfe8f1;background:#fbfcfe;border-radius:8px}.segmented{border:1px solid #e0e8f0;padding:3px;background:#f5f8fc;border-radius:9px}.segmented button{font-size:11px;padding:8px 12px}.segmented button.active{box-shadow:0 2px 6px #1738540d;color:#1867ec}.pagination{font-size:11px;margin-top:18px}.pagination button{font-size:11px;border-radius:7px;padding:7px 10px;border-color:#dfe8f1}.pagination button:hover:not(:disabled){background:#f0f6fe}.source-grid{gap:0 21px}.source-top{margin-bottom:13px}.source-card h3{font-size:17px}.source-card p{font-size:12px;color:#667f94}.source-card a{font-size:11px}.status{font-size:10px;border-radius:6px;padding:4px 8px;background:#e7f8f0;color:#12866a}.notice{border-radius:0 10px 10px 0;font-size:12px;line-height:1.8;padding:14px 17px;background:#edf4ff;border-color:#2d79ee;color:#506f91}#app-notice{margin:0 0 22px}.empty{padding:38px 24px}.empty p{font-size:12px;line-height:1.8}.empty h3{font-size:17px}
.loading-panel{padding:55px 25px;text-align:center}.loading-water{display:flex;align-items:center;justify-content:center;gap:5px;margin-bottom:23px}.loading-water i{display:block;width:7px;height:25px;border-radius:5px;background:#24c5a3;animation:water 1s ease-in-out infinite}.loading-water i:nth-child(2){animation-delay:.15s}.loading-water i:nth-child(3){animation-delay:.3s}@keyframes water{0%,100%{transform:scaleY(.45);opacity:.5}50%{transform:scaleY(1);opacity:1}}
dialog,.season-dialog{border:1px solid #dce7f0;border-radius:18px;padding:28px;box-shadow:0 25px 110px #081d3259}dialog::backdrop,.season-dialog::backdrop{background:#081d3280;backdrop-filter:blur(3px)}.close,.season-close{background:#eff4f9;color:#738a9e;border-radius:9px}#owner-dialog h2{font-size:25px}#owner-dialog p{font-size:13px;color:#758b9e}#owner-dialog label{font-size:12px;color:#667c91}#owner-dialog .primary{margin-top:18px}.update-facts{gap:14px}.update-facts div{background:#f6f9fc;border:1px solid #e4edf4;border-radius:11px;padding:17px}.update-facts span{font-size:10px;font-weight:600}.update-facts strong{font-size:13px}.activity-list p,.activity-list li{font-size:12px}.activity-list span{font-size:10px}.import-actions{font-size:12px}.checkbox{font-size:12px}
#season-content{--season-blue:#1867ec;--season-navy:#081d32;--season-mint:#51efc1;--season-line:#e3eaf1;--season-muted:#74889b}.season-header{margin-bottom:24px}.season-header h2{font-size:30px;letter-spacing:-1px}.season-muted{font-size:12px;color:#7c90a2;line-height:1.75}.season-button{border-color:#dce6ef;border-radius:8px;min-height:39px;font-size:12px!important;padding:9px 13px}.season-button.primary{background:#1867ec;border-color:#1867ec}.season-button.light{background:#51efc1;border-color:#51efc1;color:#08332f}.season-button.subtle{color:#47637d;background:#fff}.season-button.subtle:hover{background:#f0f6fc;border-color:#bccfe2}.season-subnav{padding:5px 0 15px;gap:7px}.season-subnav button{font-size:11px;min-height:37px;padding:8px 14px;border-color:#e0e8f1;background:#fff;font-weight:600;color:#738a9f}.season-subnav button.active{background:#123149;border-color:#123149;color:#b1f9e3;box-shadow:0 3px 8px #12314916}
.season-summary{gap:18px;margin-bottom:23px}.season-summary article{border-radius:15px;border-color:#e3eaf1;padding:23px;box-shadow:0 4px 14px #142b4603}.season-summary article:first-child{background:linear-gradient(130deg,#12324d,#081e33);border-color:#12324d}.season-summary article:first-child .season-eyebrow{color:#a7c3d8}.season-summary article:first-child>strong{color:#79f0cc}.season-summary article:first-child p{color:#a5bfd2}.season-summary article>strong{font-size:24px;letter-spacing:-.7px;margin-top:12px}.season-summary p{font-size:12px;line-height:1.8;margin-bottom:18px}.season-home-grid{gap:21px;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr)}.season-panel-heading h2{font-size:20px}.season-card-grid{gap:15px}.season-card{padding:19px;border-radius:12px;border-color:#e3ecf3;background:linear-gradient(145deg,#fff,#f9fcff)}.season-card-title h3{font-size:16px}.season-pill{font-size:10px;border-radius:5px;padding:4px 7px}.season-bigtime{font-size:30px;color:#123c55;margin:14px 0 5px}.season-goal-gap{font-size:12px;color:#1867ec}.season-note{font-size:12px}.season-shortcuts{gap:10px}.season-shortcuts button{border-color:#e5edf3;border-radius:11px;background:#f8fbfe;padding:17px}.season-shortcuts button:hover{background:#edf6ff;border-color:#c4dced}.season-shortcuts strong{font-size:13px}.season-shortcuts span{font-size:11px;color:#7d92a5}
.season-meet-row{background:#f9fcff;border-color:#e3edf4;border-radius:12px;padding:13px}.season-meet-open strong{font-size:14px}.season-meet-open small{font-size:11px}.season-date-badge{background:#eaf4fd;color:#376481;border-radius:9px;font-size:11px;padding:12px}.season-meet-row.selected{background:#f0f7ff;border-color:#8fb9f0}.season-table-wrap{border-color:#e3ecf4;border-radius:11px}.season-table-wrap th{font-size:9px;letter-spacing:1px;background:#f7f9fc;color:#7c91a4}.season-table-wrap td{font-size:12px;border-color:#eaf0f5}.season-table-wrap small{font-size:10px;color:#8c9faf}.season-table-wrap .season-note{font-size:11px}.season-time-cell{font-size:16px!important;color:#274b65}.season-splits{font-size:12px}.season-table-wrap .season-button{font-size:10px!important;min-height:32px;padding:7px 9px}.season-practice-totals>span{border-color:#e3edf5;background:#f8fbfe;border-radius:12px;font-size:11px;padding:18px}.season-practice-totals strong{font-size:25px;letter-spacing:-.8px;color:#25465f}.season-practice-totals>span:first-child{background:#eaf9f3;border-color:#d6f1e6}.season-practice-totals>span:first-child strong{color:#19866a}.season-rpe{background:#edf5ff;color:#2470d2;font-size:12px;min-width:30px;min-height:30px}.season-empty h3{font-size:17px}.season-empty p{font-size:12px;line-height:1.8}.season-dialog h2{font-size:24px}.season-dialog label,.season-pace-form label{font-size:11px;color:#5f7990}.season-dialog input,.season-dialog select,.season-dialog textarea,.season-pace-form input,.season-pace-form select{border-color:#dde7f0;font-size:13px;border-radius:9px;background:#fbfdff}.season-dialog-footer{border-color:#e5edf4}.season-message{font-size:12px;border-radius:10px}.season-form-error{font-size:12px}
footer{margin-left:var(--rail-width);display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:left;padding:20px 38px;border-color:#e3ebf3;font-size:10px;color:#95a5b4}footer>span:first-child{font:800 15px Manrope;color:#8296a8;letter-spacing:-.6px}.footer-dot{color:#25b89b}
.race-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr);gap:35px;align-items:center;overflow:hidden;background:linear-gradient(118deg,#102f49,#082034 68%,#0c3442);border:1px solid #173f54;border-radius:17px;padding:30px 33px;margin:0 0 23px;color:#fff;box-shadow:0 9px 24px #0c2b4612}
.race-hero::after{content:"";position:absolute;width:360px;height:230px;right:-90px;bottom:-135px;border:1px solid #51efc122;border-radius:50%;box-shadow:0 0 0 18px #51efc105,0 0 0 19px #51efc116,0 0 0 42px #51efc103,0 0 0 43px #51efc112,0 0 0 72px #51efc104,0 0 0 73px #51efc10b;transform:rotate(-23deg);pointer-events:none}
.hero-copy,.hero-summary{position:relative;z-index:1}.hero-copy .eyebrow{font-size:9px;letter-spacing:2px;color:#7cddb9}.hero-copy h2{font:800 clamp(23px,2.5vw,34px)/1.2 Manrope,system-ui;letter-spacing:-1.3px;max-width:540px;margin:12px 0}.hero-copy p{font-size:12px;line-height:1.8;max-width:520px;color:#9fbacd;margin:0 0 21px}.hero-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.hero-actions button{font-size:11px;border-radius:8px;padding:10px 15px;min-height:40px;border:1px solid #476075;color:#d3e4ef;background:#ffffff05;font-weight:600}.hero-actions button:hover{background:#ffffff12;border-color:#7592a8;transform:translateY(-1px)}.hero-actions .primary{background:#51efc1;color:#07362f;border-color:#51efc1;box-shadow:0 3px 12px #51efc116}.hero-actions .primary:hover{background:#8bffdc;border-color:#8bffdc}.hero-actions .primary span{margin-left:12px;font-size:16px;line-height:1}
.hero-summary{border-left:1px solid #7996af2b;padding:4px 0 4px 34px;display:flex;align-items:flex-start;flex-direction:column;gap:6px}.hero-number{font:800 47px/1.15 Manrope,system-ui;letter-spacing:-2px;color:#70efc9;font-variant-numeric:tabular-nums}.hero-summary>span:not(.hero-number){font-size:10px;color:#a4bdcf}.hero-rule{width:37px;height:2px;background:#51efc15e;margin:10px 0 8px}.hero-summary strong{font-size:13px;font-weight:600;color:#e3f1f8}.hero-summary small{font-size:9px;line-height:1.7;color:#86a7be;max-width:260px}
.tabs button[data-lab-nav]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6M10 3v6L4 19a1.5 1.5 0 0 0 1.3 2h13.4a1.5 1.5 0 0 0 1.3-2L14 9V3M7 15h10'/%3E%3C/g%3E%3C/svg%3E")}
.helper-panel p{font-size:12px;line-height:1.8;color:#70889b}.helper-steps{counter-reset:setup;list-style:none;padding:0;margin:22px 0;display:grid;gap:13px}.helper-steps li{position:relative;counter-increment:setup;padding:2px 0 2px 37px;font-size:12px;color:#607d95;line-height:1.9}.helper-steps li::before{content:counter(setup);position:absolute;left:0;top:3px;display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:#edf5ff;color:#2c70cf;font:700 10px Manrope}.helper-download{display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:12px;line-height:1.5;min-height:41px}.helper-download:hover{color:#fff;text-decoration:none}
.lab-header h2{font-size:30px;letter-spacing:-1px}.lab-eyebrow{font-size:9px;color:#7a8da0;letter-spacing:1.65px}.lab-muted{font-size:12px;color:#7c90a2;line-height:1.75}.lab-subnav{gap:7px;padding:5px 0 15px}.lab-subnav button{font-size:11px;min-height:37px;padding:8px 14px;border-color:#e0e8f1;font-weight:600;color:#738a9f}.lab-subnav button.active{background:#123149;border-color:#123149;color:#b1f9e3}.lab-panel{border-color:#e3eaf1;border-radius:15px;padding:25px;margin-bottom:23px;box-shadow:0 5px 24px #142b4603}.lab-heading h2,.lab-panel>h2{font-size:20px;letter-spacing:-.65px}.lab-controls label,.lab-watch-controls label{font-size:10px;color:#718b9f}.lab-controls select,.lab-watch-controls input{font-size:12px;border-color:#dfe8f1;background:#fbfdff;min-height:40px}.lab-button{font-size:11px;border-color:#dce6ef;color:#47637d;min-height:38px}.lab-text-button,.lab-event-button{font-size:11px;color:#1867ec}.lab-notice{font-size:12px;background:#edf5ff;border-color:#dceafd;line-height:1.8}.lab-opportunity-callout{background:linear-gradient(130deg,#12324d,#081e33);padding:23px;border-radius:13px}.lab-opportunity-callout strong{font-size:24px;color:#7defcf}.lab-opportunity-callout p{font-size:12px;color:#a5bfd2;line-height:1.8}.lab-table-wrap{border-color:#e3ecf4;border-radius:11px}.lab-table-wrap table{font-size:12px}.lab-table-wrap thead th{font-size:9px;letter-spacing:1px;background:#f7f9fc;color:#7c91a4}.lab-table-wrap tbody th{font-size:11px;letter-spacing:0;text-transform:none;background:#fff;color:#31506a}.lab-table-wrap td{font-size:12px;border-color:#eaf0f5}.lab-table-wrap small{font-size:10px;color:#8c9faf;line-height:1.7}.lab-table-wrap td>a,.lab-time{font-size:15px}.lab-pill{font-size:9px;border-radius:5px}.lab-missing{font-size:10px}.lab-empty p{font-size:12px}.lab-matrix .lab-owner-row th:first-child{background:#eaf7f3}.lab-metric-grid{gap:15px}.lab-metric-grid article{border-color:#e3edf5;background:#f8fbfe;border-radius:12px;padding:22px}.lab-metric-grid strong{font-size:30px;color:#264c68}.lab-metric-grid p{font-size:11px;color:#7c90a2;line-height:1.8}.lab-metric-grid article:first-child{background:#eaf9f3;border-color:#d6f1e6}.lab-metric-grid article:first-child strong{color:#19866a}.lab-check-progress{border-radius:12px;background:linear-gradient(130deg,#12324d,#081e33)}.lab-check-progress strong{color:#7defcf;font-size:16px}.lab-checklist label{font-size:12px;border-color:#e3edf4;border-radius:11px;background:#f8fbfe}.lab-checklist label.checked{background:#eaf9f3;border-color:#c8ebdd}.lab-checklist input{accent-color:#1db28b}.lab-message{font-size:12px;border-radius:10px}
@media(max-width:940px) and (min-width:901px){.rail-note{display:none}}
@media(max-height:940px) and (min-width:901px){.rail-note{display:none}}
@media(max-width:750px){.race-hero{grid-template-columns:minmax(0,1.6fr) minmax(200px,1fr);padding:26px;gap:23px}.hero-copy h2{font-size:28px}.hero-copy p{font-size:11px}.hero-summary{padding-left:24px}.hero-number{font-size:39px}.hero-summary strong{font-size:11px}.hero-summary>span:not(.hero-number){font-size:9px}.hero-summary small{font-size:8px}.hero-actions button{font-size:10px;padding:9px 11px;min-height:37px}.lab-panel{padding:22px}.lab-header h2{font-size:27px}.lab-heading h2,.lab-panel>h2{font-size:20px}.lab-checklist{grid-template-columns:1fr 1fr}.lab-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lab-metric-grid article{padding:17px}.lab-metric-grid strong{font-size:26px}.lab-metric-grid p{font-size:10px}}
@media(max-width:560px){.race-hero{grid-template-columns:1fr;padding:24px 21px;gap:23px;margin-bottom:18px;border-radius:14px}.hero-copy .eyebrow{font-size:8px;letter-spacing:1.5px}.hero-copy h2{font-size:29px;letter-spacing:-1px;margin:11px 0}.hero-copy p{font-size:11px;margin-bottom:18px}.hero-actions button{font-size:11px;padding:10px 14px;min-height:40px}.hero-summary{border-left:0;border-top:1px solid #7996af2b;padding:19px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;align-items:center}.hero-number{font-size:36px;grid-column:1;grid-row:1/3}.hero-summary>span:not(.hero-number){font-size:9px;grid-column:1;grid-row:3}.hero-summary strong{font-size:11px;grid-column:2;grid-row:1}.hero-summary small{font-size:8px;grid-column:2}.hero-rule{display:none}.lab-panel{padding:18px;border-radius:13px;margin-bottom:18px}.lab-header h2{font-size:25px}.lab-heading h2,.lab-panel>h2{font-size:19px}.lab-muted{font-size:11px}.lab-eyebrow{font-size:8px;letter-spacing:1px}.lab-subnav{gap:6px}.lab-subnav button{font-size:10px;min-height:35px;padding:8px 12px}.lab-controls select{font-size:11px}.lab-controls label{min-width:130px}.lab-metric-grid{grid-template-columns:1fr;gap:10px}.lab-metric-grid article{padding:18px}.lab-metric-grid strong{font-size:28px}.lab-metric-grid p{font-size:11px}.lab-opportunity-callout strong{font-size:23px}.lab-checklist{grid-template-columns:1fr}.lab-checklist label{font-size:11px}.lab-notice{font-size:11px;padding:12px 14px}.helper-panel p,.helper-steps li{font-size:11px}.helper-download{font-size:11px}.helper-panel .text-button{max-width:none;text-align:left}}
@media(min-width:1800px){main.container{padding-left:58px;padding-right:58px}header,footer{padding-left:58px;padding-right:58px}.overview-grid{grid-template-columns:minmax(0,2.1fr) minmax(320px,1fr)}.chart{max-height:390px}}
@media(max-height:850px) and (min-width:901px){.rail-note{padding:17px 15px 55px;bottom:151px}.rail-note strong{max-width:none}.rail-note p{margin-top:5px}.rail-note-icon{margin-bottom:9px}.lane-art i{height:6px;margin:5px 0}}
@media(max-height:735px) and (min-width:901px){.rail-note{display:none}.rail-profile{bottom:59px}.tabs{top:181px}}
@media(max-width:1200px) and (min-width:901px){:root{--rail-width:218px}.rail{padding:28px 20px}.rail-brand{font-size:25px}.rail-profile{left:20px;right:20px}.rail-profile strong{font-size:10px}.profile-avatar{flex-basis:34px;height:34px}.rail-note{left:20px;right:20px}.rail-footnote{left:20px;font-size:7px}.tabs{left:14px;width:calc(var(--rail-width) - 28px)}.tabs button{font-size:12px;padding:12px}.rail-description{font-size:11px}.rail-section{font-size:9px}main.container{padding:28px 27px 45px}header,footer{padding-left:27px;padding-right:27px}.overview-grid{grid-template-columns:1fr}.overview-grid .target-panel{display:grid;grid-template-columns:1fr 1fr;column-gap:28px}.target-panel>.eyebrow,.target-panel>h2,.target-panel>p,.target-panel>form,.target-panel>#target-result{grid-column:1}.target-panel>.cut-box{grid-column:2;grid-row:1/6;margin:0;padding:5px 0 0 25px;border-top:0;border-left:1px solid #ffffff17}.stats article{padding:20px}.stats strong{font-size:29px}.chart{max-height:320px}.season-home-grid{grid-template-columns:1fr}.heading-description{font-size:12px}.snapshot{max-width:245px}.heading{gap:15px}}
@media(max-width:900px){:root{--rail-width:0px}.rail{position:relative;width:100%;height:82px;display:flex;align-items:center;justify-content:space-between;padding:18px 23px;border:0;overflow:visible}.rail-brand{font-size:25px;gap:9px}.mark{width:35px;height:35px}.rail-description,.rail-section,.rail-note,.rail-footnote{display:none}.rail-profile{position:static;padding:0;border:0;gap:10px}.rail-profile strong{font-size:11px}.rail-profile div>span{font-size:9px}.profile-avatar{flex-basis:34px;height:34px;border-radius:10px;font-size:11px}.profile-chevron{display:none}header{margin:0;min-height:58px;padding:11px 23px;gap:10px}.header-breadcrumb{gap:9px;font-size:11px}.header-breadcrumb>span:first-child{font-size:9px}header .profile-link{padding:6px 9px;font-size:10px}header .header-button{font-size:10px;min-height:30px;padding:6px 9px}main.container{width:100%;margin:0;padding:24px 23px 40px}.heading{margin-bottom:19px;gap:18px}.heading .eyebrow{font-size:9px;letter-spacing:1.3px}h1{font-size:33px;letter-spacing:-1.2px}.heading-description{font-size:12px}.heading p{font-size:10px}.snapshot{max-width:260px;padding:10px 12px}.snapshot span{font-size:10px}.snapshot-label{font-size:8px}.tabs{position:relative;left:auto;top:auto;width:auto;flex-direction:row;gap:3px;margin:0 0 21px;padding:5px;border:1px solid #e0e9f2;background:#fff;border-radius:11px;overflow-x:auto;z-index:1;scrollbar-width:none;box-shadow:0 3px 12px #142b4603}.tabs::-webkit-scrollbar{display:none}.tabs button{font-size:11px;min-height:37px;padding:9px 12px;color:#7890a5;gap:7px;border-radius:7px;flex:1 0 auto;justify-content:center}.tabs button::before{width:15px;height:15px;flex-basis:15px}.tabs button.active{color:#14624f;background:#e9f8f1;border-color:#d8f0e6;box-shadow:none}.tabs button:hover{background:#f0f6fc;color:#325670}.controls{padding:17px;gap:12px 15px}.stats{gap:14px}.stats article{padding:19px 20px}.stats strong{font-size:30px}.stats article>span{font-size:8px;letter-spacing:.8px}.stats small{font-size:10px}.overview-grid{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:17px}.panel,.season-panel{padding:22px;margin-bottom:20px}.target-panel{padding:22px}.target-panel h2{font-size:23px}.target-panel .primary{font-size:10px;padding:10px}.chart-key span:last-child{margin-left:0}.panel-heading h2{font-size:19px}.improvement{font-size:9px;max-width:140px}.season-home-grid{grid-template-columns:1fr}.season-summary{gap:14px}.season-summary article{padding:20px}.season-summary article>strong{font-size:22px}footer{margin:0;padding:19px 23px}}
@media(max-width:750px){.heading{align-items:flex-start;flex-direction:row}.heading-description{max-width:285px;line-height:1.8}.heading .snapshot{max-width:219px}.overview-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.stats article{padding:17px 15px}.stats strong{font-size:27px}.stats small{font-size:9px}.stats article>span{font-size:7px}.panel-heading{align-items:flex-start}.target-panel{display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.target-panel>.eyebrow,.target-panel>h2,.target-panel>p,.target-panel>form,.target-panel>#target-result{grid-column:1}.target-panel>.cut-box{grid-column:2;grid-row:1/6;margin:0;padding:5px 0 0 22px;border-top:0;border-left:1px solid #ffffff17}.controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.controls label{min-width:0;font-size:9px}.controls select{font-size:11px;min-width:0}.source-grid{grid-template-columns:1fr}.source-top{flex-direction:row}.pagination{font-size:10px;gap:10px}.table-wrap table{min-width:570px}.season-summary{grid-template-columns:1fr}.season-summary article{padding:21px}.season-summary article>strong{font-size:24px}.season-card-grid{grid-template-columns:1fr}.season-header h2{font-size:27px}.season-panel-heading,.season-header{gap:14px}.season-practice-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.season-practice-totals>span{padding:15px;font-size:10px}.season-practice-totals strong{font-size:23px}.update-facts{grid-template-columns:1fr;gap:10px}.table-controls{align-items:stretch;flex-direction:row}.search-label{width:100%}.segmented{flex-shrink:0}.segmented button{white-space:nowrap;font-size:10px}.search-label input{font-size:11px}.season-dialog{padding:22px}.season-dialog .season-panel-heading{padding:0;flex-direction:row}.season-dialog label{font-size:11px}}
@media(max-width:560px){.rail{height:76px;padding:17px 18px}.rail-brand{font-size:23px}.rail-profile strong{font-size:10px}.rail-profile div>span{font-size:8px}.profile-avatar{width:31px;flex-basis:31px;height:31px}.rail-profile{gap:8px}header{padding:10px 18px;gap:8px}.header-breadcrumb{gap:7px;font-size:10px}.header-breadcrumb>span:first-child{font-size:8px;letter-spacing:.6px}.profile-link svg{width:12px;height:12px}header .profile-link{font-size:9px;gap:5px;padding:7px 8px}header .header-button{font-size:9px;min-height:29px;padding:6px 8px}main.container{padding:23px 17px 35px}.heading{flex-direction:column;gap:12px;margin-bottom:18px}h1{font-size:32px;margin:6px 0}.heading-description{max-width:none;font-size:11px;margin-bottom:6px}.heading p{font-size:9px}.heading .snapshot{max-width:none;padding:8px 11px;width:100%;display:flex;align-items:center;gap:13px}.snapshot-label{font-size:7px;letter-spacing:.5px;white-space:nowrap}.snapshot-label svg{width:12px;height:12px}.snapshot span{font-size:9px;line-height:1.6;margin:0;max-width:none}.tabs{margin-bottom:18px;padding:4px;border-radius:10px}.tabs button{font-size:10px;gap:7px;padding:9px 11px}.tabs button::before{width:14px;height:14px;flex-basis:14px}.controls{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;gap:13px 11px;border-radius:12px;margin-bottom:18px}.controls select{font-size:10px;min-height:38px;padding:8px}.controls label{font-size:8px;letter-spacing:.7px;gap:6px}.stats{gap:9px;margin-bottom:18px}.stats article{padding:15px 11px;border-radius:11px}.stats article::after{width:65px;height:65px;right:-25px;top:-15px}.stats article>span{font-size:7px;line-height:1.6;letter-spacing:.5px;display:block;min-height:24px}.stats strong{font-size:23px;margin:9px 0 7px;letter-spacing:-.7px}.stats strong em{font-size:10px;display:block;margin-top:3px}.stats small{font-size:8px;line-height:1.6}.stats article:nth-child(3) strong{min-height:26px}.panel,.season-panel{padding:18px;border-radius:13px;margin-bottom:18px}.panel-heading{gap:10px;margin-bottom:14px}.panel .eyebrow{font-size:8px;letter-spacing:1px}.panel-heading h2{font-size:17px;letter-spacing:-.5px}.improvement{font-size:8px;max-width:114px;padding:5px 7px;line-height:1.6}.chart{min-height:160px;margin-top:7px}.chart text{font-size:12px}.chart-key{font-size:9px;gap:8px 13px;padding-top:12px;margin-top:10px}.chart-key span:last-child{font-size:8px;width:100%}.muted{font-size:10px;line-height:1.8}.target-panel{display:block;padding:21px}.target-panel h2{font-size:25px}.target-panel .muted,.target-panel p{font-size:11px}.target-panel label{font-size:10px}.target-panel .primary{font-size:11px;padding:10px 16px}.target-panel>.cut-box{margin-top:22px;padding:18px 0 0;border-left:0;border-top:1px solid #ffffff17}.cut-box .eyebrow{font-size:8px;letter-spacing:1px}.cut-time{font-size:28px}.cut-box a{font-size:10px}.text-button{font-size:9px;max-width:105px;white-space:normal;text-align:right;line-height:1.6}.source-top{flex-direction:column;align-items:flex-start;gap:8px}.source-card p{font-size:11px}.source-card h3{font-size:16px}.notice{font-size:11px;padding:12px 14px}.table-controls{flex-direction:column;gap:10px}.search-label input{font-size:11px}.segmented{align-self:flex-start}.pagination div{gap:8px;font-size:9px}.pagination button{font-size:9px;padding:7px 9px}.season-header h2{font-size:25px}.season-header .season-eyebrow{font-size:8px}.season-actions{gap:7px}.season-button{font-size:11px!important;min-height:37px;padding:9px 12px}.season-muted{font-size:11px}.season-summary{gap:11px;margin-bottom:18px}.season-summary article{padding:20px;border-radius:13px}.season-summary article>strong{font-size:25px}.season-subnav{gap:6px}.season-subnav button{font-size:10px;min-height:35px;padding:8px 12px}.season-card{padding:17px}.season-card-title h3{font-size:15px}.season-bigtime{font-size:29px}.season-practice-totals{gap:8px}.season-practice-totals>span{padding:13px 10px;font-size:9px;line-height:1.6;border-radius:9px}.season-practice-totals strong{font-size:20px}.season-date-badge{min-width:69px;max-width:85px;padding:10px 8px;font-size:10px}.season-meet-open strong{font-size:13px}.season-meet-open small{font-size:10px}.season-form-grid{grid-template-columns:1fr}.season-dialog{padding:20px;border-radius:15px}.season-dialog h2{font-size:22px}.season-dialog .season-panel-heading{padding:0}.season-dialog input,.season-dialog select,.season-dialog textarea,.season-pace-form input,.season-pace-form select{font-size:14px}footer{padding:17px;align-items:flex-start;font-size:8px;line-height:1.7;gap:20px}footer>span:first-child{font-size:13px;flex-shrink:0}footer>span:last-child{max-width:180px;text-align:right}.loading-panel{padding:40px 20px}.loading-panel h2{font-size:19px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.rail,.skip-link{display:none!important}header,main.container,footer{margin-left:0!important;width:100%!important}.tabs{position:static!important;display:none!important}body.season-printing #season-print-card .season-table-wrap th,body.season-printing #season-print-card .season-table-wrap td{color:#111!important}}

.filter-toggle{display:none}@media(max-width:680px){.filter-toggle:not([hidden]){display:flex;align-items:center;gap:12px;justify-content:space-between;width:100%;border:1px solid #dce6ef;border-radius:12px;background:#fff;padding:14px 16px;margin:0 0 18px;color:#486174;font-size:12px;text-align:left}.filter-toggle strong{font-size:12px;color:#082438}.controls.filters-collapsed{display:none}.controls select,.target-panel input,.season-dialog input,.season-dialog select,.season-dialog textarea{font-size:16px;min-height:44px}}
