:root{color:#151515;font-synthesis:none;text-rendering:optimizelegibility;--black:#111;--red:#df151d;--cream:#f4f1ea;--white:#fff;--muted:#67635d;--line:#d8d3ca;--green:#1f7a43;background:#f4f1ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px}body{background:linear-gradient(#11111106 1px, transparent 1px), linear-gradient(90deg, #11111106 1px, transparent 1px), var(--cream);background-size:32px 32px;min-width:320px;min-height:100vh;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #f7b9bc}.app-shell{min-height:100vh}.site-header{z-index:10;min-height:76px;padding:12px max(20px, env(safe-area-inset-right)) 12px max(20px, env(safe-area-inset-left));color:var(--white);border-bottom:4px solid var(--red);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#111111f5;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.brand{min-height:48px;color:inherit;align-items:center;gap:11px;text-decoration:none;display:inline-flex}.brand-mark{border:5px solid var(--white);border-right-color:#0000;border-radius:50%;flex:0 0 44px;width:44px;height:44px;position:relative;transform:rotate(-12deg)}.brand-arrow{background:var(--red);transform-origin:100%;width:25px;height:6px;position:absolute;top:14px;left:15px;transform:rotate(-34deg)}.brand-arrow:after{content:"";border-left:10px solid var(--red);border-top:8px solid #0000;border-bottom:8px solid #0000;position:absolute;top:-5px;right:-3px}.brand-copy{flex-direction:column;line-height:1.05;display:flex}.brand-copy strong{letter-spacing:.01em;font-size:1.08rem}.brand-copy span{color:#d7d7d7;letter-spacing:.07em;text-transform:uppercase;margin-top:4px;font-size:.73rem}.phase-chip{color:var(--white);letter-spacing:.06em;text-transform:uppercase;background:#2b2b2b;border:1px solid #505050;border-radius:999px;padding:8px 11px;font-size:.75rem;font-weight:800}main{width:min(1180px,100%);margin:0 auto;padding:28px 20px 56px}.hero{gap:28px;padding:28px 0 46px;display:grid}.eyebrow{color:var(--red);letter-spacing:.13em;text-transform:uppercase;margin:0 0 12px;font-size:.76rem;font-weight:900}h1,h2,h3,p{text-wrap:pretty}h1{letter-spacing:-.055em;max-width:760px;margin:0;font-size:clamp(2.45rem,11vw,5.5rem);line-height:.96}.hero-intro{color:#4f4b45;max-width:670px;margin:22px 0 0;font-size:clamp(1rem,3.6vw,1.2rem);line-height:1.65}.hero-actions{gap:12px;margin-top:28px;display:grid}.primary-button,.secondary-button{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;min-height:54px;padding:14px 20px;font-weight:850;transition:transform .14s,box-shadow .14s,background .14s;display:inline-flex}.primary-button{color:var(--white);background:var(--red);border:2px solid var(--red);box-shadow:0 8px #a50c12}.secondary-button{color:var(--black);border:2px solid var(--black);background:0 0}.primary-button:hover,.secondary-button:hover{transform:translateY(-2px)}.primary-button:active,.secondary-button:active{box-shadow:none;transform:translateY(2px)}.status-card{color:var(--white);background:var(--black);border-radius:14px;align-self:end;padding:22px;box-shadow:14px 14px #df151d29}.status-card-topline{color:#b8b8b8;letter-spacing:.11em;border-bottom:1px solid #3b3b3b;justify-content:space-between;align-items:center;gap:16px;padding-bottom:16px;font-size:.72rem;font-weight:900;display:flex}.connection{letter-spacing:.02em;text-transform:none;align-items:center;gap:7px;display:inline-flex}.connection-dot{border-radius:50%;width:8px;height:8px}.connection.online .connection-dot{background:#4bcf78;box-shadow:0 0 0 4px #4bcf7826}.connection.offline .connection-dot{background:#ffca55;box-shadow:0 0 0 4px #ffca5524}.status-number{color:var(--red);letter-spacing:-.06em;margin:26px 0 2px;font-size:4.3rem;font-weight:950;line-height:1}.status-card h2{margin:0;font-size:1.55rem}.status-card>p:not(.status-number):not(.progress-label){color:#c8c8c8;margin:12px 0 24px;line-height:1.55}.progress-track{background:#363636;border-radius:99px;height:8px;overflow:hidden}.progress-track span{background:var(--red);width:11.11%;height:100%;display:block}.progress-label{color:#9e9e9e;letter-spacing:.1em;margin:9px 0 0;font-size:.7rem;font-weight:900}.proof-section{border-top:1px solid var(--line);padding:48px 0}.section-heading h2,.privacy-note h2,.dialog h2{letter-spacing:-.035em;margin:0;font-size:clamp(1.75rem,7vw,3rem);line-height:1.05}.proof-grid{gap:14px;margin-top:24px;display:grid}.proof-card{border:1px solid var(--line);border-top:5px solid var(--black);background:#ffffffa8;border-radius:8px;min-height:210px;padding:22px}.proof-index{color:var(--red);letter-spacing:.1em;font-size:.76rem;font-weight:900}.proof-card h3{margin:36px 0 10px;font-size:1.3rem}.proof-card p,.privacy-note>div>p:last-child,.dialog-copy{color:var(--muted);margin:0;line-height:1.6}.privacy-note{background:#fff6f6;border:1px solid #e8c3c5;border-radius:12px;gap:20px;margin-top:8px;padding:26px;display:grid}.lock-mark{background:var(--red);border-radius:6px;width:50px;height:42px;margin-top:9px;position:relative}.lock-mark:before{content:"";border:7px solid var(--red);border-bottom:0;border-radius:16px 16px 0 0;width:28px;height:28px;position:absolute;top:-20px;left:11px}.privacy-note>div>p:last-child{margin-top:12px}footer{padding:24px max(20px, env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));color:#bdbdbd;background:var(--black);border-top:4px solid var(--red);flex-direction:column;gap:5px;display:flex}footer p{margin:0;font-size:.82rem}footer p:first-child{color:var(--white);font-weight:800}.dialog-backdrop{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#111111ad;align-items:end;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--white);border-radius:16px;width:min(520px,100%);margin:0 auto;padding:26px;box-shadow:0 24px 70px #00000059}.check-list{gap:12px;margin:24px 0;padding:0;list-style:none;display:grid}.check-list li{align-items:flex-start;gap:10px;line-height:1.45;display:flex}.check-list span{width:24px;height:24px;color:var(--white);background:var(--green);border-radius:50%;flex:0 0 24px;place-items:center;font-size:.78rem;font-weight:900;display:inline-grid}.dialog-copy{margin:18px 0 24px}.full-width{width:100%}@media (width>=640px){.site-header,main{padding-inline:32px}.hero-actions{grid-template-columns:max-content max-content}.proof-grid{grid-template-columns:repeat(3,1fr)}.privacy-note{grid-template-columns:64px 1fr;align-items:start;padding:34px}footer{flex-direction:row;justify-content:space-between;padding-inline:32px}.dialog-backdrop{align-items:center}}@media (width>=900px){.hero{grid-template-columns:minmax(0,1.7fr) minmax(300px,.7fr);align-items:end;min-height:650px;padding-block:72px}.status-card{margin-bottom:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}button:disabled{cursor:wait;opacity:.64;box-shadow:none;transform:none}input{width:100%;min-height:54px;color:var(--black);background:var(--white);font:inherit;border:2px solid #bdb7ad;border-radius:8px;padding:13px 14px;font-size:1rem}input:focus{border-color:var(--red);outline:3px solid #df151d33}label{color:#332f2a;font-size:.86rem;font-weight:850}.auth-main{place-items:center;min-height:calc(100vh - 144px);padding-block:34px;display:grid}.auth-layout{align-items:center;gap:28px;width:100%;display:grid}.auth-message h1,.workspace-heading h1{max-width:760px;font-size:clamp(2.65rem,12vw,5.8rem)}.auth-message>p:not(.eyebrow){color:#4f4b45;max-width:620px;margin:22px 0 0;font-size:1.05rem;line-height:1.65}.security-line{color:#4d4841;border-top:1px solid var(--line);align-items:center;gap:12px;max-width:620px;margin-top:24px;padding-top:20px;font-size:.9rem;font-weight:750;line-height:1.45;display:flex}.mini-lock{background:var(--red);border-radius:4px;flex:0 0 28px;width:28px;height:23px;position:relative}.mini-lock:before{content:"";border:4px solid var(--red);border-bottom:0;border-radius:10px 10px 0 0;width:16px;height:15px;position:absolute;top:-11px;left:6px}.auth-card{border:1px solid var(--line);border-top:6px solid var(--red);background:#ffffffeb;border-radius:12px;width:100%;padding:26px;box-shadow:12px 12px #11111114}.auth-card h1,.auth-card h2{letter-spacing:-.04em;margin:0;font-size:clamp(2rem,8vw,3.1rem);line-height:1.02}.compact-card{max-width:580px}.form-intro{color:var(--muted);margin:14px 0 0;line-height:1.55}.auth-form{gap:10px;margin-top:24px;display:grid}.auth-form label:not(:first-child){margin-top:6px}.form-notice{border-radius:7px;margin:8px 0;padding:12px 14px;font-size:.9rem;font-weight:720;line-height:1.45}.form-notice.error{color:#861116;background:#fff0f0;border:1px solid #e9b4b6}.form-notice.success{color:#155c33;background:#eef9f2;border:1px solid #a9d7ba}.text-button{color:#5b2528;cursor:pointer;background:0 0;border:0;min-height:48px;margin-top:14px;padding:8px 0;font-weight:800;text-decoration:underline}.loading-mark{border:5px solid #e4dfd6;border-top-color:var(--red);border-radius:50%;width:38px;height:38px;margin-bottom:24px;animation:.8s linear infinite rotate;display:block}@keyframes rotate{to{transform:rotate(360deg)}}.workspace-main{padding-top:34px}.workspace-heading{align-items:end;gap:22px;padding:24px 0 34px;display:grid}.workspace-heading>div:first-child>p:last-child{color:var(--muted);margin:14px 0 0}.workspace-actions{align-items:center;gap:12px;display:flex}.workspace-actions .secondary-button{min-height:48px;padding:10px 16px}.role-badge{color:#3f3b36;letter-spacing:.08em;text-transform:uppercase;background:#ede8df;border:1px solid #cfc8bd;border-radius:999px;justify-content:center;align-items:center;min-height:32px;padding:6px 10px;font-size:.7rem;font-weight:900;display:inline-flex}.role-badge.owner{color:#8b0f15;background:#fff0f0;border-color:#e7b5b8}.phase-status-panel{color:var(--white);background:var(--black);border-left:7px solid var(--red);border-radius:10px;gap:26px;padding:26px;display:grid}.phase-status-panel h2,.team-panel h2{letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,7vw,2.8rem);line-height:1.05}.phase-status-panel>div:first-child>p:last-child{color:#c8c8c8;max-width:650px;margin:12px 0 0;line-height:1.55}.security-checks{gap:12px;display:grid}.security-checks span{color:#dedede;align-items:center;gap:10px;font-size:.9rem;font-weight:750;display:flex}.security-checks b{width:24px;height:24px;color:var(--black);background:#4bcf78;border-radius:50%;flex:0 0 24px;place-items:center;font-size:.75rem;display:inline-grid}.team-panel{border:1px solid var(--line);background:#ffffffc7;border-radius:10px;margin-top:28px;padding:24px}.panel-heading{gap:20px;display:grid}.panel-heading .primary-button{width:100%}.invite-form{border-block:1px solid var(--line);background:#f0ece4;gap:16px;margin:24px -24px 0;padding:24px;display:grid}.invite-form>div{gap:8px;display:grid}.invite-form .form-notice,.invite-form .field-help{grid-column:1/-1}.field-help{color:var(--muted);margin:0;font-size:.83rem;line-height:1.45}.member-list{margin-top:8px;display:grid}.member-row{border-bottom:1px solid var(--line);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:76px;padding:14px 0;display:grid}.member-row:last-child{border-bottom:0}.member-avatar{width:44px;height:44px;color:var(--white);background:var(--black);border-radius:50%;place-items:center;font-weight:900;display:grid}.member-row h3,.member-row p{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.member-row h3{font-size:1rem}.member-row p{color:var(--muted);margin-top:4px;font-size:.82rem}@media (width>=760px){.auth-layout{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);min-height:620px}.auth-card{padding:34px}.workspace-heading{grid-template-columns:minmax(0,1fr) auto}.workspace-actions{justify-content:flex-end}.phase-status-panel{grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr);align-items:center;padding:34px}.team-panel{padding:32px}.panel-heading{grid-template-columns:1fr auto;align-items:end}.panel-heading .primary-button{width:auto}.invite-form{grid-template-columns:.8fr 1.2fr auto;align-items:end;margin-inline:-32px;padding-inline:32px}.invite-form .primary-button{min-width:170px}}select,textarea{width:100%;color:var(--black);background:var(--white);font:inherit;border:2px solid #bdb7ad;border-radius:8px;padding:13px 14px;font-size:1rem}select{min-height:54px}textarea{resize:vertical;min-height:104px}input:focus,select:focus,textarea:focus{border-color:var(--red);outline:3px solid #df151d33}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.roster-main{max-width:1120px}.roster-heading{padding-bottom:24px}.roster-heading h1{font-size:clamp(2.9rem,13vw,5.6rem)}.roster-command{border:1px solid var(--line);border-top:7px solid var(--red);background:#ffffffd6;border-radius:12px;overflow:hidden;box-shadow:10px 10px #11111112}.roster-title-row{gap:22px;padding:24px;display:grid}.roster-title-row h2,.roster-empty h2,.team-tools h2,.confirm-dialog h2{letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,8vw,3rem);line-height:1.04}.roster-title-row>div>p:last-child{color:var(--muted);margin:10px 0 0;line-height:1.5}.add-athlete-button{width:100%}.add-athlete-button span{margin-right:7px;font-size:1.35rem;line-height:1}.roster-tools{border-top:1px solid var(--line);background:#ede8df;gap:14px;padding:18px 24px 24px;display:grid}.search-field{position:relative}.search-field>span{z-index:1;color:#5e5952;pointer-events:none;font-size:1.35rem;position:absolute;top:50%;left:15px;transform:translateY(-53%)}.search-field input{border-color:#a9a299;min-height:58px;padding-left:46px}.roster-tabs{background:#d9d3c9;border-radius:10px;grid-template-columns:1fr 1fr;gap:6px;padding:5px;display:grid}.roster-tabs button{color:#4f4a43;cursor:pointer;background:0 0;border:0;border-radius:7px;min-height:48px;padding:10px;font-weight:850}.roster-tabs button.active{color:var(--black);background:var(--white);box-shadow:0 2px 8px #1111111a}.roster-tabs span{min-width:24px;min-height:24px;color:inherit;background:#11111114;border-radius:999px;place-items:center;margin-left:4px;padding:2px 6px;font-size:.76rem;display:inline-grid}.roster-notice{margin-top:22px}.athlete-list{gap:16px;margin-top:24px;display:grid}.roster-empty{text-align:center;background:#fff9;border:2px dashed #c9c2b8;border-radius:12px;align-content:center;place-items:center;min-height:330px;padding:42px 24px;display:grid}.roster-empty .loading-mark{margin-bottom:18px}.empty-avatar{width:64px;height:64px;color:var(--white);background:var(--black);border-radius:50%;place-items:center;margin-bottom:20px;font-size:1.7rem;font-weight:900;display:grid}.roster-empty p{max-width:500px;color:var(--muted);margin:12px 0 24px;line-height:1.55}.athlete-card{border:1px solid var(--line);border-left:6px solid var(--black);background:#ffffffe0;border-radius:10px;padding:20px}.athlete-card-main{grid-template-columns:52px minmax(0,1fr);align-items:center;gap:13px;display:grid}.athlete-avatar{width:52px;height:52px;color:var(--white);background:var(--red);letter-spacing:.03em;border-radius:50%;place-items:center;font-size:.9rem;font-weight:950;display:grid}.athlete-identity{min-width:0}.athlete-identity h2{letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.45rem;line-height:1.05;overflow:hidden}.athlete-identity p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:6px 0 0;font-size:.88rem;overflow:hidden}.archive-badge{color:#4b4640;letter-spacing:.08em;text-transform:uppercase;background:#e8e2d8;border-radius:99px;grid-column:1/-1;justify-self:start;padding:6px 9px;font-size:.68rem;font-weight:900}.athlete-details{border-block:1px solid var(--line);grid-template-columns:1fr 1fr;gap:0;margin:20px 0 0;display:grid}.athlete-details div{min-width:0;padding:14px 8px 14px 0}.athlete-details div:nth-child(2n){border-left:1px solid var(--line);padding-left:12px}.athlete-details div:nth-child(n+3){border-top:1px solid var(--line)}.athlete-details dt{color:#7a746b;letter-spacing:.08em;text-transform:uppercase;font-size:.65rem;font-weight:900}.athlete-details dd{text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0;font-size:.9rem;font-weight:780;overflow:hidden}.athlete-goal{color:#4f4a43;margin:16px 0 0;font-size:.9rem;line-height:1.5}.athlete-goal strong{color:var(--red);letter-spacing:.09em;text-transform:uppercase;margin-right:7px;font-size:.68rem}.athlete-actions{gap:10px;margin-top:18px;display:grid}.athlete-actions .secondary-button,.quiet-button{width:100%;min-height:50px}.quiet-button{color:#4c4740;cursor:pointer;background:0 0;border:1px solid #bfb8ae;border-radius:8px;padding:11px 16px;font-weight:820}.quiet-button.danger{color:#8b0f15;border-color:#dbb7b9}.team-tools{border:1px solid var(--line);background:#ffffff94;border-radius:10px;margin-top:32px}.team-tools>summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:64px;padding:16px 20px;font-weight:900;list-style:none;display:flex}.team-tools>summary::-webkit-details-marker{display:none}.team-tools>summary:after{content:"+";color:var(--red);font-size:1.55rem}.team-tools[open]>summary:after{content:"−"}.team-tools>summary span{color:#4f4a43;background:#e4ded4;border-radius:99px;margin-left:auto;margin-right:12px;padding:4px 8px;font-size:.76rem}.team-tools-content{border-top:1px solid var(--line);padding:24px}.roster-dialog-backdrop{z-index:70;padding-top:max(12px, env(safe-area-inset-top));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#111111b8;align-items:end;display:grid;position:fixed;inset:0}.roster-dialog,.confirm-dialog{width:100%;max-height:calc(100vh - max(12px, env(safe-area-inset-top)));padding:24px max(20px, env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));background:var(--white);border-top:7px solid var(--red);border-radius:18px 18px 0 0;overflow-y:auto;box-shadow:0 -20px 60px #0000003d}.dialog-heading{justify-content:space-between;align-items:start;gap:20px;display:flex}.dialog-heading h2,.roster-dialog h2{letter-spacing:-.045em;margin:0;font-size:clamp(2rem,9vw,3.3rem);line-height:1}.icon-button{width:48px;height:48px;color:var(--black);cursor:pointer;background:#eee9e1;border:0;border-radius:50%;flex:0 0 48px;place-items:center;padding:0 0 4px;font-size:2rem;line-height:1;display:grid}.athlete-form{gap:16px;margin-top:26px;display:grid}.form-field{gap:8px;display:grid}.baseline-note{border-left:5px solid var(--black);background:#f4f1ea;border-radius:8px;padding:16px}.baseline-note span{color:#6e6860;letter-spacing:.09em;text-transform:uppercase;font-size:.68rem;font-weight:900;display:block}.baseline-note strong{margin-top:5px;font-size:1.05rem;display:block}.baseline-note p,.confirm-dialog>p:not(.eyebrow){color:var(--muted);margin:8px 0 0;font-size:.86rem;line-height:1.48}.form-actions{gap:10px;padding-top:6px;display:grid}.form-actions .secondary-button,.form-actions .primary-button{width:100%}.confirm-dialog{max-width:560px;margin:0 auto}.confirm-dialog .form-actions{margin-top:24px}.danger-button{background:#a50c12;border-color:#a50c12;box-shadow:0 8px #70070b}@media (width>=680px){.roster-title-row{grid-template-columns:1fr auto;align-items:end;padding:30px}.add-athlete-button{width:auto;min-width:180px}.roster-tools{grid-template-columns:minmax(0,1fr) 330px;align-items:center;padding-inline:30px}.athlete-card{padding:24px}.athlete-card-main{grid-template-columns:56px minmax(0,1fr) auto}.athlete-avatar{width:56px;height:56px}.archive-badge{grid-column:auto;justify-self:end}.athlete-details{grid-template-columns:repeat(4,1fr)}.athlete-details div:nth-child(n+3){border-top:0}.athlete-details div+div{border-left:1px solid var(--line);padding-left:16px}.athlete-actions{grid-template-columns:max-content max-content}.athlete-actions .secondary-button,.quiet-button{width:auto}.roster-dialog-backdrop{align-items:center;padding:24px}.roster-dialog,.confirm-dialog{border-radius:16px;width:min(760px,100%);max-height:calc(100vh - 48px)}.athlete-form{grid-template-columns:1fr 1fr}.form-field-wide{grid-column:1/-1}.form-actions{grid-template-columns:1fr 1fr}}.report-main{width:min(1180px,100%);padding-top:20px}.report-back-button{margin:0}.report-toolbar{gap:12px;margin-bottom:14px;display:grid}.report-actions{gap:8px;display:grid}.report-actions p{color:var(--muted);margin:0;font-size:.69rem;font-weight:720;line-height:1.4}.report-print-footer{display:none}.athlete-report{background:var(--white);border:1px solid #cbc6bd;border-radius:12px;overflow:hidden;box-shadow:12px 12px #11111114}.report-header{color:var(--white);background:var(--black);border-bottom:9px solid var(--red);padding:24px}.report-kicker{color:#ff6f75;letter-spacing:.13em;margin:0 0 12px;font-size:.76rem;font-weight:950}.report-header h1{overflow-wrap:anywhere;max-width:100%;font-size:clamp(2.5rem,13vw,5.5rem)}.report-subtitle{color:#d5d5d5;letter-spacing:.08em;text-transform:uppercase;margin:13px 0 0;font-size:.84rem;font-weight:850}.report-profile{border-bottom:1px solid var(--line);background:#faf9f6;gap:18px;padding:22px;display:grid}.report-profile dl{margin:0}.report-profile-grid,.report-cycle-grid{background:var(--line);border:1px solid var(--line);border-radius:8px;grid-template-columns:1fr 1fr;gap:1px;display:grid;overflow:hidden}.report-profile-grid>div,.report-cycle-grid>div{background:var(--white);min-width:0;padding:13px}.report-profile-grid .report-goal{grid-column:1/-1}.report-profile dt,.report-cycle-grid dt{color:#726c64;letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:900}.report-profile dd,.report-cycle-grid dd{overflow-wrap:anywhere;margin:5px 0 0;font-size:.91rem;font-weight:800;line-height:1.35}.report-loading,.report-empty{text-align:center;align-content:center;place-items:center;gap:15px;min-height:220px;padding:32px 22px;display:grid}.report-error{margin:22px}.report-growth,.report-comparison{padding:24px 18px}.report-growth>h2,.report-section-title>h2{color:var(--white);background:var(--black);letter-spacing:.025em;margin:0;padding:12px 14px;font-size:.78rem;line-height:1.3}.report-growth-layout{gap:16px;margin-top:16px;display:grid}.report-category-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.report-category-grid article{text-align:center;border:1px solid #d8dadd;border-radius:7px;overflow:hidden}.report-category-grid article:last-child{grid-column:1/-1}.report-category-grid span{letter-spacing:.06em;background:#e7e9ec;padding:8px;font-size:.66rem;font-weight:950;display:block}.report-category-grid strong{color:var(--red);padding:12px 8px;font-size:1.7rem;line-height:1;display:block}.report-overall{text-align:center;border:2px solid var(--red);border-radius:8px;overflow:hidden}.report-overall>span{color:var(--white);background:var(--red);letter-spacing:.025em;padding:10px 12px;font-size:.7rem;font-weight:950;display:block}.report-overall>strong{color:var(--red);letter-spacing:-.055em;padding:16px 10px 8px;font-size:clamp(2.8rem,14vw,4.8rem);line-height:.95;display:block}.report-overall>small{color:var(--muted);padding:0 12px 14px;font-size:.69rem;font-weight:750;display:block}.report-comparison{padding-top:4px;padding-bottom:28px}.report-section-title{background:var(--black);gap:8px;display:grid}.report-section-title>span{color:#c9c9c9;text-transform:uppercase;padding:0 14px 12px;font-size:.67rem;font-weight:850}.report-table{border:1px solid #bdb8b0;border-top:0}.report-table-header{display:none}.report-test-row{border-bottom:8px solid var(--white);background:#d6d2cb;grid-template-columns:1fr 1fr;gap:1px;display:grid}.report-test-row:last-child{border-bottom:0}.report-test-name{background:#f0efec;grid-column:1/-1;padding:16px}.report-test-name>span,.report-test-name>strong,.report-test-name>small{display:block}.report-test-name>span{color:var(--red);letter-spacing:.08em;font-size:.62rem;font-weight:950}.report-test-name>strong{margin-top:5px;font-size:1.02rem;line-height:1.25}.report-test-name>small{color:var(--muted);text-transform:uppercase;margin-top:6px;font-size:.68rem;font-weight:740}.report-data-cell{background:var(--white);text-align:center;align-content:center;place-items:center;gap:5px;min-height:68px;padding:10px 12px;display:grid}.report-data-cell:before{content:attr(data-label);color:#756f67;letter-spacing:.06em;text-transform:uppercase;font-size:.59rem;font-weight:900}.report-data-cell>strong{font-size:1rem}.report-percentage.positive{background:#e3f0db;color:#2f741e!important}.report-percentage.negative{background:#f7d4d5;color:#b30d14!important}.report-empty strong{font-size:1.4rem}.report-empty p{max-width:520px;color:var(--muted);margin:0;line-height:1.5}@media (width>=760px){.report-toolbar{grid-template-columns:1fr auto;align-items:center}.report-actions{grid-template-columns:auto minmax(220px,340px);align-items:center}.report-header,.report-profile,.report-growth,.report-comparison{padding-inline:32px}.report-profile{grid-template-columns:minmax(0,1.1fr) minmax(310px,.9fr);align-items:start}.report-profile-grid{grid-template-columns:repeat(2,1fr)}.report-category-grid{grid-template-columns:repeat(3,1fr)}.report-category-grid article:last-child{grid-column:auto}.report-growth-layout{grid-template-columns:minmax(0,1.5fr) minmax(270px,.5fr);align-items:stretch}.report-overall{grid-template-rows:auto 1fr auto;display:grid}}@media print{@page{size:letter portrait;margin:.35in}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}html,body,#root,.app-shell,.workspace-shell{background:#fff!important;width:auto!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important}.site-header,.report-toolbar,.progress-section,.report-empty,body>:not(#root){display:none!important}.report-main{width:auto!important;max-width:none!important;margin:0!important;padding:0!important}.athlete-report{box-shadow:none;border:1px solid #77736c;border-radius:0;overflow:visible}.report-header{border-bottom-width:6px;padding:.18in .22in}.report-kicker{margin-bottom:.06in;font-size:7pt}.report-header h1{font-size:26pt;line-height:.96}.report-subtitle{margin-top:.07in;font-size:7pt}.report-profile{grid-template-columns:1.25fr .75fr;gap:.1in;padding:.14in .18in}.report-profile-grid,.report-cycle-grid{grid-template-columns:repeat(2,1fr)}.report-profile-grid>div,.report-cycle-grid>div{padding:.07in .08in}.report-profile dt,.report-cycle-grid dt{font-size:5.5pt}.report-profile dd,.report-cycle-grid dd{margin-top:.02in;font-size:7.5pt;line-height:1.2}.report-growth{break-inside:avoid;padding:.14in .18in .11in}.report-growth>h2,.report-section-title>h2{padding:.06in .08in;font-size:6.5pt}.report-growth-layout{grid-template-columns:1.55fr .45fr;gap:.1in;margin-top:.08in}.report-category-grid{grid-template-columns:repeat(5,1fr);gap:.05in}.report-category-grid article:last-child{grid-column:auto}.report-category-grid span{padding:.04in;font-size:5.5pt}.report-category-grid strong{padding:.07in .04in;font-size:14pt}.report-overall>span{padding:.04in;font-size:5.2pt}.report-overall>strong{padding:.06in .04in .02in;font-size:20pt}.report-overall>small{padding:0 .04in .05in;font-size:5.5pt}.report-comparison{padding:.03in .18in .1in}.report-section-title{grid-template-columns:1fr auto;align-items:center;display:grid}.report-section-title>span{padding:.06in .08in;font-size:5.5pt}.report-table-header,.report-test-row{grid-template-columns:minmax(1.75in,2fr) repeat(4,minmax(.53in,.62fr)) repeat(2,minmax(.72in,.85fr));display:grid}.report-table-header{color:#fff;background:#333}.report-table-header>span{text-align:center;padding:.05in .025in;font-size:5.4pt;font-weight:900}.report-table-header>span:first-child{text-align:left;padding-left:.07in}.report-test-row{break-inside:avoid;border-bottom:1px solid #ccc8c1;gap:0}.report-test-row:last-child{border-bottom:0}.report-test-name{grid-column:auto;padding:.045in .07in}.report-test-name>span{font-size:4.8pt}.report-test-name>strong{margin-top:.01in;font-size:6.6pt;line-height:1.1}.report-test-name>small{display:none}.report-data-cell{border-left:1px solid #dedad3;min-height:0;padding:.045in .02in}.report-data-cell:before{display:none}.report-data-cell>strong{font-size:6.5pt}.report-test-row:nth-child(odd) .report-test-name,.report-test-row:nth-child(odd) .report-data-cell{background-color:#f2f2f2}.report-print-footer{color:#54504a;background:#f0efec;border-top:1px solid #ccc8c1;justify-content:space-between;gap:.2in;padding:.08in .18in;font-size:5.5pt;display:flex}}@media (width>=980px){.report-table-header,.report-test-row{grid-template-columns:minmax(240px,2.2fr) repeat(4,minmax(76px,.72fr)) repeat(2,minmax(112px,1fr));display:grid}.report-table-header{color:var(--white);background:#333}.report-table-header>span{text-align:center;padding:11px 8px;font-size:.7rem;font-weight:900}.report-table-header>span:first-child{text-align:left;padding-left:14px}.report-test-row{border-bottom:1px solid #d0ccc5;gap:0}.report-test-row:nth-child(odd) .report-test-name,.report-test-row:nth-child(odd) .report-data-cell{background-color:#f2f2f2}.report-test-row:last-child{border-bottom:0}.report-test-name{grid-column:auto;min-width:0;padding:12px 14px}.report-test-name>small{font-size:.58rem}.report-data-cell{border-left:1px solid #dedad3;min-height:auto;padding:12px 6px}.report-data-cell:before{display:none}}.progress-section{padding:4px 18px 28px}.progress-heading{color:var(--white);background:var(--black);border-left:7px solid var(--red);gap:10px;padding:14px;display:grid}.progress-heading p,.progress-heading h2{margin:0}.progress-heading p{color:#ff7a80;letter-spacing:.1em;margin-bottom:4px;font-size:.62rem;font-weight:950}.progress-heading h2{letter-spacing:.04em;font-size:.9rem}.progress-heading>span{color:#153c20;letter-spacing:.035em;background:#d9efdc;border-radius:999px;width:fit-content;padding:7px 9px;font-size:.62rem;font-weight:950}.progress-controls{gap:7px;padding:18px 0 14px;display:grid}.progress-controls label{font-size:.74rem;font-weight:900}.progress-controls select{width:100%;min-height:54px;color:var(--black);background-color:var(--white);border:2px solid var(--black);font:inherit;border-radius:7px;padding:0 44px 0 14px;font-size:1rem;font-weight:780}.progress-controls select:focus-visible,.progress-chart-scroll:focus-visible{outline-offset:2px;outline:4px solid #e4121b42}.progress-meta{background:#f1f0ed;border:1px solid #ccc8c0;border-radius:8px 8px 0 0;gap:14px;padding:16px;display:grid}.progress-meta>div>span,.progress-meta>div>strong{display:block}.progress-meta>div>span{color:var(--red);letter-spacing:.09em;font-size:.63rem;font-weight:950}.progress-meta>div>strong{margin-top:5px;font-size:1.2rem;line-height:1.2}.progress-meta dl{background:#cfcbc4;border:1px solid #cfcbc4;border-radius:6px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.progress-meta dl>div{background:var(--white);text-align:center;min-width:0;padding:9px 7px}.progress-meta dt{color:#706a62;letter-spacing:.05em;text-transform:uppercase;font-size:.55rem;font-weight:900}.progress-meta dd{overflow-wrap:anywhere;margin:4px 0 0;font-size:.7rem;font-weight:850;line-height:1.25}.progress-direction-note{color:#153c20;background:#e4f1e6;border-inline:1px solid #bbd2bf;margin:0;padding:11px 14px;font-size:.72rem;font-weight:800;line-height:1.4}.progress-chart-scroll{overscroll-behavior-inline:contain;border:1px solid #bdb8b0;-webkit-overflow-scrolling:touch;background:#fbfaf7;border-top:0;overflow-x:auto}.progress-chart{max-width:none;height:300px;display:block}.progress-grid-line{stroke:#d9d6d0;stroke-width:1px;stroke-dasharray:5 6}.progress-line{fill:none;stroke:var(--red);stroke-linecap:round;stroke-linejoin:round;stroke-width:5px}.progress-point-halo{fill:#f9c8ca}.progress-point{fill:var(--red);stroke:var(--white);stroke-width:3px}.progress-improving-label,.progress-value-label,.progress-date-label,.progress-count-label{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.progress-improving-label{fill:#257339;letter-spacing:.08em;font-size:11px;font-weight:950}.progress-value-label{fill:var(--black);font-size:15px;font-weight:950}.progress-date-label{fill:#3c3935;font-size:12px;font-weight:850}.progress-count-label{fill:#858078;letter-spacing:.08em;font-size:9px;font-weight:900}.progress-history{-webkit-overflow-scrolling:touch;grid-auto-columns:minmax(150px,1fr);grid-auto-flow:column;gap:8px;margin:12px 0 0;padding:0 0 5px;list-style:none;display:grid;overflow-x:auto}.progress-history li{border:1px solid #d3cfc8;border-top:4px solid var(--red);background:#f2f1ee;border-radius:6px;min-width:0;padding:13px}.progress-history span,.progress-history strong,.progress-history time{display:block}.progress-history span{color:var(--red);letter-spacing:.08em;text-transform:uppercase;font-size:.58rem;font-weight:950}.progress-history strong{margin-top:7px;font-size:1.25rem}.progress-history strong small{color:var(--muted);font-size:.62rem;font-weight:750}.progress-history time{color:var(--muted);margin-top:5px;font-size:.68rem;font-weight:750}.progress-empty{text-align:center;background:#f5f4f1;border:1px solid #d4d0c9;align-content:center;place-items:center;gap:8px;min-height:180px;padding:28px;display:grid}.progress-empty p{max-width:480px;color:var(--muted);margin:0;line-height:1.45}@media (width>=760px){.progress-section{padding-inline:32px}.progress-heading{grid-template-columns:1fr auto;align-items:center}.progress-meta{grid-template-columns:minmax(0,1fr) minmax(390px,.9fr);align-items:center}.progress-chart{min-width:100%}.progress-history{grid-auto-columns:minmax(170px,1fr)}}.import-main{width:min(980px,100%);padding-top:22px}.import-intro{color:var(--white);background:var(--black);border-left:9px solid var(--red);border-radius:9px 9px 0 0;margin-top:14px;padding:25px 20px}.import-intro h1{margin-top:8px;font-size:clamp(2.25rem,12vw,4.8rem);line-height:.96}.import-intro>p:not(.eyebrow){color:#d5d5d5;max-width:650px;margin:16px 0 0;line-height:1.5}.import-privacy{color:#173c22;background:#dff0e2;border-radius:6px;gap:4px;margin-top:18px;padding:13px;font-size:.77rem;line-height:1.4;display:grid}.import-privacy strong{letter-spacing:.06em;text-transform:uppercase;font-size:.67rem;font-weight:950}.import-card{background:var(--white);border:1px solid #cbc6bd;border-top:0;border-radius:0 0 9px 9px;padding:22px 18px 28px;box-shadow:10px 10px #11111114}.import-step-heading{align-items:center;gap:13px;display:flex}.import-step-heading>span{width:46px;height:46px;color:var(--white);background:var(--red);border-radius:50%;flex:0 0 46px;place-items:center;font-size:1.25rem;font-weight:950;display:grid}.import-step-heading h2,.import-step-heading p{margin:0}.import-step-heading h2{margin-top:3px;font-size:1.35rem}.workbook-picker{text-align:center;background:#f2f1ee;border:2px dashed #aaa59c;border-radius:8px;align-content:center;place-items:center;gap:13px;min-height:210px;margin-top:20px;padding:24px;display:grid}.workbook-picker label{cursor:pointer}.workbook-picker input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.workbook-picker input:focus-visible+p{outline:3px solid #e4121b4d}.workbook-picker p{max-width:560px;color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.78rem;line-height:1.45}.import-error{margin:17px 0 0}.import-preview{gap:22px;margin-top:22px;display:grid}.import-preview>section{border:1px solid #ccc7bf;border-radius:8px;overflow:hidden}.import-preview-title{color:var(--white);background:var(--black);gap:5px;padding:12px 14px;display:grid}.import-preview-title h3,.import-preview-title span{margin:0}.import-preview-title h3{letter-spacing:.025em;font-size:.88rem}.import-preview-title span{color:#c7c7c7;overflow-wrap:anywhere;font-size:.65rem;font-weight:750}.import-profile-grid{background:#d4d0c9;grid-template-columns:1fr 1fr;gap:1px;margin:0;display:grid}.import-profile-grid>div{background:var(--white);min-width:0;padding:13px}.import-profile-grid .import-goal{grid-column:1/-1}.import-profile-grid dt{color:#746e66;letter-spacing:.06em;text-transform:uppercase;font-size:.58rem;font-weight:900}.import-profile-grid dd{overflow-wrap:anywhere;margin:5px 0 0;font-size:.88rem;font-weight:800;line-height:1.35}.import-session-list{background:#d4d0c9;gap:1px;margin:0;padding:0;list-style:none;display:grid}.import-session-list li{background:var(--white);grid-template-columns:minmax(70px,.65fr) minmax(120px,1.2fr) auto;align-items:center;gap:10px;min-width:0;padding:14px;display:grid}.import-session-list span{color:var(--red);letter-spacing:.05em;text-transform:uppercase;font-size:.62rem;font-weight:950}.import-session-list strong{font-size:.82rem}.import-session-list small{color:var(--muted);white-space:nowrap;font-size:.64rem;font-weight:800}.import-warnings{color:#684613;background:#fff1d6;border:1px solid #e8c982;border-radius:7px;padding:15px}.import-warnings strong,.import-warnings p{margin:0;display:block}.import-warnings p{margin-top:7px;font-size:.76rem;line-height:1.4}.import-confirmation{background:#f2f1ee;border:1px solid #ccc7bf;border-radius:8px;gap:14px;padding:17px;display:grid}.import-confirmation p{color:#4d4943;margin:0;font-size:.78rem;line-height:1.5}.import-confirmation>div{gap:10px;display:grid}.import-complete{text-align:center;align-content:center;place-items:center;gap:12px;min-height:390px;padding:28px 10px;display:grid}.import-complete>span{color:#174a24;background:#d8eddd;border-radius:50%;place-items:center;width:76px;height:76px;font-size:2.2rem;font-weight:950;display:grid}.import-complete h2,.import-complete p{margin:0}.import-complete h2{font-size:2rem}.import-complete>p:not(.eyebrow){max-width:500px;color:var(--muted);line-height:1.5}@media (width>=700px){.import-intro,.import-card{padding-inline:32px}.import-profile-grid{grid-template-columns:repeat(3,1fr)}.import-profile-grid .import-goal{grid-column:span 3}.import-preview-title,.import-confirmation{grid-template-columns:1fr auto;align-items:center}.import-confirmation>div{grid-template-columns:auto auto}}.roster-primary-actions{gap:11px;display:grid}.calculations-main,.settings-main{width:min(1040px,100%);padding-top:22px}.calculation-intro,.settings-intro{border:1px solid var(--line);border-top:7px solid var(--red);background:#ffffffe6;border-radius:12px;margin-top:14px;padding:24px;box-shadow:10px 10px #11111112}.calculation-intro h1,.settings-intro h1{font-size:clamp(2.5rem,12vw,5rem)}.calculation-intro>p:last-child,.settings-intro>p:last-child{max-width:720px;color:var(--muted);margin:18px 0 0;line-height:1.55}.calculation-loading,.calculation-empty,.calculation-error,.settings-notice{margin-top:24px}.growth-summary{gap:18px;margin-top:24px;display:grid}.overall-growth-card{color:var(--white);background:var(--black);border-left:7px solid var(--red);border-radius:12px;padding:24px;box-shadow:9px 9px #df151d1f}.overall-growth-card>strong{letter-spacing:-.065em;margin-top:6px;font-size:clamp(3.2rem,18vw,6.4rem);line-height:.95;display:block}.overall-growth-card>span{color:#c9c9c9;margin-top:14px;font-size:.82rem;font-weight:760;display:block}.positive{color:#19733f!important}.negative{color:#b40f16!important}.overall-growth-card .positive{color:#48d17e!important}.overall-growth-card .negative{color:#ff777c!important}.category-growth-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.category-growth-grid article{border:1px solid var(--line);background:#ffffffeb;border-radius:9px;padding:17px}.category-growth-grid article:last-child{grid-column:1/-1}.category-growth-grid span{color:#756f67;letter-spacing:.09em;font-size:.67rem;font-weight:900;display:block}.category-growth-grid strong{letter-spacing:-.04em;margin-top:7px;font-size:1.65rem;display:block}.calculation-table-section{margin-top:28px}.calculation-section-heading,.settings-panel-heading{gap:16px;margin-bottom:18px;display:grid}.calculation-section-heading h2,.settings-panel-heading h2{letter-spacing:-.04em;margin:0;font-size:clamp(1.75rem,7vw,2.8rem);line-height:1}.calculation-section-heading>span{color:#4e4942;text-transform:uppercase;background:#e5dfd5;border-radius:99px;justify-self:start;padding:8px 11px;font-size:.72rem;font-weight:900}.metric-card-list{gap:16px;display:grid}.metric-card{border:1px solid var(--line);border-left:6px solid var(--black);background:#ffffffeb;border-radius:10px;overflow:hidden}.metric-card.hidden-test,.weight-row.hidden-test,.settings-test-list article.hidden-test{opacity:.72}.metric-card-heading{gap:12px;padding:20px;display:grid}.metric-card-heading p,.settings-test-list p{color:var(--red);letter-spacing:.08em;margin:0;font-size:.66rem;font-weight:900}.metric-card-heading h3,.settings-test-list h3{margin:5px 0 0;font-size:1.15rem;line-height:1.2}.metric-card-heading div>span,.settings-test-list div>span{color:var(--muted);text-transform:uppercase;margin-top:7px;font-size:.73rem;font-weight:750;display:block}.metric-card-heading>strong{color:#4f4942;text-transform:uppercase;background:#eee9e1;border-radius:99px;justify-self:start;padding:6px 9px;font-size:.68rem}.metric-values{border-block:1px solid var(--line);grid-template-columns:repeat(2,1fr);margin:0;display:grid}.metric-values div{padding:14px 16px}.metric-values div:nth-child(2n){border-left:1px solid var(--line)}.metric-values div:nth-child(n+3){border-top:1px solid var(--line)}.metric-values dt{color:#776f67;letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:900}.metric-values dd{margin:5px 0 0;font-size:1.08rem;font-weight:900}.metric-percentages{background:var(--line);gap:1px;display:grid}.metric-percentages>div{color:#4f4942;background:#f7f4ef;justify-content:space-between;align-items:center;gap:16px;min-height:54px;padding:12px 16px;display:flex}.metric-percentages span{font-size:.72rem;font-weight:850}.metric-percentages strong{font-size:1.05rem}.settings-panel{border:1px solid var(--line);background:#ffffffe6;border-radius:12px;margin-top:24px;padding:22px}.weight-total{border-radius:9px;justify-self:start;min-width:130px;padding:10px 14px}.weight-total.valid{color:#155f35;background:#e7f6ec;border:1px solid #9fd3b1}.weight-total.warning{color:#8b1116;background:#fff0f0;border:1px solid #e8b5b7}.weight-total span,.weight-total strong{display:block}.weight-total span{letter-spacing:.08em;text-transform:uppercase;font-size:.65rem;font-weight:900}.weight-total strong{margin-top:2px;font-size:1.4rem}.weight-toolbar{background:#f1ede6;border-radius:9px;gap:14px;padding:18px;display:grid}.weight-toolbar select{min-height:56px;font-weight:800}.weight-warning{color:#8b1116;border-left:5px solid var(--red);background:#fff0f0;border-radius:7px;margin:14px 0 0;padding:14px;font-size:.84rem;font-weight:750;line-height:1.45}.weight-list{border:1px solid var(--line);border-radius:9px;margin-top:18px;display:grid}.weight-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 92px;align-items:center;gap:8px 12px;padding:16px;display:grid}.weight-row:last-child{border-bottom:0}.weight-row label{min-width:0}.weight-row label strong,.weight-row label span{display:block}.weight-row label strong{font-size:.91rem;line-height:1.25}.weight-row label span{color:var(--muted);letter-spacing:.06em;margin-top:5px;font-size:.64rem;font-weight:850}.weight-input-wrap{position:relative}.weight-input-wrap input{text-align:right;min-height:54px;padding-right:28px;font-weight:900}.weight-input-wrap span{color:#716b63;pointer-events:none;font-weight:900;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.weight-row small{color:#79736b;grid-column:1/-1;font-size:.66rem}.custom-test-form{border-left:6px solid var(--red);background:#f1ede6;border-radius:9px;gap:15px;margin-bottom:20px;padding:18px;display:grid}.settings-test-list{border:1px solid var(--line);border-radius:9px;display:grid}.settings-test-list article{border-bottom:1px solid var(--line);gap:15px;padding:18px;display:grid}.settings-test-list article:last-child{border-bottom:0}.settings-test-list button{width:100%;min-height:48px}@media (width>=680px){.growth-summary{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr)}.category-growth-grid{grid-template-columns:repeat(3,1fr)}.category-growth-grid article:last-child{grid-column:auto}.calculation-section-heading,.settings-panel-heading{grid-template-columns:minmax(0,1fr) auto;align-items:end}.calculation-section-heading>span,.weight-total{justify-self:end}.metric-card-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center}.metric-card-heading>strong{justify-self:end}.metric-values{grid-template-columns:repeat(4,1fr)}.metric-values div+div{border-left:1px solid var(--line)}.metric-values div:nth-child(n+3){border-top:0}.metric-percentages{grid-template-columns:repeat(3,1fr)}.metric-percentages>div{gap:5px;display:grid}.weight-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:end}.weight-row{grid-template-columns:minmax(0,1fr) 110px 180px}.weight-row small{grid-column:auto}.custom-test-form{grid-template-columns:1fr 1fr}.settings-test-list article{grid-template-columns:minmax(0,1fr) 150px;align-items:center}}.roster-primary-actions .primary-button,.roster-primary-actions .secondary-button{width:100%}.record-testing-button:disabled{cursor:not-allowed}.draft-banner{color:var(--white);background:var(--black);border-left:7px solid var(--red);border-radius:10px;gap:18px;margin-top:24px;padding:22px;display:grid;box-shadow:9px 9px #df151d1f}.draft-banner h2{letter-spacing:-.035em;margin:0;font-size:clamp(1.65rem,7vw,2.4rem);line-height:1}.draft-banner p:last-child{color:#cfcfcf;margin:9px 0 0;line-height:1.45}.draft-banner .primary-button{width:100%}.testing-main{width:min(940px,100%);padding-top:22px;padding-bottom:36px}.testing-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.back-button{color:#433f39;cursor:pointer;background:0 0;border:0;min-height:48px;padding:9px 0;font-weight:850}.save-status{color:#48433d;letter-spacing:.04em;text-transform:uppercase;background:#e8e2d8;border:1px solid #ccc4b8;border-radius:999px;align-items:center;gap:8px;min-height:38px;padding:8px 12px;font-size:.76rem;font-weight:900;display:inline-flex}.save-status>span{background:#7d766d;border-radius:50%;width:9px;height:9px}.save-status.saving>span{background:#d89c20;animation:.8s ease-in-out infinite alternate status-pulse}.save-status.saved{color:#155c33;background:#e9f7ee;border-color:#a9d7ba}.save-status.saved>span{background:#2a9a57}.save-status.offline{color:#725313;background:#fff6dc;border-color:#e7cd87}.save-status.offline>span{background:#d89c20}.save-status.error{color:#861116;background:#fff0f0;border-color:#e9b4b6}.save-status.error>span{background:var(--red)}@keyframes status-pulse{to{opacity:.35}}.session-intro{border:1px solid var(--line);border-top:7px solid var(--red);background:#ffffffe6;border-radius:12px;margin-top:20px;padding:24px;box-shadow:10px 10px #11111112}.session-intro h1{max-width:780px;font-size:clamp(2.45rem,12vw,5.1rem)}.session-intro>p:not(.eyebrow){max-width:650px;color:var(--muted);margin:18px 0 0;line-height:1.6}.session-setup{border-top:1px solid var(--line);gap:16px;margin-top:26px;padding-top:24px;display:grid}.session-setup input,.session-setup select{min-height:62px;font-size:1.05rem;font-weight:720}.session-setup select:disabled{color:#4d4842;opacity:1;background:#eee9e1}.select-athlete-prompt{background:#ffffff9e;border:2px dashed #bfb8ae;border-radius:12px;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:16px;margin-top:24px;padding:24px;display:grid}.select-athlete-prompt>span{width:54px;height:54px;color:var(--white);background:var(--red);border-radius:50%;place-items:center;font-size:1.3rem;font-weight:950;display:grid}.select-athlete-prompt h2,.select-athlete-prompt p{margin:0}.select-athlete-prompt h2{font-size:1.35rem;line-height:1.1}.select-athlete-prompt p{color:var(--muted);margin-top:7px;font-size:.88rem;line-height:1.45}.test-groups{gap:20px;margin-top:24px;display:grid}.test-group{border:1px solid var(--line);background:#ffffffe0;border-radius:12px;overflow:hidden}.test-group-heading{color:var(--white);background:var(--black);border-left:7px solid var(--red);justify-content:space-between;align-items:end;gap:16px;padding:18px 20px;display:flex}.test-group-heading .eyebrow{margin:0}.test-group-heading h2{color:#bfbfbf;letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:.78rem}.test-input-list{display:grid}.test-input-row{border-bottom:1px solid var(--line);gap:14px;padding:20px;transition:background .14s,border .14s;display:grid}.test-input-row:last-child{border-bottom:0}.test-input-row.entered{background:#f1f8f3;box-shadow:inset 5px 0 #2a9a57}.test-input-row.invalid{box-shadow:inset 5px 0 0 var(--red);background:#fff1f1}.test-input-row>label{cursor:pointer;gap:6px;display:grid}.test-input-row>label strong{font-size:1.05rem;line-height:1.25}.test-input-row>label span{color:#746e66;letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:820}.result-control{position:relative}.result-control input{border-width:3px;min-height:66px;padding-right:100px;font-size:1.25rem;font-weight:900}.result-control input::placeholder{color:#a49e95}.result-control>span{color:#686159;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;max-width:88px;font-size:.75rem;font-weight:900;position:absolute;top:50%;right:16px;overflow:hidden;transform:translateY(-50%)}.test-input-row.invalid input{border-color:var(--red)}.session-finish{z-index:5;color:var(--white);border:1px solid #383838;border-left:7px solid var(--red);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#111111f7;border-radius:12px;gap:12px;margin-top:24px;padding:20px;display:grid;position:sticky;bottom:10px;box-shadow:0 16px 45px #11111140}.session-finish strong{font-size:1.15rem}.session-finish>div>p{color:#c4c4c4;margin:6px 0 0;font-size:.82rem;line-height:1.4}.session-finish .finish-button{width:100%}.session-finish .session-save-error{margin:0}.discard-draft-button{color:#f5b8ba;min-height:42px;margin:0;padding:6px}@media (width>=680px){.roster-primary-actions{grid-template-columns:auto auto}.roster-primary-actions .primary-button,.roster-primary-actions .secondary-button{width:auto;min-width:170px}.draft-banner{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:26px}.draft-banner .primary-button{width:auto;min-width:190px}.session-intro{padding:32px}.session-setup{grid-template-columns:1.35fr .65fr}.test-input-row{grid-template-columns:minmax(0,1fr) 260px;align-items:center;padding:22px 26px}.session-finish{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:22px 26px}.session-finish .session-save-error{grid-column:1/-1}.session-finish .finish-button{width:auto;min-width:190px}.discard-draft-button{grid-column:2}.athlete-actions{grid-template-columns:max-content max-content max-content}}.skip-link{z-index:100;color:var(--white);background:var(--black);border:3px solid var(--red);border-radius:8px;padding:12px 16px;font-weight:850;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #f7b9bc}.help-main{gap:24px;width:min(1120px,100%);padding-bottom:80px;display:grid}.help-toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.help-hero{color:var(--white);background:var(--black);border-left:8px solid var(--red);border-radius:16px;padding:clamp(28px,6vw,64px);box-shadow:14px 14px #df151d29}.help-hero h1{max-width:900px;font-size:clamp(2.65rem,8vw,5.6rem)}.help-hero>p:not(.eyebrow){color:#d0d0d0;max-width:760px;margin:22px 0 0;font-size:1.02rem;line-height:1.6}.help-hero nav{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.help-hero nav a{min-height:44px;color:var(--white);border:1px solid #595959;border-radius:999px;align-items:center;padding:10px 13px;font-size:.8rem;font-weight:800;text-decoration:none;display:inline-flex}.help-hero nav a:hover{border-color:var(--red)}.help-section{border:1px solid var(--line);background:#ffffffeb;border-radius:16px;padding:clamp(24px,5vw,48px);scroll-margin-top:96px;box-shadow:0 16px 40px #1111110f}.help-section-heading{max-width:850px}.help-section-heading h2{letter-spacing:-.035em;margin:0;font-size:clamp(1.8rem,5vw,3.1rem);line-height:1}.help-section-heading>p:not(.eyebrow){color:#5d5851;margin:16px 0 0;line-height:1.65}.coach-steps{gap:12px;margin:26px 0 0;padding:0;list-style:none;display:grid}.coach-steps li{border:1px solid var(--line);background:#f7f5f0;border-radius:12px;grid-template-columns:48px minmax(0,1fr);align-items:start;gap:14px;padding:18px;display:grid}.coach-steps li>span{width:44px;height:44px;color:var(--white);background:var(--black);border-radius:50%;place-items:center;font-weight:900;display:grid}.coach-steps strong{font-size:1rem}.coach-steps p{color:#5e5952;margin:6px 0 0;line-height:1.55}.help-safety-note{color:#fff;background:var(--black);border-left:6px solid var(--red);border-radius:10px;gap:6px;margin-top:18px;padding:18px;display:grid}.help-safety-note span{color:#d3d3d3;line-height:1.5}.install-button{width:100%;margin-top:24px}.install-grid{gap:16px;margin-top:24px;display:grid}.install-grid article{border:1px solid var(--line);background:#f7f5f0;border-radius:12px;padding:22px}.install-grid h3{margin:0;font-size:1.2rem}.install-grid ol,.plain-guide-list{gap:12px;margin:18px 0 0;padding-left:24px;line-height:1.55;display:grid}.plain-guide-list li::marker{color:var(--red);font-weight:900}.install-grid li::marker{color:var(--red);font-weight:900}.help-success,.help-owner-note{color:#14552f;background:#eaf6ee;border:1px solid #9fd1af;border-radius:10px;margin:22px 0 0;padding:16px;font-weight:800}.help-owner-note{color:#4d463b;background:#f4efe5;border-color:#d9cdbb}.backup-section{border-top:7px solid var(--red)}.backup-panel{color:var(--white);background:var(--black);border-radius:12px;gap:18px;margin-top:26px;padding:22px;display:grid}.backup-panel p{color:#c8c8c8;margin:8px 0 0;line-height:1.5}.backup-panel .primary-button{width:100%}.backup-reminder{color:#5a3315;background:#fff2dd;border:1px solid #e7c28b;border-radius:10px;margin:18px 0 0;padding:16px;line-height:1.55}.service-map{background:var(--line);border:1px solid var(--line);border-radius:12px;gap:1px;margin:26px 0 0;display:grid;overflow:hidden}.service-map div{background:#f8f6f2;gap:6px;padding:17px;display:grid}.service-map dt{color:#6d665d;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:900}.service-map dd{overflow-wrap:anywhere;margin:0;font-weight:800}.service-map a{color:#7a0d12;align-items:center;min-height:44px;display:inline-flex}.proof-status{border-radius:10px;margin:24px 0 0;padding:16px;font-weight:900}.proof-status.passed{color:#14552f;background:#eaf6ee;border:1px solid #9fd1af}.proof-status.failed{color:#7e1116;background:#fff0f0;border:1px solid #efb2b5}.proof-table{border:1px solid var(--line);border-radius:12px;margin-top:18px;overflow:hidden}.proof-table-head{display:none}.proof-row{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:1fr 1fr;gap:12px;padding:18px;display:grid}.proof-row:last-child{border-bottom:0}.proof-row>strong,.proof-row>small{grid-column:1/-1}.proof-row>span{gap:4px;font-weight:850;display:grid}.proof-row>span:before{content:attr(data-label);color:#716a61;letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:900}.proof-row b{color:var(--green)}.proof-row small{color:#6a645d;line-height:1.4}.acceptance-section ul{gap:12px;margin:24px 0 0;padding:0;list-style:none;display:grid}.acceptance-section li{border:1px solid var(--line);background:#f7f5f0;border-radius:10px;padding:15px 15px 15px 48px;font-weight:800;position:relative}.acceptance-section li:before{content:"✓";color:var(--green);font-size:1.2rem;font-weight:900;position:absolute;top:13px;left:16px}@media (width>=720px){.coach-steps,.install-grid,.acceptance-section ul{grid-template-columns:repeat(2,minmax(0,1fr))}.install-button{width:auto}.backup-panel{grid-template-columns:minmax(0,1fr) auto;align-items:center}.backup-panel .primary-button{width:auto;min-width:220px}.service-map div{grid-template-columns:180px minmax(0,1fr);align-items:center}.proof-table-head,.proof-row{grid-template-columns:1.35fr .65fr .65fr 1.35fr;align-items:center;gap:0;display:grid}.proof-table-head{color:#fff;background:var(--black);letter-spacing:.05em;text-transform:uppercase;padding:13px 18px;font-size:.72rem;font-weight:900}.proof-row{padding:0}.proof-row>strong,.proof-row>span,.proof-row>small{border-right:1px solid var(--line);grid-column:auto;align-content:center;min-height:58px;padding:13px 18px}.proof-row>small{border-right:0}.proof-row>span:before{display:none}}@media print{.help-shell .site-header,.help-toolbar,.help-hero nav,.install-button,.backup-panel .primary-button{display:none!important}.help-main{width:100%;padding:0;display:block}.help-hero,.help-section{color:#111;box-shadow:none;break-inside:avoid;background:#fff;border:1px solid #aaa;margin:0 0 16px;padding:20px}.help-hero h1{font-size:30pt}.help-hero>p:not(.eyebrow){color:#333}.help-section-heading h2{font-size:20pt}.coach-steps,.install-grid,.acceptance-section ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
