:root{--bg:#f6f8fa;--card:#fff;--ink:#1c2226;--mut:#626c74;--acc:#4B9CD3;--accI:#fff;--line:#dce4ea;--hero-ink:#fff;--hero-shade:#101b24;--accent-soft:#eaf4fb}
@media(prefers-color-scheme:dark){:root{--bg:#151514;--card:#201f1d;--ink:#f1efe8;--mut:#a09e95;--acc:#4B9CD3;--accI:#0d1b26;--line:#34322e}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,sans-serif}
main{max-width:720px;margin:0 auto;padding:20px 16px 60px}h1{font-size:28px}h2{font-size:21px;margin:0 0 6px}
.mut{color:var(--mut)}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;margin:14px 0}
button{background:var(--acc);color:var(--accI);border:0;border-radius:10px;padding:11px 18px;font:inherit;font-weight:600;cursor:pointer}
label{display:block;font-size:14px;color:var(--mut);margin:12px 0 4px}
input,select{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font:inherit}
.row{display:flex;gap:12px;flex-wrap:wrap}.row>*{flex:1;min-width:120px}.price{font-weight:700;color:var(--acc)}
.big{font-size:44px;font-weight:700}.locked{filter:blur(7px);user-select:none;pointer-events:none}
.bar{height:12px;background:var(--line);border-radius:6px;overflow:hidden}.bar>i{display:block;height:100%;background:var(--acc)}
.rbox{height:220px;border-radius:14px;color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;cursor:pointer;user-select:none;touch-action:manipulation}
a{color:var(--acc);cursor:pointer}.err{color:#c0392b}.q{margin:14px 0}.q label{display:flex;gap:8px;color:var(--ink);margin:4px 0}.q input{width:auto}
textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font:inherit}
table{border-collapse:collapse}td{padding:4px 8px 4px 0;vertical-align:top}
.vrow{border:1px solid var(--line);border-radius:10px;padding:10px;margin:10px 0}.vrow video{max-width:100%;max-height:220px;margin-top:8px;border-radius:8px}
canvas.cal{max-width:100%;cursor:crosshair;border-radius:8px}
button:disabled{opacity:.5;cursor:default}button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
code{font-size:12px;word-break:break-all}
.brand{display:block;margin:0 0 20px}
.logo{display:block;width:100%;max-width:300px;height:auto}
.home-page{max-width:none;padding:0 0 30px}.home-header{max-width:1200px;margin:auto;padding:22px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.home-header .brand{margin:0}.home-header .logo{width:230px}.profile-link{font-size:14px;text-decoration:none;font-weight:600;display:flex;gap:14px;align-items:center}
.athlete-hero{position:relative;min-height:370px;height:min(490px,60vh);overflow:hidden;background:var(--hero-shade);color:var(--hero-ink)}.athlete-hero>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 48%}.athlete-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--hero-shade) 85%,transparent),transparent 75%)}.hero-content{position:relative;z-index:1;max-width:1200px;margin:auto;padding:56px 32px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:0;margin:0 0 12px;color:var(--acc)}.hero-content h1{font-size:56px;line-height:1.08;margin:0 0 15px;font-weight:800}.hero-subtitle{font-size:24px;line-height:1.35;margin:0 0 26px}.hero-cta{display:inline-flex;gap:28px;align-items:center;background:var(--acc);color:var(--hero-shade);font-weight:700;font-size:14px;padding:13px 20px;border-radius:4px;text-decoration:none}.hero-caption{position:absolute;z-index:1;bottom:22px;right:32px;font-size:10px;font-weight:650;color:var(--hero-ink)}
.assessments{max-width:1200px;margin:auto;padding:36px 32px 24px;scroll-margin-top:20px}.assessment-heading{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-bottom:26px}.assessment-heading h2{font-size:30px;line-height:1.15;margin:0}.assessment-heading>p{max-width:390px;font-size:14px;margin:0}.section-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line);gap:12px}.section-tab{display:flex;gap:13px;align-items:center;justify-content:flex-start;background:transparent;color:var(--mut);padding:15px 10px 18px;border-radius:0;border-bottom:3px solid transparent;font-size:15px;text-align:left}.section-tab[aria-selected=true]{color:var(--acc);border-bottom-color:var(--acc)}.section-tab:hover{background:var(--accent-soft)}.section-tab small{display:block;font-size:11px;font-weight:400;margin-top:4px;color:var(--mut)}.tab-icon{font-size:25px;width:28px;flex-shrink:0}.section-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:30px 0 12px}.section-intro h3{font-size:25px;margin:0;line-height:1.25}.section-count{color:var(--mut);font-size:13px;white-space:nowrap}.section-disclaimer{font-size:13px;max-width:900px;margin:0 0 22px}.unlock-strip{border-left:3px solid var(--acc);background:var(--accent-soft);padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:18px}.unlock-strip b{font-size:14px}.unlock-strip p{font-size:12px;margin:3px 0 0}.saved-results{margin:15px 0;font-size:14px}.test-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.test-group{grid-column:1/-1;font-size:19px;margin:16px 0 0}.test-card{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:22px;display:flex;flex-direction:column;min-width:0}.test-number{font-size:11px;color:var(--acc);margin-bottom:20px;font-weight:750}.test-card h3{font-size:18px;line-height:1.35;margin:0 0 8px}.test-card p{font-size:13px;margin:0 0 24px}.test-link{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:13px;font-weight:700;text-decoration:none}.home-footer{max-width:1136px;margin:28px auto 0;padding:24px 0 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;font-size:11px;color:var(--mut)}.home-footer>span{color:var(--acc);font-weight:800}a:focus-visible,button:focus-visible{outline:2px solid var(--acc);outline-offset:4px}
@media(prefers-color-scheme:dark){:root{--accent-soft:#1c303d}}
@media(max-width:760px){.home-header{padding:18px 20px}.home-header .logo{width:180px}.profile-link{font-size:12px;gap:6px}.hero-content{padding:46px 24px}.hero-content h1{font-size:40px}.hero-subtitle{font-size:22px}.athlete-hero{height:410px;min-height:0}.athlete-hero>img{object-position:60% center}.athlete-hero:after{background:linear-gradient(90deg,color-mix(in srgb,var(--hero-shade) 88%,transparent),color-mix(in srgb,var(--hero-shade) 15%,transparent))}.hero-caption{right:20px;font-size:8px}.assessments{padding:28px 20px}.assessment-heading{display:block}.assessment-heading h2{font-size:27px}.assessment-heading>p{margin-top:12px}.section-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px}.section-tab{font-size:13px;padding:13px 3px}.tab-icon{font-size:21px;width:23px}.section-intro h3{font-size:21px}.test-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.test-card{padding:18px}.home-footer{margin:15px 20px;flex-direction:column;gap:12px}.unlock-strip{flex-wrap:wrap}}
@media(max-width:480px){.test-grid{grid-template-columns:minmax(0,1fr)}.home-header .logo{width:155px}.section-count{display:none}.hero-content h1{font-size:36px}.hero-content{padding-top:56px}}
:root{--danger:#bd3434;--warning:#956b13;--shadow:0 18px 65px #101b2426}.top-nav{display:flex;gap:22px;align-items:center;flex-wrap:wrap;font-size:14px}.top-nav a{text-decoration:none}.site-foot{border-top:1px solid var(--line);max-width:1200px;margin:0 auto;padding:32px;display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:28px;font-size:13px;overflow-wrap:anywhere}.foot-brand{color:var(--acc);font-size:17px}.site-foot a{display:inline-block;margin:5px 0}.cookie{position:fixed;z-index:50;bottom:18px;left:50%;transform:translateX(-50%);width:min(760px,calc(100% - 32px));display:flex;align-items:center;gap:24px;font-size:13px;box-shadow:var(--shadow);border-radius:6px}.cookie button{flex-shrink:0}.modal-back{position:fixed;inset:0;background:color-mix(in srgb,var(--hero-shade) 65%,transparent);z-index:60;display:flex;justify-content:center;align-items:center;padding:20px}.modal.card{width:100%;max-width:460px;max-height:calc(100dvh - 40px);overflow:auto;padding:30px;border-radius:8px;box-shadow:var(--shadow)}.modal h2{font-size:25px}.modal input{background:var(--card)}.modal button{border-radius:5px}.content-page{max-width:860px;margin:auto;padding:48px 32px 70px}.content-page h1{font-size:42px;line-height:1.15;margin:0 0 20px}.page-lead{font-size:24px;line-height:1.4}.content-page h2{margin:34px 0 10px}.content-page #contact{border-top:1px solid var(--line);margin-top:36px}.report-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line);margin:32px 0;padding:25px 0;gap:20px}.report-summary strong{display:block;font-size:38px;color:var(--acc);line-height:1.4}.report-summary small{font-size:15px;font-weight:500}.week-row{display:flex;gap:26px;padding:24px 0;border-bottom:1px solid var(--line)}.week-number{font-size:32px;color:var(--acc);font-weight:750;flex-shrink:0}.week-row h3{margin:0;font-size:22px}.week-row p{margin:8px 0}.week-row .eyebrow{margin:0 0 5px}.metric-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:14px 0;border-bottom:1px solid var(--line)}.metric-row meter{grid-column:1/-1;width:100%;height:12px;accent-color:var(--acc)}.measurements,#attempt-history{margin:30px 0}.bar i{transition:width .4s ease}.err{color:var(--danger)}
@media(max-width:760px){.home-header{flex-wrap:wrap}.top-nav{gap:16px;font-size:12px}.site-foot{grid-template-columns:1fr;padding:28px 20px}.content-page{padding:32px 20px 50px}.content-page h1{font-size:32px}.report-summary{grid-template-columns:1fr;gap:18px}.report-summary>div{display:flex;justify-content:space-between;align-items:center;gap:12px}.report-summary strong{font-size:30px}.cookie{gap:15px;align-items:flex-start}.week-row{gap:18px}.modal.card{padding:24px}.page-lead{font-size:21px}}
@media(prefers-reduced-motion:reduce){.bar i{transition:none}}
.move-demo{margin:16px 0;max-width:560px}.move-demo img{width:100%;border-radius:12px;border:1px solid var(--line,#ddd);display:block}.move-demo figcaption{font-size:.85rem;margin-top:6px}
