@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,600;0,700;0,800;1,700&family=Inter:wght@400;500;600;700&display=swap');
:root{--ink:#0b1612;--muted:#64706b;--line:#e2e7e4;--lime:#c9ff3d;--dark:#07110d;--paper:#f6f8f6}*,*::before,*::after{box-sizing:border-box}html,body{width:100%;max-width:100%;overflow-x:hidden}body{margin:0;background:#fff;color:var(--ink);font-family:Inter,Arial,sans-serif}button{font:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;z-index:20;inset:0 auto 0 0;width:248px;background:var(--dark);color:#fff;padding:30px 19px 24px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font:800 22px Barlow Condensed;letter-spacing:2.5px}.brand-mark{display:grid;place-items:center;width:33px;height:33px;background:var(--lime);color:#07110d;clip-path:polygon(15% 0,100% 0,85% 100%,0 100%)}.nav-caption{font-size:10px;letter-spacing:1.6px;color:#738079;margin:25px 12px 13px}.sidebar nav button{position:relative;border:0;background:none;color:#8e9a94;width:100%;display:flex;align-items:center;gap:13px;padding:13px 12px;border-radius:5px;margin:3px 0;cursor:pointer;text-align:left;font-size:13px;font-weight:600}.sidebar nav button:hover{color:#fff;background:#111f19}.sidebar nav button.active{color:#fff;background:#17251f}.sidebar nav button.active svg{color:var(--lime)}.sidebar nav button i{position:absolute;right:12px;width:5px;height:5px;border-radius:50%;background:var(--lime)}.sidebar-account{margin-top:24px;padding:14px 6px;border-top:1px solid #223029;border-bottom:1px solid #223029}.account-summary{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px}.account-identity{min-width:0}.account-summary strong{display:block;overflow:hidden;text-overflow:ellipsis;font-size:11px;white-space:nowrap}.account-summary span{display:block;color:#78837e;font-size:9px;margin-top:4px}.account-summary [data-global-logout]{grid-column:1/-1;width:100%;min-height:44px;margin-top:4px;border:1px solid #35443c;background:#111f19;color:var(--lime);font-size:11px;font-weight:800;cursor:pointer}.account-summary [data-global-logout]:hover,.account-summary [data-global-logout]:focus-visible{border-color:var(--lime);color:#fff}.mini-avatar,.avatar{background:#d5ff66;color:#17210b;display:grid;place-items:center;font-weight:800}.mini-avatar{width:36px;height:36px;border-radius:50%;font-size:11px}.close-menu{display:none}main{margin-left:248px;width:calc(100% - 248px);min-width:0}header{height:74px;border-bottom:1px solid var(--line);display:flex;justify-content:flex-end;align-items:center;padding:0 5vw}.header-right{display:flex;align-items:center;gap:18px}.season{font-size:9px;font-weight:700;letter-spacing:1.2px;border:1px solid var(--line);padding:7px 10px;border-radius:20px}.season i,.status-pill span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#6cda40;margin-right:6px}.header-right button,.menu-btn{border:0;background:none;color:#46524d}.avatar{width:33px;height:33px;border-radius:50%;font-size:10px}.mobile-brand,.menu-btn{display:none}.content{overflow:hidden}.hero{min-height:570px;background:#f2f5f2;display:grid;grid-template-columns:51% 49%}.hero-copy{padding:84px 5vw 55px;z-index:2}.status-pill{display:inline-block;font-size:9px;font-weight:800;letter-spacing:1.6px;background:#e6ebe7;padding:8px 11px;border-radius:3px}.hero h1{font:800 clamp(60px,6vw,94px)/.83 Barlow Condensed;margin:27px 0 25px;letter-spacing:-2px}.hero h1 em{color:#6c795f;font-style:italic}.hero-copy>p{max-width:520px;font-size:15px;line-height:1.75;color:#65716b}.hero-actions{display:flex;gap:12px;margin-top:31px}.primary,.secondary{height:48px;padding:0 20px;border:0;display:inline-flex;align-items:center;gap:16px;font-size:11px;font-weight:800;cursor:pointer}.primary{background:var(--lime);color:#0a150e}.primary:hover{background:#b7ec30}.secondary{background:#fff;border:1px solid #d7ded9}.trust-row{display:flex;gap:0;margin-top:43px}.trust-row div{padding:0 32px;border-right:1px solid #d6ddd8}.trust-row div:first-child{padding-left:0}.trust-row div:last-child{border:0}.trust-row strong{display:block;font:700 23px Barlow Condensed}.trust-row span{font-size:9px;color:#77817c}.hero-visual{position:relative;overflow:hidden;background:radial-gradient(circle at 52% 45%,#24352c 0,#0c1812 54%,#07100c 100%);min-height:570px}.grid-lines{position:absolute;inset:0;opacity:.08;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:48px 48px}.speed-ring{position:absolute;border:1px solid rgba(203,255,61,.18);border-radius:50%}.ring-one{width:360px;height:360px;left:19%;top:14%}.ring-two{width:500px;height:500px;left:5%;top:2%}.track-line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(199,255,61,.65),transparent);width:110%;transform:rotate(-13deg);left:-10%}.track-line.one{bottom:23%}.track-line.two{bottom:17%}.track-line.three{bottom:11%}.metric-card{position:absolute;color:white;background:rgba(23,36,29,.84);border:1px solid #3b4b42;backdrop-filter:blur(8px);padding:13px;display:flex;align-items:center;gap:10px;z-index:3}.metric-card svg{color:var(--lime)}.metric-card span{display:block;color:#8d9a93;font-size:7px;letter-spacing:1.1px}.metric-card strong{font:700 19px Barlow Condensed}.metric-card small{font:500 9px Inter}.metric-card.velocity{top:20%;right:8%}.metric-card.velocity b{font-size:8px;color:#94c631}.metric-card.sprint{bottom:22%;left:8%}.visual-label{position:absolute;bottom:7%;right:8%;color:#75827b;font-size:8px;letter-spacing:1.2px}.visual-label span{color:var(--lime);margin-right:8px}.section-block{padding:92px 5vw 100px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:42px}.kicker{display:block;color:#759229;font-size:9px;font-weight:800;letter-spacing:1.8px;margin-bottom:13px}.section-heading h2,.program-banner h2{font:700 40px Barlow Condensed;margin:0}.section-heading>p{max-width:370px;color:#78837e;font-size:12px;line-height:1.7}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.feature-card{min-height:314px;padding:24px;border-right:1px solid var(--line);cursor:pointer;transition:.2s}.feature-card:last-child{border:0}.feature-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px #11201518;background:#fafcf9}.card-top{display:flex;justify-content:space-between;align-items:start}.number{font:600 11px Barlow Condensed;color:#a6afa9}.icon-wrap{width:45px;height:45px;display:grid;place-items:center;background:#edf4df;color:#557617}.blue .icon-wrap{background:#e8f2f8;color:#25769e}.orange .icon-wrap{background:#fff0df;color:#d16a1b}.purple .icon-wrap{background:#f1eafb;color:#7750a5}.eyebrow{font-size:8px;font-weight:800;letter-spacing:1.4px;color:#8b9690;display:block;margin-top:30px}.feature-card h3{font:700 24px Barlow Condensed;margin:9px 0}.feature-card p{font-size:11px;line-height:1.7;color:#77817c;min-height:58px}.feature-card button,.module-grid button{border:0;background:none;padding:10px 0;display:flex;align-items:center;gap:10px;font-size:10px;font-weight:800;cursor:pointer}.program-banner{margin:0 5vw 80px;padding:45px 4vw;color:#fff;background:linear-gradient(105deg,#0d1d15,#172b20);display:flex;align-items:center;justify-content:space-between;position:relative}.program-banner:after{content:'';position:absolute;inset:0 0 0 55%;background:repeating-linear-gradient(120deg,transparent 0 18px,#fff 19px 20px);opacity:.025}.program-banner p{color:#8e9b94;font-size:11px}.program-banner button{z-index:2}footer{min-height:96px;background:#07110d;color:#79847e;display:flex;justify-content:space-between;align-items:center;padding:0 5vw;font-size:9px}footer .brand{color:#fff;font-size:16px}footer .brand-mark{width:25px;height:25px}.inner-page{padding:50px 5vw 100px;min-height:calc(100vh - 170px);background:var(--paper)}.back-link{border:0;background:none;padding:0;color:#78837e;font-size:11px;cursor:pointer}.inner-title{text-align:center;max-width:680px;margin:50px auto}.inner-title .icon-wrap{margin:0 auto 19px}.inner-title h1{font:800 clamp(48px,7vw,78px)/1 Barlow Condensed;margin:8px}.inner-title p{color:#78837e}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:1050px;margin:auto}.module-grid article{background:#fff;border:1px solid var(--line);padding:26px;min-height:195px}.module-grid article>span{font:700 10px Barlow Condensed;color:#829a48}.module-grid h3{font:700 24px Barlow Condensed;margin:20px 0 8px}.module-grid p{font-size:11px;color:#7c8781;line-height:1.6}
@media(max-width:980px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:translateX(0)}.close-menu{display:block;position:absolute;right:14px;top:34px;background:none;border:0;color:#fff}.overlay{position:fixed;z-index:19;inset:0;background:#05100ca8;display:none}.overlay.show{display:block}main{margin:0;width:100%}.menu-btn,.mobile-brand{display:flex}.menu-btn{flex:0 0 44px;width:44px;height:44px;padding:0;align-items:center;justify-content:center}.mobile-brand{min-width:0;align-items:center;gap:7px;font:800 17px Barlow Condensed;letter-spacing:2px;white-space:nowrap}.mobile-brand svg{flex:0 0 auto;color:#759c18}.header-right{margin-left:auto}.hero{grid-template-columns:1fr 1fr}.hero h1{font-size:66px}.feature-grid{grid-template-columns:repeat(2,1fr)}.feature-card:nth-child(2){border-right:0}.feature-card:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:700px){header{height:62px;padding:0 18px}.season{display:none}.hero{display:block}.hero-copy{padding:56px 22px 45px}.hero h1{font-size:58px}.hero-copy>p{font-size:13px}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions button{justify-content:center}.trust-row{justify-content:space-between}.trust-row div{padding:0 13px}.hero-visual{min-height:410px}.metric-card.velocity{right:3%}.section-block{padding:65px 20px}.section-heading{display:block}.section-heading h2{font-size:34px}.section-heading>p{margin-top:14px}.feature-grid{grid-template-columns:1fr}.feature-card,.feature-card:nth-child(2){border:0;border-bottom:1px solid var(--line)}.feature-card:last-child{border:0}.program-banner{margin:0 20px 60px;padding:35px 25px;display:block}.program-banner button{margin-top:15px;width:100%;justify-content:center}footer{padding:30px 20px;gap:20px;flex-direction:column}.module-grid{grid-template-columns:1fr}.inner-page{padding:35px 20px 70px}.inner-title{margin:40px auto}.inner-title h1{font-size:48px}}
.store-page{padding:48px 5vw 90px;background:var(--paper);min-height:calc(100vh - 170px)}.store-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin:42px 0 35px}.store-heading h1{font:800 clamp(46px,6vw,72px)/.95 Barlow Condensed;margin:0}.store-heading p{color:var(--muted);font-size:13px;line-height:1.7;max-width:610px}.cart-count{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);padding:11px 15px;white-space:nowrap;font-size:11px}.cart-count svg{color:#769b1e}.cart-count strong{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--lime);color:var(--dark)}.store-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.program-card{background:#fff;border:1px solid var(--line);min-width:0}.program-art{height:112px;padding:20px;background:linear-gradient(120deg,#0c1912,#23362b);position:relative;overflow:hidden;color:var(--lime);display:flex;align-items:flex-end;justify-content:space-between}.program-art:before{content:'';position:absolute;width:170px;height:170px;border:1px solid #c9ff3d33;border-radius:50%;right:-30px;top:-70px}.program-art span{color:#a8b3ad;font-size:8px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}.program-art svg{position:relative}.program-body{padding:22px}.duration{color:#6d8729;background:#f0f5e6;padding:6px 8px;font-size:8px;font-weight:800;letter-spacing:1px;text-transform:uppercase}.program-body h2{font:700 27px Barlow Condensed;margin:15px 0 8px}.program-body>p{color:#74807a;font-size:11px;line-height:1.65;min-height:38px}.program-body dl{display:grid;grid-template-columns:1fr auto;gap:15px;border-top:1px solid var(--line);padding-top:17px;margin:18px 0}.program-body dl div:last-child{text-align:right}.program-body dt{font-size:7px;letter-spacing:1.2px;color:#929d97}.program-body dd{font:700 15px Barlow Condensed;margin:5px 0 0}.buy-button,.owned-button,.checkout-button{border:0;width:100%;height:44px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:10px;font-weight:800}.buy-button,.checkout-button{background:var(--lime);color:var(--dark);cursor:pointer}.buy-button:hover,.checkout-button:hover{background:#b7ec30}.buy-button:disabled{background:#e5eae7;color:#89938e;cursor:default}.owned-button{background:#13221a;color:var(--lime)}.checkout-card{position:sticky;top:24px;background:#fff;border:1px solid var(--line);padding:22px}.checkout-title{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px}.checkout-title svg{color:#718f28}.checkout-title span{font-size:7px;font-weight:800;letter-spacing:1.3px;color:#8a958f}.checkout-title h2{font:700 22px Barlow Condensed;margin:3px 0 0}.cart-lines>div{display:grid;grid-template-columns:1fr auto 18px;gap:8px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font-size:10px}.cart-lines small{display:block;color:#8c9691;margin-top:4px}.cart-lines strong{font:700 15px Barlow Condensed}.cart-lines button{border:0;background:none;color:#9aa39e;cursor:pointer;font-size:17px}.cart-total{display:flex;justify-content:space-between;align-items:center;margin:20px 0}.cart-total span{font-size:10px;font-weight:700}.cart-total strong{font:700 25px Barlow Condensed}.payment-note{display:block;color:#939c97;text-align:center;margin-top:10px;font-size:8px}.empty-cart{text-align:center;padding:35px 0;color:#89938e}.empty-cart>span{width:45px;height:45px;display:grid;place-items:center;margin:auto;background:#f0f3f1}.empty-cart p{font:700 17px Barlow Condensed;margin:12px 0 3px;color:#53605a}.empty-cart small{font-size:9px}.checkout-message{display:flex;align-items:center;gap:7px;background:#eef7dc;color:#58721d;padding:11px;font-size:9px;font-weight:700}.my-programs{margin-top:70px;padding-top:38px;border-top:1px solid var(--line)}.my-programs>div:first-child{display:flex;justify-content:space-between;align-items:end}.my-programs h2{font:700 36px Barlow Condensed;margin:0}.owned-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:24px}.owned-grid article{background:#fff;border:1px solid var(--line);padding:20px;display:grid;grid-template-columns:38px 1fr auto;gap:15px;align-items:center}.owned-check{width:38px;height:38px;display:grid;place-items:center;background:var(--lime)}.owned-grid small{color:#80904e;font-size:8px;text-transform:uppercase;letter-spacing:.7px}.owned-grid h3{font:700 21px Barlow Condensed;margin:4px 0}.owned-grid p{font-size:9px;color:#85908a;margin:0}.owned-grid button{border:0;background:none;font-size:9px;font-weight:800;display:flex;align-items:center;gap:7px;cursor:pointer}
@media(max-width:980px){.store-layout{grid-template-columns:minmax(0,1fr) 280px}.program-grid{grid-template-columns:1fr}.owned-grid{grid-template-columns:1fr}}
@media(max-width:700px){.store-page{padding:34px 18px 65px}.store-heading{display:block;margin:34px 0 25px}.store-heading h1{font-size:46px}.store-heading p{font-size:12px}.cart-count{display:inline-flex;margin-top:12px}.store-layout{grid-template-columns:1fr}.program-grid{grid-template-columns:1fr}.checkout-card{position:static;grid-row:1}.program-art{height:96px}.my-programs{margin-top:50px}.my-programs h2{font-size:30px}.owned-grid article{grid-template-columns:38px 1fr}.owned-grid article button{grid-column:2}.owned-grid p{line-height:1.5}}

/* Acceleration module */
.module-grid article.available{border-color:#a9d43a;box-shadow:inset 0 3px 0 var(--lime);cursor:pointer;transition:transform .2s,box-shadow .2s}.module-grid article.available:hover,.module-grid article.available:focus{transform:translateY(-4px);box-shadow:inset 0 3px 0 var(--lime),0 14px 28px #13221914;outline:none}.module-grid article.available button{color:#17210b}.acceleration-page{padding:48px 5vw 100px;background:var(--paper);min-height:calc(100vh - 170px)}.acceleration-hero{width:100%;max-width:1200px;margin:38px auto 0;background:var(--dark);border:1px solid #26372e;box-shadow:0 24px 50px #0a160f24;overflow:hidden}.acceleration-hero img{display:block;width:100%;height:auto;object-fit:contain}.acceleration-heading{max-width:1200px;margin:64px auto 34px;display:flex;align-items:end;justify-content:space-between;gap:40px}.acceleration-heading h1{font:800 clamp(46px,6vw,72px)/.95 Barlow Condensed;margin:0;text-transform:uppercase}.acceleration-heading p{max-width:490px;margin:0;color:var(--muted);font-size:12px;line-height:1.8}.acceleration-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);background:#fff}.acceleration-grid article{padding:25px 22px;min-height:245px;border-right:1px solid var(--line)}.acceleration-grid article:last-child{border:0}.metric-index{display:flex;justify-content:space-between;align-items:start;color:#8a9690;font:700 11px Barlow Condensed}.metric-index .icon-wrap{width:40px;height:40px}.acceleration-grid h2{font:700 25px/1 Barlow Condensed;margin:34px 0 12px;text-transform:uppercase}.acceleration-grid p{font-size:10px;line-height:1.7;color:#78837e;min-height:70px}.metric-status{font-size:7px;font-weight:800;letter-spacing:1.3px;color:#789629}
@media(max-width:980px){.acceleration-grid{grid-template-columns:repeat(2,1fr)}.acceleration-grid article{border-bottom:1px solid var(--line)}.acceleration-grid article:nth-child(2n){border-right:0}.acceleration-grid article:last-child{border-bottom:0}.acceleration-heading{align-items:start;flex-direction:column;gap:18px}}
@media(max-width:700px){.acceleration-page{padding:34px 18px 70px}.acceleration-hero{margin-top:28px}.acceleration-heading{margin:45px auto 25px}.acceleration-heading h1{font-size:45px}.acceleration-grid{grid-template-columns:1fr}.acceleration-grid article,.acceleration-grid article:nth-child(2n){border-right:0;border-bottom:1px solid var(--line);min-height:210px}.acceleration-grid p{min-height:0;margin-bottom:24px}}

/* 0–10 metre detail */
.acceleration-grid article.metric-available{cursor:pointer;box-shadow:inset 0 3px 0 var(--lime);transition:transform .2s,box-shadow .2s}.acceleration-grid article.metric-available:hover,.acceleration-grid article.metric-available:focus{outline:none;transform:translateY(-4px);box-shadow:inset 0 3px 0 var(--lime),0 14px 28px #13221914}.ten-metre-page{padding:48px 5vw 100px;background:var(--paper);min-height:calc(100vh - 170px)}.ten-metre-back{display:inline-flex;align-items:center;gap:7px;color:#101512;font-size:clamp(13px,1.1vw,15px);font-weight:650}.ten-metre-back .back-arrow{color:var(--lime);font-size:1.25em;font-weight:900;line-height:1}.ten-metre-title{margin:62px auto 48px;max-width:1200px;border-bottom:1px solid var(--line);padding-bottom:45px}.ten-metre-title h1{font:800 clamp(58px,8vw,96px)/.82 Barlow Condensed;margin:18px 0 25px;text-transform:uppercase;letter-spacing:-1px}.ten-metre-title h1 em{font-style:italic;color:#6c795f}.ten-metre-title p{max-width:600px;color:var(--muted);font-size:13px;line-height:1.8}.ten-metre-intro{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--line)}.ten-metre-intro article{padding:30px;border-right:1px solid var(--line);min-height:245px}.ten-metre-intro article:last-child{border:0}.ten-metre-intro article>span,.drill-grid article>span{font:700 10px Barlow Condensed;color:#789629;letter-spacing:1px}.ten-metre-intro article>span b,.drill-grid article>span b{font-size:clamp(15px,1.35vw,18px);font-weight:800;line-height:1}.ten-metre-intro h2{font:700 27px Barlow Condensed;margin:36px 0 12px;text-transform:uppercase}.ten-metre-intro p,.drill-grid p,.record-panel>p{font-size:11px;color:#78837e;line-height:1.75}.drill-section{max-width:1200px;margin:80px auto}.section-label{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.section-label h2,.cue-record h2{font:700 40px Barlow Condensed;margin:0;text-transform:uppercase}.drill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.drill-grid article{background:#fff;border:1px solid var(--line);padding:25px;display:grid;grid-template-columns:35px 1fr;gap:10px;min-height:210px}.drill-grid h3{font:700 25px Barlow Condensed;margin:0 0 9px;text-transform:uppercase}.drill-grid strong{display:inline-block;background:#eef5de;color:#5e7b1e;padding:6px 8px;font-size:14px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}.drill-grid p{margin-top:20px;font-size:15px;font-weight:500;color:var(--ink);line-height:1.75}.cue-record{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr 1fr}.cue-panel,.record-panel{padding:48px}.cue-panel{background:var(--dark);color:#fff}.cue-panel ul{list-style:none;padding:0;margin:35px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#334139}.cue-panel li{background:#101d16;padding:18px;font:700 17px Barlow Condensed;text-transform:uppercase}.cue-panel li:before{content:'→';color:var(--lime);margin-right:10px}.record-panel{background:#fff;border:1px solid var(--line)}.record-panel label{display:block;font-size:9px;font-weight:800;letter-spacing:1px;text-transform:uppercase;margin:25px 0 8px}.time-input{height:54px;border:1px solid #cfd7d2;display:flex;align-items:center;margin-bottom:12px}.time-input:focus-within{border-color:#7d9e2d;box-shadow:0 0 0 2px #c9ff3d55}.time-input input{min-width:0;flex:1;height:100%;border:0;outline:0;padding:0 15px;font:700 21px Barlow Condensed}.time-input span{padding:0 15px;color:#77817c;font-size:10px}.record-panel .primary{width:100%;justify-content:center}.time-confirmation{min-height:20px;color:#58721d!important;display:flex;align-items:center;gap:7px;margin-bottom:0}.time-confirmation svg{color:#6f921f}
@media(max-width:980px){.ten-metre-intro{grid-template-columns:1fr}.ten-metre-intro article{border-right:0;border-bottom:1px solid var(--line);min-height:0}.drill-grid{grid-template-columns:1fr}.drill-grid article{min-height:0}.cue-record{grid-template-columns:1fr}}
@media(max-width:700px){.ten-metre-page{padding:34px 18px 70px}.ten-metre-title{margin:45px auto 35px}.ten-metre-title h1{font-size:57px}.ten-metre-intro article{padding:24px}.drill-section{margin:55px auto}.section-label{display:block}.section-label h2,.cue-record h2{font-size:34px}.drill-grid article{padding:22px}.cue-panel,.record-panel{padding:30px 24px}.cue-panel ul{grid-template-columns:1fr}.cue-panel li{padding:15px}}

/* 0–10 metre session results */
.record-panel .primary:disabled{background:#e5eae7;color:#89938e;cursor:default}.attempt-list{margin-top:24px;border:1px solid var(--line)}.attempt-row{min-height:42px;padding:10px 13px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fafbfa}.attempt-row:last-child{border:0}.attempt-row span{font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#000}.session-stats span{font-size:8px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#8a958f}.attempt-row strong{font:700 17px Barlow Condensed;color:#a3aca7}.attempt-row.recorded{background:#fff}.attempt-row.recorded strong{color:var(--ink)}.attempt-row small,.session-stats small{font:500 9px Inter;color:#77817c}.session-stats{display:grid;grid-template-columns:1fr 1fr;margin-top:14px;border:1px solid var(--line)}.session-stats>div{padding:15px}.session-stats>div+div{border-left:1px solid var(--line)}.session-stats span{display:block;margin-bottom:7px}.session-stats strong{font:700 24px Barlow Condensed}.session-summary{margin-top:14px;padding:17px;background:#101d16;color:#fff;display:grid;gap:5px}.session-summary>span{display:flex;align-items:center;gap:7px;color:var(--lime);font-size:8px;font-weight:800;letter-spacing:1.2px}.session-summary>strong{font:700 17px Barlow Condensed}.session-summary p{color:#aab4ae;font-size:9px;line-height:1.6;margin:5px 0 0}.record-panel .new-session{width:100%;justify-content:center;margin-top:14px}
@media(max-width:700px){.session-stats{grid-template-columns:1fr}.session-stats>div+div{border-left:0;border-top:1px solid var(--line)}}
.sidebar-auth{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sidebar-auth button{min-height:44px;border:1px solid #35443c;background:#111f19;color:#fff;padding:8px 6px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}.sidebar-auth button+button{border-color:#6f8f21;background:var(--lime);color:#0a150e}.sidebar-auth button:hover,.sidebar-auth button:focus-visible{border-color:var(--lime)}

/* Readable type scale
   Prescription copy is the baseline for supporting UI text. Keep incidental
   visual annotations slightly smaller, while all actionable and instructional
   copy remains readable at every viewport size. */
:root{--type-readable:14px;--type-meta:13px;--type-body:15px}
.nav-caption,.sidebar-foot span,.season,.status-pill,.trust-row span,.metric-card span,.metric-card small,.visual-label,.kicker,.eyebrow,.number,.module-grid article>span,.duration,.program-art span,.program-body dt,.checkout-title span,.payment-note,.empty-cart small,.checkout-message,.owned-grid small,.metric-status,.record-panel label,.attempt-row span,.session-stats span,.attempt-row small,.session-stats small,.session-summary>span,.session-summary p{font-size:var(--type-meta)}
.sidebar nav button,.sidebar-foot strong,.back-link,.primary,.secondary,.feature-card button,.module-grid button,.cart-count,.buy-button,.owned-button,.checkout-button,.cart-lines>div,.cart-total span,.owned-grid button,.ten-metre-intro article>span,.drill-grid article>span,.time-input span{font-size:var(--type-readable)}
.sidebar-foot b,footer{font-size:var(--type-readable)}
.hero-copy>p,.section-heading>p,.feature-card p,.program-banner p,.inner-title p,.module-grid p,.store-heading p,.program-body>p,.owned-grid p,.acceleration-heading p,.acceleration-grid p,.ten-metre-title p,.ten-metre-intro p,.record-panel>p{font-size:var(--type-body)}
.metric-card.velocity b{font-size:var(--type-meta)}
.feature-card p,.module-grid p,.program-body>p,.acceleration-grid p{min-height:auto}
.ten-metre-intro article>span{display:flex;align-items:center;gap:8px;font-family:Barlow Condensed,Arial,sans-serif;font-weight:800;line-height:1.2}
.ten-metre-intro article>span b{flex:0 0 auto}
.record-panel label,.attempt-row span,.session-stats span{font-size:var(--type-readable)}
.session-summary p{font-size:13px}

@media(max-width:700px){
  .hero-copy>p,.store-heading p{font-size:var(--type-body)}
}

/* Shared acceleration performance modules */
.performance-page{padding:48px 5vw 100px;background:var(--paper);min-height:80vh}.module-back{display:inline-flex;align-items:center;gap:9px;font-size:15px;font-weight:800}.module-back span{color:#8fbf12;font-size:24px}.performance-title{max-width:1200px;margin:55px auto 36px;border-bottom:1px solid var(--line);padding-bottom:38px}.performance-title>span{color:#718d28;font-size:13px;font-weight:800;letter-spacing:1.4px}.performance-title h1{font:800 clamp(54px,8vw,92px)/.9 Barlow Condensed;margin:15px 0;text-transform:uppercase}.performance-title p{font-size:18px;font-weight:600;line-height:1.6;max-width:650px;color:#35413b}.performance-intro{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);background:white;border:1px solid var(--line)}.performance-intro article{padding:30px;border-right:1px solid var(--line)}.performance-intro article:last-child{border:0}.performance-intro article>span{font:800 14px Barlow Condensed;color:#718d28;letter-spacing:.6px}.performance-intro h2{font:800 27px Barlow Condensed;margin:28px 0 12px}.performance-intro p,.module-drills p,.tool-note{font-size:15px;font-weight:500;line-height:1.7;color:#27332d}.measure-panel{max-width:900px;margin:70px auto;background:#fff;border:1px solid var(--line);padding:clamp(24px,5vw,50px);box-shadow:inset 0 4px 0 var(--lime)}.measure-panel>h2,.module-drills>h2{font:800 clamp(34px,5vw,48px) Barlow Condensed;margin:8px 0 28px}.measure-panel form{display:grid;gap:16px}.measure-panel label{font-size:14px;font-weight:800;letter-spacing:.5px}.measure-input{margin-top:8px;display:flex;height:56px;border:2px solid #bac5bf;background:white}.measure-input:focus-within{border-color:#759520;box-shadow:0 0 0 3px #c9ff3d55}.measure-input input{width:100%;min-width:0;border:0;outline:0;padding:12px;font-size:20px;font-weight:700}.measure-input b{display:flex;align-items:center;padding:0 14px;background:#edf1ee;white-space:nowrap}.unit-row{display:grid;grid-template-columns:2fr 1fr;gap:15px}.unit-row select{display:block;margin-top:8px;width:100%;height:56px;border:2px solid #bac5bf;padding:10px;font-size:17px;font-weight:700}.action,.reuse,.reset-session,.timer-box button{min-height:50px;border:0;padding:12px 18px;font-weight:900;cursor:pointer}.action{background:var(--lime);color:#08100c}.reuse{background:#16231c;color:white}.reset-session{margin-top:22px;background:white;border:2px solid #18231d}.validation{min-height:22px;margin:0;color:#a12620;font-size:15px;font-weight:700}.tool-note{padding:18px;background:#edf2e9;border-left:4px solid #809f30;margin:0}.timer-box{background:#0c1712;color:white;padding:24px}.timer-box>span{font-size:14px;font-weight:800;color:var(--lime)}.timer-box>strong{display:block;font:800 52px Barlow Condensed;margin:15px 0}.timer-box small{font-size:17px}.timer-box>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.timer-box button{background:var(--lime)}.timer-box button:nth-child(2){background:white}.timer-box button:nth-child(3){background:#28362f;color:white}.performance-attempts{margin-top:30px;border:1px solid var(--line)}.performance-attempts>div{display:flex;justify-content:space-between;gap:15px;padding:14px;border-bottom:1px solid var(--line);font-size:15px}.performance-attempts>div:last-child{border:0}.performance-attempts strong{font-weight:900}.performance-attempts span{font-weight:700}.result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}.result-grid article{background:#0c1712;color:white;padding:20px}.result-grid span{font-size:13px;font-weight:800;color:var(--lime)}.result-grid strong{display:block;font:800 34px Barlow Condensed;margin-top:8px}.result-grid small{font-size:16px}.module-drills{max-width:1200px;margin:70px auto}.module-drills>div{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.module-drills article{background:white;border:1px solid var(--line);padding:25px}.module-drills article>b{color:#789629}.module-drills h3{font:800 26px Barlow Condensed;margin:14px 0}.module-drills article>strong{display:block;margin-top:18px;padding:10px;background:#eaf2dc;font-size:14px;line-height:1.5}
.performance-page[data-module="max-acceleration"] .module-back span{color:var(--lime)}.test-distance select{display:block;width:100%;height:58px;margin-top:8px;border:2px solid #bac5bf;background:#fff;padding:0 14px;color:var(--ink);font-size:18px;font-weight:800}.test-distance select:focus{border-color:#759520;outline:3px solid #c9ff3d55}.distance-note{margin:0;color:#35413b;font-size:15px;font-weight:600}.max-results article:last-child{grid-column:1/-1}.estimate-basis{margin:12px 0 0;font-size:16px;font-weight:800;color:#fff}.estimate-disclaimer{max-width:720px;margin:14px 0 0;font-size:15px;font-weight:600;line-height:1.6;color:#dbe3df}
@media(max-width:800px){.performance-page{padding:32px 18px 70px}.performance-intro{grid-template-columns:1fr}.performance-intro article{border-right:0;border-bottom:1px solid var(--line)}.performance-intro article:last-child{border-bottom:0}.module-drills>div{grid-template-columns:1fr}.result-grid{grid-template-columns:1fr}.performance-title{margin-top:38px}.performance-title h1{font-size:clamp(1.65rem,7vw,2.125rem);line-height:1.05;letter-spacing:-.02em;overflow-wrap:break-word}.performance-title p{max-width:100%;font-size:clamp(.95rem,4vw,1.15rem);line-height:1.35}.performance-intro h2{overflow-wrap:break-word}}
@media(max-width:480px){.unit-row{grid-template-columns:1fr}.timer-box>div{grid-template-columns:1fr}.timer-box>strong{font-size:44px}.performance-attempts>div{align-items:flex-start;flex-direction:column}}
/* Speed training modules */
.prescription{margin:20px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.prescription div{background:#edf3e5;padding:11px;min-width:0}.prescription dt{font-size:12px;font-weight:900;text-transform:uppercase;color:#536721}.prescription dd{margin:5px 0 0;font-size:15px;font-weight:800;line-height:1.45;overflow-wrap:anywhere}.speed-detail .measure-panel{margin-top:70px}.mechanics-check fieldset{border:1px solid var(--line);margin:22px 0;padding:20px}.mechanics-check legend{font:800 24px Barlow Condensed;padding:0 8px}.mechanics-check fieldset>div{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}.mechanics-check fieldset>div:last-child{border:0}.mechanics-check label{font-size:14px;font-weight:900;white-space:nowrap}.mechanics-check input{width:20px;height:20px;vertical-align:middle;accent-color:#86a92a}.library-tools{max-width:1200px;margin:0 auto 30px}.library-tools>label{display:block;font-size:14px;font-weight:900}.library-tools input{display:block;width:100%;height:56px;margin-top:8px;padding:12px 16px;border:2px solid #aebbb4;font-size:17px}.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.filter-row button{min-height:44px;padding:9px 14px;border:2px solid #17231d;background:#fff;font-weight:900;cursor:pointer}.filter-row button.selected{background:var(--lime)}.library-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.library-grid article{background:#fff;border:1px solid var(--line);padding:24px;box-shadow:inset 0 3px 0 var(--lime)}.library-grid article>span{font-size:13px;color:#607c1e;font-weight:900}.library-grid h2{font:800 28px Barlow Condensed;margin:12px 0 20px}.library-grid dl{margin:0}.library-grid dl div{padding:11px 0;border-top:1px solid var(--line)}.library-grid dt{font-size:12px;font-weight:900;color:#52621d}.library-grid dd{margin:5px 0 0;font-size:15px;font-weight:600;line-height:1.55}.empty-results{font-size:17px;font-weight:700}.speed-detail .result-grid article:nth-child(3){grid-column:1/-1}
@media(max-width:800px){.prescription{grid-template-columns:1fr 1fr}.library-grid{grid-template-columns:1fr}.mechanics-check fieldset>div{grid-template-columns:1fr 1fr}.mechanics-check fieldset>div>strong{grid-column:1/-1}.filter-row button{flex:1 1 145px}}
@media(max-width:480px){.prescription{grid-template-columns:1fr}.mechanics-check fieldset{padding:15px}.mechanics-check fieldset>div{gap:10px}.mechanics-check label{font-size:13px}}

/* Home entry: CSS-only athletic performance environment */
.hero{position:relative;isolation:isolate;display:grid;place-items:center;min-height:clamp(620px,calc(100vh - 74px),880px);overflow:hidden;background:radial-gradient(ellipse at 50% 47%,#16281f 0,#0a1510 42%,#050907 78%,#020403 100%);color:#fff}
.performance-backdrop,.technical-grid,.speed-lines,.particles{position:absolute;inset:0;pointer-events:none}
.performance-backdrop{z-index:-1;overflow:hidden}
.performance-backdrop:before{content:'';position:absolute;width:min(76vw,900px);aspect-ratio:1;left:50%;top:47%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(201,255,61,.16),rgba(126,174,36,.065) 32%,transparent 69%);filter:blur(8px);animation:entryGlow 9s ease-in-out infinite}
.technical-grid{opacity:.13;background-image:linear-gradient(rgba(193,255,77,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(193,255,77,.22) 1px,transparent 1px);background-size:52px 52px;mask-image:radial-gradient(ellipse at center,transparent 5%,#000 54%,#000 100%)}
.speed-lines{width:34%;opacity:.34;background:repeating-linear-gradient(156deg,transparent 0 25px,rgba(201,255,61,.35) 26px,transparent 27px 49px);mask-image:linear-gradient(90deg,#000,transparent);animation:speedDrift 12s ease-in-out infinite alternate}
.speed-lines-left{right:auto;transform:skewY(-7deg)}
.speed-lines-right{left:auto;transform:scaleX(-1) skewY(-7deg);animation-delay:-6s}
.particles i{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px 2px rgba(201,255,61,.38);opacity:.42;animation:particleFloat 8s ease-in-out infinite}
.particles i:nth-child(1){left:8%;top:19%}.particles i:nth-child(2){left:17%;top:72%;animation-delay:-5s}.particles i:nth-child(3){left:29%;top:88%;width:2px;height:2px;animation-delay:-2s}.particles i:nth-child(4){right:9%;top:25%;animation-delay:-6s}.particles i:nth-child(5){right:18%;top:69%;width:3px;height:3px;animation-delay:-3s}.particles i:nth-child(6){right:29%;top:12%;width:2px;height:2px;animation-delay:-7s}
.hero-copy{width:min(100%,920px);padding:76px 5vw 66px;text-align:center;z-index:2}
.hero .status-pill{color:#b9c6bf;background:rgba(12,24,18,.72);border:1px solid rgba(201,255,61,.18);backdrop-filter:blur(8px)}
.hero h1{font:800 clamp(66px,10vw,142px)/.72 Barlow Condensed;margin:42px auto 34px;letter-spacing:-.045em;text-transform:uppercase;text-shadow:0 8px 45px rgba(0,0,0,.72)}
.hero h1 span{font-size:.45em;line-height:1;letter-spacing:.26em;margin-left:.26em;color:#fff}
.hero h1 em{color:var(--lime);font-style:normal;text-shadow:0 0 26px rgba(201,255,61,.2)}
.hero-copy>p{max-width:620px;margin:0 auto;color:#b4c0ba;font-size:clamp(15px,1.5vw,18px);line-height:1.7}
.hero-actions{justify-content:center;margin-top:34px}.hero .primary,.hero .secondary{min-width:166px;height:54px;justify-content:center;text-transform:uppercase;letter-spacing:.8px}.hero .primary{box-shadow:0 0 24px rgba(201,255,61,.13)}.hero .secondary{color:#fff;background:rgba(9,18,13,.7);border-color:rgba(255,255,255,.2)}
.hero .trust-row{justify-content:center;margin-top:52px}.hero .trust-row div{min-width:150px;border-color:rgba(255,255,255,.13)}.hero .trust-row strong{font-size:26px}.hero .trust-row span{color:#96a29c}
@keyframes entryGlow{50%{opacity:.72;transform:translate(-50%,-50%) scale(1.06)}}
@keyframes speedDrift{to{opacity:.2;transform:translateY(14px) skewY(-7deg)}}
@keyframes particleFloat{50%{opacity:.7;transform:translate3d(7px,-12px,0)}}
@media(max-width:700px){.hero{min-height:calc(100svh - 62px)}.hero-copy{padding:58px 22px 45px}.hero h1{font-size:clamp(58px,20vw,92px);margin:34px auto 28px}.hero-actions{flex-direction:column;align-items:stretch;max-width:310px;margin-left:auto;margin-right:auto}.hero .primary,.hero .secondary{width:100%}.hero .trust-row{margin-top:42px}.hero .trust-row div{min-width:0;flex:1;padding:0 10px}.technical-grid{background-size:38px 38px}.speed-lines{width:43%;opacity:.25}}
@media(max-width:420px){.hero h1{font-size:clamp(51px,19vw,76px)}.hero h1 span{letter-spacing:.2em;margin-left:.2em}.hero .trust-row span{font-size:10px}.particles i:nth-child(3),.particles i:nth-child(6){display:none}}
@media(prefers-reduced-motion:reduce){.performance-backdrop:before,.speed-lines,.particles i{animation:none!important}}

/* Responsive home entry layout */
.section-block{width:100%;max-width:1320px;margin-inline:auto}
.section-heading,.feature-grid{width:100%;max-width:1200px;margin-inline:auto}
.section-heading{margin-bottom:42px}
.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.feature-card{min-width:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.feature-card:nth-child(2n){border-right:0}
.feature-card:nth-last-child(-n+2){border-bottom:0}
.program-banner{width:calc(100% - 10vw);max-width:1200px;margin-inline:auto}

@media (min-width:481px) and (max-width:1024px){
  .section-block{padding-inline:clamp(28px,4vw,44px)}
  .hero-copy{padding-inline:clamp(28px,5vw,52px)}
  .hero h1{font-size:clamp(66px,12vw,112px)}
  .hero-actions{flex-direction:row;align-items:center;max-width:none}
  .hero .primary,.hero .secondary{width:auto;min-width:190px}
  .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .program-banner{width:calc(100% - clamp(56px,8vw,88px))}
}

@media (max-width:480px){
  .mobile-brand{min-width:0;margin:0 auto 0 0;font-size:clamp(14px,4.1vw,17px);letter-spacing:clamp(1px,.45vw,2px);white-space:nowrap}
  header>.header-right{display:none}
  .hero{min-height:calc(100svh - 62px)}
  .hero-copy{width:100%;padding:clamp(34px,7vh,54px) 20px clamp(30px,6vh,44px)}
  .hero .status-pill{font-size:clamp(8px,2.35vw,10px);letter-spacing:clamp(.8px,.3vw,1.6px);white-space:nowrap}
  .hero h1{width:100%;max-width:100%;font-size:clamp(46px,14.5vw,64px);line-height:.78;margin:clamp(24px,5vh,34px) auto 24px;letter-spacing:-.035em;white-space:nowrap}
  .hero h1 span{letter-spacing:.2em;margin-left:.2em}
  .hero-copy>p{font-size:clamp(14px,4vw,16px);line-height:1.55}
  .hero-actions{width:100%;max-width:100%;gap:12px;margin-top:26px}
  .hero .primary,.hero .secondary{width:100%;min-width:0;min-height:52px;height:auto;padding:14px 16px}
  .hero .trust-row{width:100%;margin-top:clamp(28px,6vh,40px)}
  .hero .trust-row div{min-width:0;padding:0 clamp(5px,2.5vw,10px)}
  .hero .trust-row strong{font-size:clamp(22px,7vw,26px)}
  .hero .trust-row span{display:block;font-size:clamp(9px,2.7vw,11px);line-height:1.35}
  .section-block{padding:58px 20px 64px}
  .section-heading{margin-bottom:28px}
  .section-heading h2{font-size:clamp(32px,10vw,40px);line-height:1.05;overflow-wrap:anywhere}
  .section-heading>p{font-size:15px;line-height:1.65}
  .feature-grid{grid-template-columns:minmax(0,1fr)}
  .feature-card,.feature-card:nth-child(2n),.feature-card:nth-last-child(-n+2){min-height:0;padding:22px 20px;border-right:0;border-bottom:1px solid var(--line)}
  .feature-card:last-child{border-bottom:0}
  .eyebrow{margin-top:20px}
  .feature-card h3{font-size:clamp(24px,7.5vw,29px)}
  .feature-card p{min-height:0;margin-bottom:8px;font-size:14px;line-height:1.6}
  .feature-card button{min-height:48px;padding:12px 0;font-size:13px}
  .program-banner{width:calc(100% - 40px);margin-bottom:60px}
}

/* Athlete management and six-week performance system */
.athlete-system{max-width:1280px;margin:auto;padding:34px 5vw 90px;min-width:0}.profile-top,.coach-heading,.athlete-identity{display:flex;align-items:center;justify-content:space-between;gap:20px}.mode-switch{display:flex;background:#0b1410;padding:4px}.mode-switch button,.coach-nav button,.profile-nav button,.status-filters button{border:0;background:transparent;cursor:pointer;font-weight:900;text-transform:uppercase}.mode-switch button{color:#91a098;min-height:42px;padding:10px 16px}.mode-switch .selected{background:var(--lime);color:#08100b}.athlete-identity{margin-top:38px;background:#07110d;color:#fff;padding:30px;border-left:5px solid var(--lime)}.athlete-identity h1,.coach-heading h1{font:800 clamp(38px,5vw,62px) Barlow Condensed;margin:5px 0;text-transform:uppercase}.athlete-identity p{margin:0;color:#aebbb4}.profile-placeholder{width:68px;height:68px;display:grid;place-items:center;flex:0 0 auto;border:2px solid var(--lime);border-radius:50%;font:800 23px Barlow Condensed;color:var(--lime)}.week-badge{text-align:right}.week-badge span{display:block;color:#9cab9f;font-size:11px;font-weight:900}.week-badge strong{font:800 25px Barlow Condensed;color:var(--lime)}.week-segments{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:12px 0}.week-segments button{height:42px;border:1px solid #acb8b1;background:#fff;font-weight:900;cursor:pointer}.week-segments .done{background:var(--lime);border-color:var(--lime)}.week-segments .current{color:var(--lime);background:#07110d;border-color:#07110d}.profile-nav,.coach-nav,.status-filters{display:flex;gap:5px;overflow-x:auto;scrollbar-width:thin}.profile-nav{margin:26px 0 36px;border-bottom:1px solid var(--line)}.profile-nav button,.coach-nav button{min-height:48px;padding:12px 16px;white-space:nowrap;color:#526058}.profile-nav .active,.coach-nav .active{color:#101a14;box-shadow:inset 0 -3px var(--lime)}.coach-nav{margin:18px 0 32px}.coach-nav button:last-child{margin-left:auto;background:var(--lime);color:#07110d}.save-notice{padding:12px 15px;background:#eaf8c5;border-left:4px solid #82a51e;font-weight:800}.dashboard-grid,.coach-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dark-stat{position:relative;overflow:hidden;background:#101a14;color:#fff;padding:26px}.dark-stat span,.completion-total span{display:block;font-size:11px;font-weight:900;letter-spacing:1.2px}.dark-stat strong{display:block;font:800 42px Barlow Condensed;margin:12px 0}.dark-stat b{color:var(--lime)}.dark-stat i,.completion-total i{position:absolute;bottom:0;left:0;height:5px;background:var(--lime)}.section-title{margin:46px 0 24px}.section-title h2,.profile-form h2,.recent h2{font:800 clamp(30px,4vw,45px) Barlow Condensed;text-transform:uppercase;margin:6px 0}.section-title p,.profile-form section>p{color:#617069;line-height:1.6}.metric-card-grid,.week-card-grid,.athlete-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.metric-card{background:#fff;border:1px solid var(--line);padding:22px;min-width:0}.metric-card>div:first-child{display:flex;justify-content:space-between;gap:10px}.metric-card>div span{font-weight:900}.metric-card>div b{font-size:10px;color:#607522}.metric-card dl{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0 0}.metric-card dt{font-size:11px;text-transform:uppercase;color:#66756d;font-weight:800}.metric-card dd{margin:4px 0;font-weight:900}.metric-card .accent{color:#668b00}.progress-chart{width:100%;height:190px;margin:20px 0;overflow:visible}.progress-chart path{stroke:#d7ded9;stroke-width:1;fill:none}.progress-chart line{stroke:#93bd20;stroke-width:2}.progress-chart circle{fill:var(--lime);stroke:#18231d;stroke-width:1}.progress-chart text{font-size:5px;font-weight:900;text-anchor:middle;fill:#65726b}.chart-empty,.profile-empty{padding:35px;background:#eef2ef;color:#5c6a62;text-align:center;font-weight:700}.profile-form section{background:#fff;border:1px solid var(--line);padding:28px;margin-bottom:15px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.profile-form label,.week-card-grid label,.test-row label{display:grid;gap:7px;font-size:12px;font-weight:900;text-transform:uppercase}.profile-form input,.profile-form select,.week-card-grid input,.progress-table input,.test-row input[type=number]{width:100%;min-width:0;height:48px;border:1px solid #aab6af;padding:10px;background:#fff;font-size:16px}.goal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0}.goal-grid label{display:block}.goal-grid input{position:absolute;opacity:0}.goal-grid span{display:block;height:100%;padding:13px;border:1px solid #aeb9b2;font-size:12px;line-height:1.35;cursor:pointer}.goal-grid input:checked+span{background:#132019;color:var(--lime);border-color:#132019}.custom-goal{margin-top:20px}.testing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.test-row{border:1px solid var(--line);padding:15px}.track-check{display:flex!important;grid-template-columns:auto 1fr;align-items:center}.track-check input{width:21px;height:21px;accent-color:#91b725}.progress-table-wrap{overflow-x:auto;margin-bottom:18px}.progress-table{width:100%;min-width:850px;border-collapse:collapse;background:#fff}.progress-table th,.progress-table td{border:1px solid var(--line);padding:10px;text-align:left}.progress-table th{font-size:12px}.progress-table th small{display:block;color:#79877f}.progress-table input{height:42px}.progress-cards{margin-top:38px}.completion-total{position:relative;overflow:hidden;background:#07110d;color:#fff;padding:26px;margin-bottom:16px}.completion-total strong{font:800 34px Barlow Condensed;display:block;margin:10px 0}.completion-total b{color:var(--lime);font-size:24px}.week-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.week-card-grid article{background:#fff;border-top:4px solid var(--lime);padding:20px}.week-card-grid article>span{font-weight:900}.week-card-grid article>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.week-card-grid article>strong{font-size:13px}.week-card-grid article>p{font-size:12px;color:#607068}.program-week-list{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.program-week-list article{padding:20px 10px;background:#fff;border:1px solid var(--line);text-align:center}.program-week-list b,.program-week-list span{display:block}.program-week-list span{font-size:11px;margin-top:5px}.program-week-list .complete{background:var(--lime)}.program-week-list .active{background:#07110d;color:var(--lime)}.coach-heading{margin:25px 0}.coach-stats{grid-template-columns:repeat(4,1fr)}.coach-stats article{background:#07110d;color:#fff;padding:22px;border-bottom:4px solid var(--lime)}.coach-stats span{font-size:10px;font-weight:900}.coach-stats strong{display:block;font:800 44px Barlow Condensed;color:var(--lime);margin-top:12px}.recent{margin-top:40px}.recent>button{width:100%;display:flex;justify-content:space-between;text-align:left;padding:18px;border:0;border-bottom:1px solid var(--line);background:#fff;cursor:pointer}.recent span{color:#66736c}.status-filters{margin-bottom:20px}.status-filters button{padding:10px 13px;border:1px solid var(--line);white-space:nowrap}.status-filters .active{background:#07110d;color:var(--lime)}.athlete-card-grid>button{text-align:left;background:#fff;border:1px solid var(--line);border-top:4px solid var(--lime);padding:22px;cursor:pointer}.athlete-card-grid h2{font:800 29px Barlow Condensed;margin:16px 0 3px}.athlete-card-grid p{color:#617069}.athlete-card-grid button>strong,.athlete-card-grid button>span:not(.athlete-status){display:block;margin-top:8px}.athlete-status{background:#e7f4c4;padding:5px 8px;font-size:10px;font-weight:900}.athlete-system .primary{margin-top:18px}
@media(max-width:900px){.coach-stats{grid-template-columns:repeat(2,1fr)}.goal-grid{grid-template-columns:repeat(2,1fr)}.week-card-grid{grid-template-columns:repeat(2,1fr)}.program-week-list{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.athlete-system{padding:22px 16px 65px}.profile-top,.athlete-identity,.coach-heading{align-items:flex-start;flex-wrap:wrap}.mode-switch{width:100%}.mode-switch button{flex:1}.athlete-identity{padding:22px 18px}.athlete-identity>div:nth-child(2){flex:1;min-width:150px}.week-badge{width:100%;text-align:left;border-top:1px solid #344139;padding-top:14px}.profile-nav{margin-top:18px}.dashboard-grid,.metric-card-grid,.athlete-card-grid,.form-grid,.testing-grid,.goal-grid,.week-card-grid,.coach-stats{grid-template-columns:minmax(0,1fr)}.profile-form section{padding:20px 16px}.progress-table-wrap{width:100%;overflow-x:auto}.progress-table{min-width:0;display:block}.progress-table thead{display:none}.progress-table tbody,.progress-table tr,.progress-table th,.progress-table td{display:block;width:100%}.progress-table tr{border:1px solid var(--line);margin-bottom:14px;padding:12px}.progress-table th,.progress-table td{border:0;padding:6px}.progress-table td:before{content:attr(data-label);font-weight:900}.metric-card dl{grid-template-columns:1fr 1fr}.week-card-grid article>div{grid-template-columns:1fr 1fr}.program-week-list{grid-template-columns:repeat(2,1fr)}.recent>button{flex-direction:column;gap:7px}.coach-nav button{padding:10px 8px;font-size:11px}.coach-nav button:last-child{margin-left:0}.progress-chart{height:160px}}

/* Server-backed authentication and administration */
.auth-page{position:relative;isolation:isolate;min-height:100svh;display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,520px);gap:clamp(32px,7vw,100px);align-items:center;padding:clamp(28px,6vw,80px);overflow:hidden;background:#050a07;color:#fff}.auth-page>.performance-backdrop{z-index:-1}.auth-brand{position:absolute;left:clamp(24px,5vw,72px);top:28px;display:flex;align-items:center;gap:10px;font:800 17px Barlow Condensed;letter-spacing:1.5px}.auth-intro{max-width:650px}.auth-intro h1{font:800 clamp(52px,7vw,94px)/.88 Barlow Condensed;text-transform:uppercase;margin:20px 0}.auth-intro h1 em{color:var(--lime);font-style:normal}.auth-intro p{max-width:540px;color:#acb9b2;font-size:17px;line-height:1.7}.auth-card{width:100%;max-height:calc(100svh - 70px);overflow-y:auto;background:#f7f8f5;color:#101a14;border-top:5px solid var(--lime);padding:clamp(24px,4vw,42px);box-shadow:0 24px 80px #0008}.auth-tabs{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);font-size:11px;font-weight:900;letter-spacing:1.4px}.auth-tabs button{-webkit-appearance:none;appearance:none;border:0;border-bottom:3px solid transparent;border-radius:0;box-shadow:none;background:transparent;color:inherit;padding:0 0 12px;font:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:uppercase;cursor:pointer;text-align:left;min-height:44px}.auth-tabs button:last-child{text-align:right}.auth-tabs button[aria-selected="true"]{border-bottom-color:var(--lime)}.auth-tabs button:focus-visible{outline:2px solid #101a14;outline-offset:3px}.auth-card form{display:grid;gap:16px;margin-top:26px}.auth-card h2,.admin-list h2{font:800 34px Barlow Condensed;text-transform:uppercase;margin:0}.auth-card form>p{color:#68756e;margin:-8px 0 4px}.auth-card label,.admin-list form{display:grid;gap:7px;font-size:11px;font-weight:900;text-transform:uppercase}.auth-card input,.auth-card select,.admin-list select{width:100%;height:50px;border:1px solid #9eaba4;background:#fff;padding:10px;font-size:16px}.auth-card small{color:#68756e;line-height:1.5}.role-selector{border:0;padding:0;margin:0;display:grid;gap:8px}.role-selector legend{margin-bottom:7px;font-size:11px;font-weight:900;text-transform:uppercase}.role-selector>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.role-selector label{display:block}.role-selector input{position:absolute;opacity:0;width:1px;height:1px}.role-selector span{display:grid;place-items:center;min-height:50px;border:1px solid #9eaba4;background:#fff;cursor:pointer;font-size:13px;font-weight:900;text-transform:uppercase}.role-selector input:checked+span{border-color:#101a14;background:#101a14;color:var(--lime)}.role-selector input:focus-visible+span{outline:2px solid var(--lime);outline-offset:2px}.auth-card .primary{width:100%;justify-content:center;margin-top:4px}.auth-divider{display:flex;align-items:center;gap:12px;margin:30px 0 0;color:#78847e;font-size:10px;font-weight:900}.auth-divider:before,.auth-divider:after{content:'';height:1px;background:var(--line);flex:1}.auth-error{background:#ffe5e1;border-left:4px solid #b93427;padding:12px;color:#7a1e16;font-weight:700}.account-actions{display:flex;align-items:center;gap:14px;margin-left:auto;font-size:12px;font-weight:900;text-transform:uppercase}.account-actions .back-link{margin:0;padding-left:14px;border-left:1px solid #bcc8c1}.admin-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);gap:20px}.admin-list{background:#fff;border:1px solid var(--line);padding:28px}.admin-list form{grid-template-columns:minmax(120px,1fr) minmax(160px,1fr) auto;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.admin-list button{height:44px;border:0;background:#101a14;color:var(--lime);font-weight:900;padding:0 14px;cursor:pointer}
@media(max-width:820px){.auth-page{grid-template-columns:1fr;padding:90px clamp(18px,5vw,42px) 35px}.auth-intro{text-align:center;margin:auto}.auth-intro h1{font-size:clamp(44px,11vw,70px)}.auth-intro p{margin-inline:auto}.auth-card{max-height:none;margin:auto}.admin-grid{grid-template-columns:1fr}}
@media(max-width:520px){.auth-page{padding-inline:16px}.auth-brand{left:18px}.auth-intro p{font-size:15px}.auth-card{padding:24px 18px}.auth-card .form-grid{grid-template-columns:1fr}.admin-list{padding:20px 16px}.admin-list form{grid-template-columns:1fr}.account-actions{order:3;width:100%;justify-content:space-between;margin-left:0}}


/* Shared navigation for every internal and authentication view. */
.page-navigation{display:flex;align-items:center;gap:8px;width:min(100%,1320px);margin:0 auto;padding:18px 5vw 0;position:relative;z-index:5}
.page-navigation button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:8px 13px;border:1px solid #bcc8c1;background:#fff;color:#142019;font:800 13px Barlow,Arial,sans-serif;white-space:nowrap;cursor:pointer;transition:border-color .18s,color .18s,background .18s}
.page-navigation button:hover,.page-navigation button:focus-visible{border-color:#8fbf12;background:#f4f8e9;color:#435b08;outline:2px solid transparent}
.page-navigation button>span:first-child,.page-navigation button svg{color:#83ad16;flex:0 0 auto}
.auth-shell{min-height:100svh;background:#050a07;position:relative}.auth-shell>.page-navigation{position:absolute;top:64px;left:clamp(24px,5vw,72px);width:auto;margin:0;padding:0;z-index:10}.auth-shell>.page-navigation button{border-color:#35443c;background:rgba(7,17,13,.86);color:#fff}
@media(max-width:1024px){.page-navigation{padding-inline:clamp(22px,4vw,42px)}}
@media(max-width:820px){.auth-shell>.page-navigation{top:62px;left:clamp(18px,5vw,42px)}.auth-page{padding-top:142px}}
@media(max-width:480px){.page-navigation{gap:6px;padding:12px 16px 0}.page-navigation button{padding:7px 11px;font-size:12px}.auth-shell>.page-navigation{top:60px;left:16px}.auth-page{padding-top:132px}}
@media(max-width:340px){.page-navigation button{padding-inline:9px}}

/* Authenticated account header and phone-only performance card carousel. */
header{height:auto;min-height:74px;gap:22px;flex-wrap:wrap}
.header-main{display:flex;align-items:center;gap:14px;margin-left:auto}
.header-account{display:flex;align-items:center;width:100%;max-width:360px;min-width:0;gap:12px}
.header-account-identity{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0}
.header-identity{display:grid;gap:3px;min-width:0}
.header-identity strong{display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.header-identity span{color:#77837d;font-size:9px;font-weight:900;letter-spacing:1.1px;text-transform:uppercase}
.header-sign-out{flex:0 0 auto;margin-left:auto;padding-left:14px;border-left:1px solid #c6cec9}
.header-account [data-global-logout]{min-height:44px;padding:0 14px;border:1px solid #c6cec9;background:#fff;color:#33413a;font-size:11px;font-weight:900;white-space:nowrap;cursor:pointer}
.header-account [data-global-logout]:hover,.header-account [data-global-logout]:focus-visible{border-color:#83ad16;color:#526f0d;outline:2px solid transparent}
.profile-top{justify-content:flex-start}

@media(max-width:980px){
  header{padding:10px clamp(16px,3vw,28px)}
  .header-main{flex:1 1 auto;margin-left:0}
  .header-main .season{margin-left:auto}
}

@media(max-width:600px){
  header{min-height:0;gap:8px 12px;padding:9px 16px 10px}
  .header-main{flex:1 0 100%;width:100%}
  .header-main .season{display:inline-flex;align-items:center;white-space:nowrap}
  .header-account{flex:1 0 100%;max-width:none;min-width:0;padding-top:8px;border-top:1px solid var(--line)}
  .header-identity{min-width:0}
  .header-identity strong{max-width:none}
  .header-account [data-global-logout]{min-width:82px}
}

@media(max-width:480px){
  header>.header-right{display:flex}
  .mobile-brand{font-size:clamp(12px,3.8vw,16px);letter-spacing:clamp(.8px,.35vw,1.6px)}
  .header-main{gap:8px}
  .header-main .season{padding-inline:8px;font-size:8px;letter-spacing:.8px}
  .header-account .avatar{flex:0 0 36px;width:36px;height:36px}
  .header-account [data-global-logout]{min-height:46px;padding-inline:12px}
  .feature-grid{display:flex;width:calc(100% + 20px);max-width:none;gap:14px;margin-right:-20px;padding:1px 20px 12px 0;border:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scrollbar-width:none}
  .feature-grid::-webkit-scrollbar{display:none}
  .feature-card,.feature-card:nth-child(2n),.feature-card:nth-last-child(-n+2){flex:0 0 85%;min-width:0;min-height:300px;padding:22px 20px;border:1px solid var(--line);scroll-snap-align:start;scroll-snap-stop:normal}
  .feature-card:last-child{border:1px solid var(--line)}
}

/* Keep authenticated navigation compact and on one line at every viewport. */
header{
  width:100%;min-width:0;height:64px;min-height:64px;
  display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;
  padding:0 clamp(12px,2vw,24px);
}
header .header-main{display:flex;align-items:center;flex-wrap:nowrap;width:100%;min-width:0;gap:clamp(8px,1.2vw,18px);margin:0}
header .mobile-brand{
  display:flex;align-items:center;flex:0 0 auto;min-width:0;gap:6px;margin:0;
  color:var(--ink);font:800 16px Barlow Condensed;letter-spacing:1.4px;white-space:nowrap;
}
header .mobile-brand svg{flex:0 0 17px;width:17px;height:17px}
header .season{
  display:inline-flex;align-items:center;flex:0 0 auto;white-space:nowrap;
  padding:6px 9px;font-size:9px;letter-spacing:.9px;
}
header .season i{flex:0 0 auto;margin-right:5px}
header .header-account{display:flex;align-items:center;flex:1 1 auto;width:auto;max-width:none;min-width:0;gap:8px}
header .header-account-identity{display:flex;align-items:center;flex:1 1 auto;min-width:0;gap:8px}
header .avatar{flex:0 0 32px;width:32px;height:32px;font-size:10px}
header .header-identity{display:flex;align-items:center;min-width:0;gap:0;white-space:nowrap}
header .header-identity strong{min-width:0;max-width:none;overflow:hidden;text-overflow:ellipsis;font-size:11px;white-space:nowrap}
header .header-identity span{flex:0 0 auto;font-size:8px;letter-spacing:.7px}
header .header-identity span::before{content:'\00a0\00b7\00a0';color:#77837d}
header .header-sign-out{flex:0 0 auto;margin-left:0;padding-left:10px;border-left:1px solid #c6cec9}
header .header-account [data-global-logout]{min-width:58px;min-height:44px;padding:0 10px;font-size:10px}
header .menu-btn{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;padding:0}

@media(max-width:980px){
  header .header-main{position:relative;padding-right:44px}
  header .menu-btn{
    position:absolute;z-index:1;right:0;top:50%;transform:translateY(-50%);
    display:flex;align-items:center;justify-content:center;width:44px;height:44px;
    color:#26332d;cursor:pointer;overflow:visible;
  }
  header .menu-btn svg{display:block;width:24px;height:24px;stroke-width:2.4}
}

@media(max-width:600px){
  header{height:56px;min-height:56px;padding:0 7px}
  header .header-main{width:100%;gap:5px}
  header .mobile-brand{font-size:12px;letter-spacing:.35px;gap:3px}
  header .mobile-brand svg{flex-basis:14px;width:14px;height:14px}
  header .season{padding:5px 4px;font-size:8px;letter-spacing:.35px}
  header .season i{width:5px;height:5px;margin-right:3px}
  header .header-account{width:auto;max-width:none;padding-top:0;border-top:0;gap:4px}
  header .header-account-identity{gap:4px}
  header .avatar{flex-basis:24px;width:24px;height:24px;font-size:8px}
  header .header-identity strong{font-size:9px}
  header .header-identity span{font-size:8px;letter-spacing:.2px}
  header .header-sign-out{padding-left:4px}
  header .header-account [data-global-logout]{min-width:50px;min-height:44px;padding:0 5px;font-size:10px}
  header .menu-btn{flex-basis:40px;width:40px;height:44px}
}

@media(max-width:350px){
  header{padding-inline:4px}
  header .header-main{gap:3px}
  header .mobile-brand{font-size:11px;letter-spacing:0}
  header .season{padding-inline:3px}
  header .header-account{gap:3px}
  header .header-account-identity{gap:3px}
  header .avatar{flex-basis:22px;width:22px;height:22px}
  header .header-identity strong{font-size:8.5px}
  header .header-identity span{font-size:7.5px}
  header .header-sign-out{padding-left:3px}
  header .header-account [data-global-logout]{min-width:47px;padding-inline:3px;font-size:9px}
  header .menu-btn{flex-basis:36px;width:36px}
}

/* Protected performance calculator tools */
.calculator-page{padding:34px 5vw 90px;background:var(--paper);min-height:80vh}.calculator-nav{display:flex;justify-content:space-between;gap:12px}.calculator-nav button{min-height:44px;border:0;background:transparent;font-weight:900;cursor:pointer}.calculator-title{max-width:1100px;margin:45px auto 30px}.calculator-title>span,.panel-label,.calculator-learning span{font-size:12px;font-weight:900;letter-spacing:1.3px;color:#718d28}.calculator-title h1{font:800 clamp(48px,8vw,86px)/.9 Barlow Condensed;text-transform:uppercase;margin:12px 0}.calculator-title p{font-size:18px;font-weight:600;color:#435048}.calculator-workspace{max-width:1100px;margin:auto;display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);background:#fff;border:1px solid var(--line)}.calculator-form,.calculator-result{padding:clamp(22px,4vw,40px)}.calculator-form{display:grid;gap:18px}.calculator-result{background:#09130e;color:#fff;border-top:5px solid var(--lime)}.standard-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.standard-fields.hidden,.split-fields.hidden{display:none}.calculator-form label{display:grid;gap:8px;font-size:13px;font-weight:900}.calculator-form input,.calculator-form select{width:100%;min-height:50px;border:2px solid #b8c3bd;background:#fff;padding:10px 12px;font-size:18px;font-weight:700}.calculator-form input:focus,.calculator-form select:focus{outline:3px solid #c9ff3d55;border-color:#759520}.calc-actions{display:grid;grid-template-columns:2fr 1fr;gap:10px}.calc-actions button,.mode-tabs button{min-height:50px;border:0;padding:12px;font-weight:900;cursor:pointer}.calc-actions button:first-child,.mode-tabs .active{background:var(--lime);color:#08100c}.calc-actions button:last-child,.mode-tabs button{background:#17231d;color:#fff}.calc-error{min-height:20px;color:#a12620;font-weight:800;margin:0}.result-empty{color:#aab7b0;line-height:1.6}.result-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.result-cards article{padding:18px;background:#14221b}.result-cards article span{display:block;color:var(--lime);font-size:11px;font-weight:900;letter-spacing:.8px}.result-cards article strong{display:block;font:800 44px Barlow Condensed;margin-top:8px}.result-cards article small{font-weight:900}.result-note,.split-summary{grid-column:1/-1;line-height:1.55;color:#d7e0db}.calculator-learning{max-width:1100px;margin:25px auto 0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.calculator-learning article{background:#fff;border:1px solid var(--line);padding:22px}.calculator-learning p{font-weight:600;line-height:1.6;color:#3b4841}.mode-tabs{max-width:1100px;margin:0 auto;display:flex;gap:8px}.split-fields{display:grid;gap:15px}.split-fields fieldset{border:1px solid var(--line);padding:14px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.split-fields legend{font-weight:900}.split-fields fieldset label{grid-template-columns:58px 1fr;align-items:center}.split-fields b{color:#718d28}.table-scroll{grid-column:1/-1;overflow-x:auto}.table-scroll table{width:100%;min-width:700px;border-collapse:collapse;font-size:13px}.table-scroll th,.table-scroll td{padding:12px 9px;text-align:left;border-bottom:1px solid #35443c}.table-scroll th{color:var(--lime)}.split-summary strong{color:var(--lime)}
@media(max-width:800px){.calculator-page{padding:24px 18px 65px}.calculator-title{margin-top:32px}.calculator-workspace{grid-template-columns:1fr}.calculator-learning{grid-template-columns:1fr}.standard-fields{grid-template-columns:1fr}.result-cards{grid-template-columns:1fr}.result-note,.split-summary{grid-column:auto}.calculator-form input,.calculator-form select{min-height:52px}.calculator-result{min-height:230px}.mode-tabs button{flex:1}}
@media(max-width:430px){.split-fields fieldset{grid-template-columns:1fr}.calc-actions{grid-template-columns:1fr}.calculator-title h1{font-size:44px}}

/* Role workspaces reuse the existing cards, typography, and responsive system. */
.testing-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 28px}.testing-tool-grid button{min-height:110px;padding:20px;text-align:left;border:1px solid var(--line);border-top:4px solid var(--lime);background:#fff;cursor:pointer}.testing-tool-grid strong,.testing-tool-grid span{display:block}.testing-tool-grid strong{font:800 23px Barlow Condensed;text-transform:uppercase}.testing-tool-grid span{margin-top:15px;color:#668b00;font-size:11px;font-weight:900}.profile-form textarea{width:100%;min-height:130px;margin-top:8px;padding:12px;border:1px solid #aab6af;font:inherit;resize:vertical}.record-list{display:grid;gap:10px;margin-top:20px}.record-list article{padding:20px;border:1px solid var(--line);border-left:4px solid var(--lime);background:#fff}.record-list strong,.record-list span{display:block}.record-list span{margin-top:5px;color:#668b00;font-size:12px;font-weight:900}.record-list p{white-space:pre-wrap;line-height:1.55}
@media(max-width:800px){.testing-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.testing-tool-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}.testing-tool-grid button{flex:0 0 84%;scroll-snap-align:start}.coach-nav{padding-bottom:5px}}

@media(max-width:600px){
 .athlete-system .profile-top{margin-bottom:8px}
 .athlete-system .coach-heading{margin:18px 0 22px;gap:14px}
 .athlete-system .coach-heading .primary{width:100%;min-height:48px;margin-top:0}
 .athlete-system .coach-stats{gap:10px}
 .athlete-system .coach-stats article{padding:18px}
 .athlete-system .recent{margin-top:30px}
}
.sidebar>nav{min-height:0;overflow-y:auto;overscroll-behavior:contain}

/* Coach Hub uses the Speed Training module-card system, with the compact phone grid requested for coach tools. */
.coach-hub{margin:24px 0 42px;min-width:0}
.coach-hub-heading{max-width:1050px;margin:0 auto 18px}
.coach-hub-heading h1{margin:5px 0 0;font:800 clamp(38px,8vw,58px)/.95 Barlow Condensed;text-transform:uppercase}
.coach-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;width:100%;min-width:0;height:auto;min-height:0}
.coach-hub-grid article{min-width:0;height:100%;padding:0}
.coach-hub-grid article>button{display:flex;width:100%;height:100%;min-height:195px;min-width:0;flex-direction:column;align-items:flex-start;padding:26px;color:inherit;text-align:left}
.coach-hub-icon{display:grid;width:35px;height:35px;place-items:center;color:#718d28}
.coach-hub-icon svg{width:25px;height:25px}
.coach-hub-grid h3{margin:16px 0 8px;text-transform:none}
.coach-hub-grid p{flex:1;margin:0 0 14px}
.coach-hub-action{color:#17210b;font-size:var(--type-readable);font-weight:800}
.coach-add-athlete{display:flex;align-items:center;justify-content:center;gap:8px;width:min(100%,1050px);min-height:54px;margin:12px auto 0;border:0;background:var(--lime);color:#08100b;font-size:15px;font-weight:900;text-transform:uppercase;cursor:pointer}
.coach-add-athlete:hover,.coach-add-athlete:focus-visible{background:#b9ed31;outline:3px solid #101a14;outline-offset:2px}
.team-overview{padding-top:30px;border-top:1px solid var(--line)}
@media(min-width:768px){.coach-hub-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:360px){.coach-hub-grid{grid-template-columns:1fr}}
/* Connected coach and athlete dashboard */
.team-dashboard{padding:34px 5vw 80px;min-width:0}.dashboard-heading{max-width:1100px;margin:auto}.dashboard-heading h1{font:800 clamp(42px,7vw,72px)/.95 Barlow Condensed;text-transform:uppercase;margin:8px 0}.dashboard-heading p{max-width:720px;color:#536058;font-weight:600}.dashboard-stats,.dashboard-grid{display:grid;max-width:1100px;margin:25px auto;gap:14px}.dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-stats article,.dashboard-panel{background:#fff;border:1px solid var(--line);border-top:4px solid var(--lime);padding:22px}.dashboard-stats strong{display:block;font:800 38px Barlow Condensed}.dashboard-stats span,.assignment-card span{color:#627068;font-size:12px;font-weight:800}.dashboard-toolbar{max-width:1100px;margin:22px auto;display:flex;align-items:end;justify-content:space-between;gap:12px}.dashboard-toolbar label,.team-dashboard dialog label{display:grid;gap:7px;font-weight:900}.dashboard-toolbar select,.team-dashboard dialog input:not([type="checkbox"]),.team-dashboard dialog select,.team-dashboard dialog textarea{min-height:48px;max-width:100%;border:1px solid #aab6af;padding:10px;font:inherit}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-panel.wide{grid-column:1/-1}.panel-head{display:flex;justify-content:space-between;gap:10px}.panel-head button,.assignment-card button{border:0;background:transparent;color:#597900;font-weight:900;cursor:pointer}.progress-chart{height:190px;display:flex;align-items:end;gap:10px;padding:20px 5px;border-bottom:1px solid var(--line)}.progress-chart div{height:100%;flex:1;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:5px}.progress-chart i{display:block;width:min(38px,80%);min-height:12px;background:var(--lime)}.progress-chart strong{font-size:12px}.progress-chart small{font-size:10px}.result-history{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px}.result-history div,.assignment-card,.activity-row{padding:14px;background:#f3f6f4}.result-history span,.result-history strong,.result-history small,.assignment-card strong,.activity-row span{display:block}.result-history small{margin-top:5px}.assignment-card{margin-top:10px}.assignment-card progress{width:100%;accent-color:#91bf19;margin:12px 0}.activity-row{margin-top:8px}.activity-row p{white-space:pre-wrap}.dashboard-empty{color:#69766f}.team-dashboard dialog{width:min(520px,calc(100% - 24px));border:0;padding:0}.team-dashboard dialog::backdrop{background:#07110ddd}.team-dashboard dialog form{position:relative;display:grid;gap:14px;padding:28px}.dialog-close{position:absolute;right:10px;top:10px;border:0;background:none;font-size:28px}.team-dashboard dialog textarea{min-height:90px}
@media(max-width:700px){.team-dashboard{padding:24px 16px 60px}.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.dashboard-panel.wide{grid-column:auto}.result-history{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-toolbar{align-items:stretch;flex-direction:column}.dashboard-toolbar select,.dashboard-toolbar button{width:100%}.panel-head{flex-direction:column}.progress-chart{gap:4px}}

/* Dashboard refinements retain the existing visual system while giving chart labels
   and individual exercise controls a predictable responsive layout. */
.team-dashboard .progress-chart{width:100%;min-width:0;overflow:hidden;gap:clamp(3px,1.2vw,12px);padding-inline:0}
.team-dashboard .chart-point{min-width:0}
.team-dashboard .chart-point strong,.team-dashboard .chart-point small{max-width:100%;white-space:nowrap;font-variant-numeric:tabular-nums}
.team-dashboard .chart-point strong{font-size:clamp(9px,1.5vw,12px)}
.program-week{min-width:0;border:1px solid var(--line);padding:16px}
.builder-exercise{margin-top:14px;padding:15px;background:#f3f6f4;border-left:3px solid var(--lime)}
.builder-exercise-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.builder-exercise-head button{border:0;background:transparent;color:#68766e;font-weight:800;cursor:pointer;min-height:44px}
.exercise-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.add-exercise{min-height:44px;margin-top:12px}
.workout-week{margin:18px 0;padding-top:5px;border-top:1px solid var(--line)}
.completion-item{display:grid!important;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:12px;margin-top:10px;padding:14px!important;background:#f3f6f4;border:1px solid transparent;cursor:pointer;text-transform:none!important}
.completion-item:has(input:checked){border-color:#9abb3b;background:#f7fbe9}
.completion-item input[type="checkbox"]{width:24px;height:24px;margin:2px 0;accent-color:#91bf19}
.completion-item,.completion-item input[type="checkbox"]{touch-action:manipulation}
.completion-item b,.exercise-instructions{display:block}
.exercise-prescription{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:9px}
.exercise-prescription em{padding:7px;background:#fff;font-style:normal;font-weight:800}
.exercise-prescription small{display:block;color:#69766f;font-size:9px;text-transform:uppercase}
.exercise-instructions{margin-top:9px;color:#536058;font-weight:500;line-height:1.5}
@media(max-width:700px){.dashboard-panel{min-width:0;padding:16px}.team-dashboard .progress-chart{height:165px}.team-dashboard .chart-point small{font-size:8px}.result-history{grid-template-columns:minmax(0,1fr)}.exercise-fields{grid-template-columns:minmax(0,1fr)}.completion-item{min-height:64px;padding:13px!important}.exercise-prescription{grid-template-columns:repeat(3,minmax(0,1fr))}.team-dashboard dialog form{padding:24px 16px}}
.dashboard-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.dashboard-actions button,.team-dashboard dialog button{min-height:48px;touch-action:manipulation}.dashboard-actions .secondary,.team-dashboard dialog .secondary{border:1px solid #101a14;background:#fff;color:#101a14;padding:0 16px;font-weight:900;cursor:pointer}.attempt-fields,.program-week{display:grid;gap:12px;border:1px solid var(--line);padding:14px}.attempt-fields>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.exercise-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.team-dashboard dialog[data-program-dialog]{width:min(680px,calc(100% - 24px));max-height:calc(100svh - 24px);overflow:auto}.workout-week{padding:12px 0;border-bottom:1px solid var(--line)}.completion-item{display:grid!important;grid-template-columns:auto 1fr;align-items:start;margin:10px 0;padding:12px;background:#f3f6f4;text-transform:none!important}.completion-item input[type="checkbox"]{width:22px;height:22px;accent-color:#91bf19}.dialog-error{min-height:18px;color:#9b241b;font-weight:800}
@media(max-width:700px){.dashboard-actions{display:grid;grid-template-columns:1fr;width:100%}.team-dashboard dialog form{padding:24px 18px}.attempt-fields>div,.exercise-fields{grid-template-columns:1fr}.team-dashboard dialog input:not([type="checkbox"]),.team-dashboard dialog select,.team-dashboard dialog textarea{width:100%;font-size:16px}.result-history{grid-template-columns:1fr}}
.team-dashboard dialog[data-manage-dialog]{width:min(760px,calc(100% - 24px));max-height:calc(100svh - 24px);overflow:auto}.editable-exercise>div{min-width:0}.editable-exercise label{margin-top:8px}.editable-exercise .builder-exercise-head{margin-bottom:0}

/* Keep program exercise fields comfortably tappable without changing their styling. */
.builder-exercise>label input,.editable-exercise>div>label input{width:100%}
.builder-exercise input,.editable-exercise input:not([type="checkbox"]){min-height:44px}
.exercise-fields{display:flex;flex-wrap:wrap;gap:10px}
.exercise-fields label{flex:1 1 90px;min-width:min(90px,100%);max-width:110px}
.exercise-fields input{width:100%;min-width:0}
.builder-exercise>label textarea,.editable-exercise>div>label textarea{width:100%}

/* The program builder reuses one compact, scrollable library rather than a second data system. */
.training-library{margin-top:12px;padding:14px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--lime)}
.training-library h3{margin:4px 0 12px;font:800 24px Barlow Condensed;text-transform:uppercase}
.library-categories{max-height:min(48svh,430px);overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line)}
.library-categories details+details{border-top:1px solid var(--line)}
.library-categories summary{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:10px 12px;background:#f3f6f4;font-weight:900;cursor:pointer;touch-action:manipulation}
.library-categories summary small{color:#68766e}
.library-categories details>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:9px}
.library-categories button{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:9px 11px;border:1px solid #b7c1bb;background:#fff;text-align:left;font-weight:800;cursor:pointer}
.library-categories button:hover,.library-categories button:focus-visible{border-color:#759619;background:#f7fbe9}
.training-library>[data-close-library]{width:100%;margin-top:10px}
.exercise-actions{display:flex;align-items:center;gap:3px}.exercise-actions button{padding:4px 7px}
.library-subgroup{display:contents}.library-subgroup h4{grid-column:1/-1;margin:10px 0 0;color:#536058;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:600px){.library-categories{max-height:52svh}.library-categories details>div{grid-template-columns:minmax(0,1fr)}.training-library{padding:10px}.exercise-actions{flex-wrap:wrap;justify-content:flex-end}}

/* Programs and Store */
.programs-store{padding:36px 5vw 80px}.store-heading,.store-tabs,.program-store-grid,.store-message{width:min(1100px,100%);margin-inline:auto}.store-heading h1{margin:7px 0;font:800 clamp(44px,8vw,76px)/.92 Barlow Condensed;text-transform:uppercase}.store-heading p{color:#536058;font-weight:600}.store-heading .create-program{margin-top:18px}.store-tabs{display:flex;gap:6px;margin-top:30px;border-bottom:1px solid var(--line)}.store-tabs button{min-height:50px;padding:0 24px;border:0;border-bottom:4px solid transparent;background:transparent;font-weight:900;cursor:pointer}.store-tabs button[aria-selected="true"]{border-color:var(--lime);color:#526f00}.store-message{min-height:38px;padding:10px 0;color:#526f00;font-weight:800}.program-store-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.program-card{display:flex;min-width:0;flex-direction:column;padding:26px;border:1px solid var(--line);border-top:4px solid var(--lime);background:#fff}.program-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.type-pill,.store-status{font-size:11px;font-weight:900;letter-spacing:.08em}.type-pill{color:#627900}.store-status{padding:5px 8px;background:#eef1ef;color:#66726c}.store-status.published{background:#eaf6c9;color:#456000}.program-card h2{margin:20px 0 7px;font:800 30px/1 Barlow Condensed;text-transform:uppercase}.program-card>p{min-height:42px;margin:0;color:#5c6962}.program-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0}.program-card dl div{padding:12px;background:#f3f6f4}.program-card dt{color:#68766e;font-size:10px;font-weight:900;text-transform:uppercase}.program-card dd{margin:4px 0 0;font-weight:900}.program-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:auto}.program-actions button{min-height:46px;padding:0 16px;cursor:pointer}.product-price{display:block;margin-top:20px;font:800 32px Barlow Condensed}.entitled,.access-note{color:#526f00;font-weight:900}.store-empty{grid-column:1/-1;padding:30px;background:#fff}.programs-store dialog{width:min(520px,calc(100% - 24px));border:0;padding:0}.programs-store dialog::backdrop{background:#07110ddd}.programs-store dialog form{position:relative;display:grid;gap:14px;padding:28px}.programs-store dialog label{display:grid;gap:7px;font-weight:900}.programs-store dialog input,.programs-store dialog select,.programs-store dialog textarea{width:100%;min-height:48px;border:1px solid #aab6af;padding:10px;font:inherit}.programs-store dialog textarea{min-height:100px}.programs-store .dialog-close{position:absolute;right:10px;top:10px;border:0;background:none;font-size:28px}.future-product{font-size:13px}
@media(max-width:700px){.programs-store{padding:25px 16px 60px}.program-store-grid{grid-template-columns:1fr}.store-tabs button{flex:1;padding:0 10px}.program-card{padding:20px}.program-actions{display:grid;grid-template-columns:1fr}.program-actions button{width:100%}}


/* Authentication flow consistency */
.auth-card form[hidden]{display:none!important}
.auth-card .auth-link{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:42px;margin:4px 0 14px;padding:0;border:0;background:transparent;color:#18231e;font:700 16px/1.2 Inter,Arial,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.auth-card [data-back-login]{width:100%;min-height:48px;margin:10px 0 0;border:1px solid var(--line);background:#f3f5f4;text-decoration:none}
.auth-card [data-forgot-form],.auth-card [data-reset-form]{margin:0}
.auth-card [data-forgot-form] h2,.auth-card [data-reset-form] h2{margin:0 0 8px;font:800 clamp(34px,6vw,52px)/.95 Barlow Condensed;text-transform:uppercase}
.auth-card [data-forgot-form]>p,.auth-card [data-reset-form]>p{margin:0 0 24px;color:#66736c;font-weight:500;line-height:1.45}
.auth-card [data-forgot-form] label,.auth-card [data-reset-form] label{display:grid;gap:8px;margin-bottom:18px;font-weight:800;text-transform:uppercase}
.auth-card [data-forgot-form] input,.auth-card [data-reset-form] input{width:100%;min-height:54px;border:1px solid #aab6af;padding:12px 14px;font:inherit;background:#fff}
.auth-card [data-forgot-form] .primary,.auth-card [data-reset-form] .primary{width:100%;min-height:54px}

/* Restore original flat login tabs without changing their click behavior. */
.auth-page .auth-card .auth-tabs > button[role="tab"]{display:inline-block!important;width:auto!important;min-width:0!important;min-height:44px!important;margin:0!important;padding:0 0 12px!important;border:0!important;border-bottom:3px solid transparent!important;border-radius:0!important;box-shadow:none!important;background:none!important;color:#101a14!important;font:900 11px Inter,Arial,sans-serif!important;letter-spacing:1.4px!important;text-transform:uppercase!important;text-align:left!important;cursor:pointer!important}
.auth-page .auth-card .auth-tabs > button[role="tab"]:last-child{text-align:right!important}
.auth-page .auth-card .auth-tabs > button[role="tab"][aria-selected="true"]{border-bottom-color:var(--lime)!important}
.auth-page .auth-card .auth-tabs > button[role="tab"]:focus-visible{outline:2px solid #101a14!important;outline-offset:3px}

/* Password visibility: hidden by default, reveal only on explicit tap. */
.auth-page .password-visibility-field{display:block;position:relative;width:100%;min-width:0}
.auth-page .password-visibility-field input{box-sizing:border-box;width:100%;padding-right:76px}
.auth-page .password-visibility-field .password-visibility-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);min-width:58px;min-height:40px;padding:6px 9px;margin:0;border:0;border-radius:3px;background:transparent;color:#16231c;font:700 13px Inter,Arial,sans-serif;letter-spacing:normal;text-transform:none;cursor:pointer}
.auth-page .password-visibility-field .password-visibility-toggle:focus-visible{outline:2px solid #34422f;outline-offset:1px}

/* Return from individual coach tools to the Coach Hub, without leaving the profile. */
.athlete-system .coach-return-nav{display:flex;justify-content:flex-start;margin:12px 0 18px}
.athlete-system .coach-return-nav button{border:1px solid #314c39;background:#091711;color:#fff;min-height:48px;padding:11px 16px;font-weight:800;cursor:pointer}

/* LT26-MOBILE-HEADING-FIX */
@media (max-width: 600px) {
  .module-hero h1,
  .training-hero h1,
  .speed-module h1 {
    font-size: clamp(28px, 8vw, 40px) !important;
    line-height: 1.12 !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    white-space: normal !important;
    height: auto !important;
  }
}
