:root{--ink:#192a27;--muted:#697570;--green:#c7f46b;--green-dark:#355727;--forest:#142923;--paper:#f5f7f6;--line:#e4e9e6;--white:#fff;--radius:18px;--font:Arial, Helvetica, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:inherit;text-decoration:none}a:hover{color:var(--green-dark)}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;line-height:1.12}h1{margin-bottom:12px;font-size:clamp(30px,3vw,43px);font-weight:750}h2{margin-bottom:14px;font-size:23px}h3{font-size:20px}p{margin-bottom:18px}svg{vertical-align:middle;flex-shrink:0}::selection{background:var(--green);color:var(--forest)}:focus-visible{outline-offset:4px;outline:3px solid #4c8225}button,input,select,textarea{border-radius:10px}input,select,textarea{width:100%;min-height:48px;color:var(--ink);background:#fff;border:1px solid #cfd8d3;padding:13px 14px}textarea{resize:vertical;min-height:105px}input[type=checkbox]{accent-color:#385e2b;flex-shrink:0;width:20px;height:20px;min-height:20px;margin-top:3px}input[type=file]{border:0}fieldset{border:0;margin:0 0 24px;padding:0}legend{margin-bottom:10px;font-size:14px;font-weight:600}summary{cursor:pointer;font-size:14px;font-weight:600}details p{color:var(--muted);margin-top:12px;font-size:14px}hr{border:0;border-top:1px solid var(--line)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--green);z-index:1000;padding:12px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}.muted{color:var(--muted)}.small{font-size:13px;line-height:1.5}.eyebrow{letter-spacing:.13em;align-items:center;gap:9px;font-size:11px;font-weight:700;line-height:1.5;display:flex}.button{background:var(--green);min-height:47px;color:var(--forest);white-space:normal;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:10px;padding:13px 21px;font-size:14px;font-weight:700;transition:background .15s,transform .15s;display:inline-flex}.button:hover{color:var(--forest);background:#b6e05f}.button:active{transform:translateY(1px)}.button.secondary{color:var(--ink);background:#fff;border-color:#dbe2de}.button.secondary:hover{background:#eef3ee;border-color:#becabf}.full{width:100%}.text-button{background:0 0;border:0;padding:12px 0;font-size:14px;font-weight:600;display:inline-block}.text-link{color:#426537;align-items:center;gap:5px;font-size:13px;font-weight:700;display:inline-flex}.icon-button{border:1px solid var(--line);background:#fff;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;padding:8px;display:inline-flex}.brand{color:inherit;align-items:center;gap:13px;line-height:1;display:inline-flex}.brand-mark{letter-spacing:-6px;align-items:center;padding-right:11px;font-size:49px;font-style:italic;font-weight:900;display:inline-flex;position:relative}.brand-mark>span{letter-spacing:0;align-self:flex-start;margin:2px 0 0 3px;font-size:23px}.brand-name{letter-spacing:.035em;font-size:13px;font-weight:850;line-height:1.03}.pill{letter-spacing:.065em;white-space:nowrap;border:1px solid #c3d8b0;border-radius:5px;align-items:center;gap:6px;padding:6px 10px;font-size:10px;font-weight:750;display:inline-flex}.pill.dark{color:var(--green);background:#142923e6;border-color:#0000}.pill.light{color:#526848;background:#f0f4ed;border:0}.avatar{color:#536734;background:#e1e8d2;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:41px;height:41px;font-size:12px;font-weight:750;line-height:1;display:inline-flex}.avatar-1{color:#725039;background:#e7ddd3}.avatar-2{color:#3e6374;background:#d7e4e8}.avatar-3{color:#735a85;background:#e6ddec}.avatar.large{width:70px;height:70px;font-size:22px}.avatar.small{width:32px;height:32px;font-size:11px}.field{flex-direction:column;gap:7px;margin-bottom:20px;font-size:14px;font-weight:600;display:flex}.field small{color:var(--muted);font-size:12px;font-weight:400;line-height:1.5}.form-grid{grid-template-columns:1fr 1fr;gap:0 18px;display:grid}.input-unit{align-items:center;display:flex;position:relative}.input-unit input{padding-right:46px}.input-unit>span{color:var(--muted);font-weight:400;position:absolute;right:15px}.check-label{align-items:flex-start;gap:11px;margin:20px 0;font-size:14px;display:flex}.check-label a{text-decoration:underline}.check-label strong{font-weight:650;display:block}.check-label small{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.5;display:block}.form-actions{justify-content:flex-end;gap:12px;margin-top:30px;display:flex}.form-error{color:#9a3027;background:#fff0ed;border:1px solid #f2c9c3;border-radius:9px;margin:16px 0;padding:12px 16px;font-size:14px}.success-message{color:#345126;background:#edf6e5;border-radius:9px;padding:14px;font-size:14px}.notice{color:#556251;background:#f0f4ef;border:1px solid #e0e7dc;border-radius:10px;align-items:flex-start;gap:11px;margin:20px 0;padding:14px 16px;font-size:13px;display:flex}.notice svg{margin-top:2px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.landing{background:#f8f9f7}.landing-nav{justify-content:space-between;align-items:center;max-width:1450px;min-height:104px;margin:auto;padding:24px 5%;display:flex}.landing-nav nav{align-items:center;gap:33px;font-size:14px;font-weight:600;display:flex}.landing-hero{grid-template-columns:1.08fr 1fr;gap:40px;max-width:1450px;min-height:680px;margin:auto;padding:28px 5% 70px;display:grid}.hero-copy{align-self:center;padding:45px 0 10px}.hero-copy .eyebrow{margin-bottom:29px;font-size:11px}.tiny-line{background:#62983c;width:25px;height:2px}.hero-copy h1{letter-spacing:-.06em;margin-bottom:28px;font-size:clamp(50px,5.4vw,81px);font-weight:900;line-height:.98}.hero-copy h1 em{color:#588534;font-style:italic}.hero-copy>p{color:#6a746d;margin-bottom:28px;font-size:20px;line-height:1.5}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.hero-foot{color:#707c73;gap:25px;margin-top:26px;font-size:12px;display:flex}.hero-foot>span{align-items:center;gap:6px;display:flex}.hero-visual{color:#fff;isolation:isolate;background:#1d382e;border-radius:22px;min-height:570px;padding:29px;position:relative;overflow:hidden}.hero-grid{z-index:-1;background:linear-gradient(135deg,#61784280,#0000 65%),repeating-linear-gradient(0deg,#0000 0 55px,#a8c89514 56px),repeating-linear-gradient(90deg,#0000 0 55px,#a8c89514 56px);position:absolute;inset:0}.hero-wordmark{letter-spacing:-.08em;color:#a5c0880a;z-index:-1;font-size:clamp(90px,10vw,157px);font-weight:900;line-height:.8;position:absolute;top:142px;left:0;transform:rotate(-12deg)}.visual-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.visual-coordinates{letter-spacing:.12em;color:#bdc9b9;writing-mode:vertical-rl;font-size:8px;position:absolute;top:120px;right:18px}.hero-orbit{justify-content:center;align-items:center;max-width:350px;height:350px;margin:25px auto 0;display:flex;position:relative}.hero-orbit>span{letter-spacing:-20px;color:var(--green);padding-right:25px;font-size:150px;font-style:italic;font-weight:900;transform:rotate(-6deg)}.hero-orbit svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible;transform:rotate(-90deg)}.hero-orbit circle{fill:none;stroke:#a7ba9d33;stroke-width:2px}.hero-orbit .orbit-progress{stroke:var(--green);stroke-width:3px;stroke-dasharray:720 350;stroke-linecap:round}.visual-bottom{justify-content:space-between;align-items:flex-end;display:flex;position:absolute;bottom:35px;left:32px;right:32px}.visual-bottom .eyebrow{color:#b5c4b5;margin-bottom:12px;font-size:9px}.visual-bottom strong{letter-spacing:-.03em;font-size:27px;line-height:1.1}.visual-sports{color:#d0decb;gap:15px;display:flex}.visual-sports svg{width:21px}.hero-sticker{background:var(--green);color:#203a27;border:1px solid #d1ff7c;padding:14px 17px;font-size:13px;line-height:1.3;position:absolute;top:55%;right:22px;transform:rotate(-9deg);box-shadow:0 5px 30px #0002}.hero-sticker span,.hero-sticker strong{letter-spacing:-.05em;font-size:18px;font-style:italic;font-weight:900;display:block}.sport-ticker{white-space:nowrap;background:#edf2e8;border-top:1px solid #dde4d9;border-bottom:1px solid #dde4d9;justify-content:center;align-items:center;gap:38px;padding:21px 24px;display:flex;overflow:hidden}.sport-ticker span{letter-spacing:.06em;font-size:13px;font-weight:750}.sport-ticker i{color:#6c923f;font-size:23px}.landing-features{max-width:1320px;margin:auto;padding:90px 5%}.section-intro .eyebrow{color:#6c765f;margin-bottom:18px}.section-intro h2{font-size:42px;line-height:1.1}.feature-grid{grid-template-columns:repeat(3,1fr);gap:35px;margin-top:45px;display:grid}.feature-grid article{border-top:1px solid #cfd9c8;padding-top:23px}.feature-top{color:#5a763f;justify-content:space-between;align-items:center;margin-bottom:45px;display:flex}.feature-top>span{font-size:12px}.feature-grid h3{font-size:20px;font-weight:800}.feature-grid p{color:#677365;max-width:310px;font-size:15px}.landing-cta{background:var(--forest);color:#fff;text-align:center;padding:65px 20px 75px}.landing-cta p{color:#bdcbbd;font-size:15px}.landing-cta h2{letter-spacing:-.045em;font-size:60px;font-weight:900;line-height:1}.landing-cta h2 em{color:var(--green)}.landing-footer{color:#61705e;justify-content:space-between;align-items:center;gap:20px;max-width:1350px;margin:auto;padding:40px 5%;font-size:12px;display:flex}.auth-page{background:#fff;grid-template-columns:43% 57%;min-height:100vh;display:grid}.auth-art{background:var(--forest);color:#fff;flex-direction:column;justify-content:space-between;padding:45px 55px;display:flex;position:relative;overflow:hidden}.auth-art:after{content:"";pointer-events:none;border:1px solid #57764644;border-radius:50%;width:650px;height:650px;position:absolute;top:60px;right:-400px;box-shadow:0 0 0 55px #5776460c,0 0 0 110px #5776460c}.auth-art .brand-mark{color:var(--green)}.auth-art h2{letter-spacing:-.06em;margin:22px 0;font-size:clamp(55px,6.3vw,95px);font-weight:900;line-height:.92}.auth-art h2 em{color:var(--green)}.auth-art p{color:#a7b7ab;font-size:17px}.auth-art>span{letter-spacing:.17em;color:#b6c6b6;font-size:10px}.auth-main{flex-direction:column;padding:35px 8%;display:flex}.back-link{color:var(--muted);align-self:flex-start;align-items:center;gap:8px;font-size:13px;display:inline-flex}.auth-form{width:100%;max-width:430px;margin:65px auto}.auth-form>.eyebrow{color:#738565;margin-bottom:15px;font-size:10px}.auth-form h1{font-size:34px}.auth-form>p{font-size:15px}.auth-form form{margin-top:27px}.auth-form .text-button{color:#5f7356;font-size:13px}.auth-switch{border-top:1px solid var(--line);color:var(--muted);margin-top:20px;padding-top:23px}.auth-switch a{color:var(--ink);font-weight:700}.onboarding-page{background:#f6f8f4;min-height:100vh}.onboarding-page>header{justify-content:space-between;align-items:center;max-width:1170px;margin:auto;padding:25px 35px;display:flex}.onboarding-card{border:1px solid var(--line);background:#fff;border-radius:20px;max-width:650px;margin:25px auto;padding:35px 42px}.onboarding-card h1{margin-top:15px;font-size:32px;line-height:1.14}.onboarding-card p{font-size:15px}.step-track{gap:16px;margin-bottom:40px;display:flex}.step-track button{color:#8a968e;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-size:12px;display:flex}.step-track button>span{border:1px solid #dce5dc;border-radius:50%;place-items:center;width:24px;height:24px;font-size:11px;display:grid}.step-track button.active{color:#385130}.step-track button.active>span{background:#dff0c7;border-color:#c7e8a6}.sport-choices{grid-template-columns:1fr 1fr;gap:10px;margin:28px 0;display:grid}.sport-choices button{border:1px solid var(--line);text-align:left;background:#fff;align-items:center;gap:11px;min-height:65px;padding:15px;font-size:13px;display:flex}.sport-choices button>span{flex:1}.sport-choices button.selected,.level-choices button.selected,.day-picker button.selected{color:#304f24;background:#f0f7e8;border-color:#94b571}.level-choices{flex-direction:column;gap:12px;margin-top:25px;display:flex}.level-choices button{text-align:left;border:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:15px;padding:18px;display:flex}.level-choices strong{font-size:15px;display:block}.level-choices span{color:var(--muted);font-size:13px;display:block}.level-choices .radio-circle{color:#517334;border:1px solid #a0b58c;border-radius:50%;flex-shrink:0;place-items:center;width:20px;height:20px;display:grid}.day-picker{gap:7px;display:flex}.day-picker button{border:1px solid var(--line);background:#fff;flex:1;min-height:44px;padding:10px 2px;font-size:12px}.advanced{border:1px solid var(--line);border-radius:9px;margin-bottom:22px;padding:14px}.advanced[open] summary{margin-bottom:20px}.advanced .field:last-child{margin-bottom:0}.onboarding-footer{text-align:center;letter-spacing:.14em;color:var(--muted);padding:20px;font-size:10px}.loading-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:25px;display:flex}.loading-page .brand{margin-bottom:40px}.loading-page h1{font-size:32px}.loading-page p{color:var(--muted)}.app-shell{min-height:100vh}.sidebar{border-right:1px solid var(--line);z-index:20;background:#fff;flex-direction:column;width:242px;padding:29px 20px 0;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-logo{padding:4px 15px 32px}.sidebar-logo .brand-mark{color:#284d30;font-size:52px}.sidebar-logo .brand-name{font-size:13px}.nav-caption{letter-spacing:.15em;color:#98a199;padding:13px 15px 17px;font-size:9px;font-weight:700}.sidebar nav{flex-direction:column;gap:6px;display:flex}.nav-item{color:#778079;border-radius:10px;align-items:center;gap:13px;min-height:62px;padding:12px 15px;display:flex;position:relative}.nav-item>span{flex-direction:column;line-height:1.2;display:flex}.nav-item strong{font-size:14px;font-weight:600}.nav-item small{color:#919b94;margin-top:6px;font-size:10px}.nav-item.active{color:#38502c;background:#eef5e6}.nav-item.active strong{font-weight:750}.nav-item.active small{color:#75876a}.nav-item .nav-indicator{background:#68883d;border-radius:50%;width:5px;height:5px;position:absolute;right:13px}.sidebar-divider{background:var(--line);height:1px;margin:26px 15px 14px}.sidebar-bottom{margin-top:auto;padding-top:30px}.sidebar-mantra{letter-spacing:-.05em;color:#ccd4ca;padding:0 15px 30px;font-size:21px;font-weight:900;line-height:1.2}.sidebar-mantra em{color:#a3b18d}.sidebar-user{border-top:1px solid var(--line);align-items:center;gap:10px;padding:22px 0;display:flex}.sidebar-user>a{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar-user strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.sidebar-user small{color:var(--muted);margin-top:3px;font-size:9px}.sidebar-user button{color:#8a968e;background:0 0;border:0;padding:8px}.workspace{margin-left:242px}.topbar{border-bottom:1px solid var(--line);background:#ffffffd9;justify-content:space-between;align-items:center;height:76px;padding:0 38px;display:flex}.breadcrumb{align-items:center;gap:15px;font-size:12px;display:flex}.breadcrumb>span{color:#8a938d}.breadcrumb>strong{font-weight:600}.topbar-right{align-items:center;gap:20px;display:flex}.app-mode{letter-spacing:.1em;color:#798875;font-size:9px;font-weight:650}.add-button{border-radius:50%;width:32px;height:32px}.mobile-logo{display:none}.workspace-main{max-width:1510px;margin:auto;padding:25px 38px 15px}.dev-banner{color:#7f8c7a;letter-spacing:.01em;padding:0 0 23px;font-size:10px}.page-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:30px;display:flex}.page-heading .eyebrow{color:#8a958a;letter-spacing:.09em;margin-bottom:10px;font-size:10px}.page-heading h1{margin-bottom:9px;font-size:33px}.page-heading p{color:#858e86;margin:0;font-size:13px}.lime-dot{color:#8eb951;vertical-align:middle;margin-left:13px;font-size:28px}.page-heading>.button{min-height:42px;padding:11px 16px;font-size:12px}.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;min-width:0;margin-bottom:22px;padding:24px}.card h2{font-size:19px;font-weight:650}.section-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px;display:flex}.section-heading h2{margin:0}.section-heading .eyebrow{color:#98a18f;margin-bottom:9px;font-size:9px}.card-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:30px;display:flex}.card-top .eyebrow{font-size:9px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 305px;gap:23px;display:grid}.dashboard-primary,.dashboard-aside{min-width:0}.today-card{border-radius:var(--radius);background:linear-gradient(118deg,#f0f6e8,#f4f9ed 70%,#e4f1d3);border:1px solid #dce7d0;min-height:330px;margin-bottom:23px;padding:25px 28px}.status-dot{background:#6b9341;border-radius:50%;width:5px;height:5px;display:inline-block}.today-card .pill{font-size:8px}.today-sport{color:#708069;align-items:center;gap:8px;margin-bottom:14px;font-size:11px;display:flex}.today-sport svg{width:18px}.today-sport>span{margin:0 2px}.today-card h2{letter-spacing:-.04em;margin-bottom:10px;font-size:29px;line-height:1.1}.today-card>p{color:#7a8770;max-width:470px;margin-bottom:21px;font-size:12px;line-height:1.6}.today-metrics{flex-wrap:wrap;align-items:center;gap:23px;display:flex}.today-metrics>span{color:#617459;align-items:center;gap:6px;font-size:11px;display:flex}.today-metrics strong{color:#334b2c;margin-left:1px;font-size:17px}.today-metrics svg{width:16px}.workout-blocks{align-items:flex-end;gap:4px;height:40px;margin:22px 0;display:flex}.workout-blocks>div{color:#627948;background:#c8d9b3;border-radius:4px;justify-content:center;align-items:center;height:29px;font-size:9px;display:flex}.workout-blocks>.block-1{color:#48652e;background:#b3d386;height:40px}.workout-blocks>.block-2{background:#d5e4c5;height:22px}.today-footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.today-footer .button{background:var(--forest);color:#fff;min-height:42px;padding:12px 17px;font-size:12px}.today-footer .small{font-size:10px}.week-card{padding:25px}.week-card .text-link{font-size:11px}.week-chart{grid-template-columns:repeat(7,1fr);gap:20px;padding:3px 12px 0;display:grid}.week-day{color:#7c8977;background:0 0;border:0;border-radius:5px;flex-direction:column;align-items:center;gap:5px;padding:0;font-size:10px;display:flex;opacity:1!important}.week-day>span:first-child{height:16px;font-size:9px}.week-bar-track{background:#f3f6f0;border-radius:4px;align-items:flex-end;width:26px;height:81px;display:flex;overflow:hidden}.week-bar{background:#c5d5ac;border-radius:4px;width:100%}.week-bar.complete{background:#5e7e3e}.week-day>strong{color:#939b90;text-transform:capitalize;margin-top:8px;font-size:10px;font-weight:500}.week-day.today>strong{color:var(--ink);font-weight:700}.day-number{place-items:center;width:21px;height:21px;display:grid}.week-day.today .day-number{color:#355228;background:#ddebca;border-radius:50%;font-weight:700}.week-footer{color:#85917d;border-top:1px solid #edf0e9;align-items:center;gap:17px;margin-top:21px;padding-top:15px;font-size:9px;display:flex}.week-footer span{align-items:center;gap:6px;display:flex}.week-footer strong{color:#66775a;margin-left:auto;font-size:10px}.legend-dot{background:#c5d5ac;border-radius:2px;width:6px;height:6px}.legend-dot.completed{background:#5e7e3e}.stat-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.mini-stat{margin:0;padding:20px 17px}.mini-stat>svg{color:#8a9a78;width:18px;margin-bottom:13px;display:block}.mini-stat>span{color:#939a8d;margin-bottom:7px;font-size:10px;display:block}.mini-stat>strong{letter-spacing:-.04em;font-size:30px;font-weight:600;line-height:1.1;display:block}.mini-stat strong small{color:#8b9580;margin:0 4px;font-size:17px;font-weight:400}.mini-stat>strong.text-stat{letter-spacing:-.02em;min-height:34px;font-size:18px;line-height:1.2}.mini-stat p{color:#8b9683;margin:10px 0 0;font-size:9px}.goal-card{background:var(--forest);color:#fff;border-radius:var(--radius);margin-bottom:22px;padding:26px 25px 0;position:relative;overflow:hidden}.goal-card:before{content:"";pointer-events:none;border:1px solid #a2c8850f;border-radius:50%;width:260px;height:260px;position:absolute;top:18px;right:-110px;box-shadow:0 0 0 35px #a2c88508,0 0 0 70px #a2c88505}.goal-card .card-top{margin-bottom:24px}.goal-card .card-top .eyebrow{color:#c5d3bc;letter-spacing:.12em}.goal-card .card-top svg{color:#bad79a;width:16px}.goal-sport{color:#9bad9b;font-size:10px}.goal-card h2{margin:8px 0 0;font-size:24px;line-height:1.13;position:relative}.countdown{letter-spacing:-.075em;color:var(--green);align-items:baseline;margin:25px 0 10px;line-height:1;display:flex}.countdown>span{margin-right:3px;font-size:40px;font-style:italic;font-weight:700}.countdown>strong{letter-spacing:-.07em;font-size:77px;font-weight:700}.goal-card>p{color:#b3c1ae;margin:14px 0 20px;font-size:11px}.goal-stats{flex-wrap:wrap;align-items:center;gap:17px;font-size:11px;display:flex}.goal-stats>span{align-items:center;gap:6px;display:flex}.goal-card .goal-stats{color:#d0ddc7;padding-bottom:22px}.goal-stats svg{width:14px}.goal-link{color:#d3e1c8;border-top:1px solid #aec39426;justify-content:space-between;align-items:center;padding:18px 0;font-size:11px;display:flex}.goal-link:hover{color:var(--green)}.goal-card>.button{margin:0 0 25px}.score-card{padding:21px}.score-card .section-heading{margin-bottom:20px}.score-card .section-heading h2{font-size:16px}.score-card .pill{font-size:8px}.score-content{align-items:center;gap:17px;display:flex}.score-ring{--score:0%;background:conic-gradient(#779c4b var(--score), #eff3e9 0);border-radius:50%;flex-shrink:0;place-items:center;width:87px;height:87px;display:grid;transform:rotate(-70deg)}.score-ring>span{background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:74px;height:74px;display:flex;transform:rotate(70deg)}.score-ring strong{letter-spacing:-.05em;font-size:30px;line-height:1}.score-ring small{color:#8c9881;margin-top:5px;font-size:9px}.score-content>div:last-child>strong{font-size:12px;line-height:1.35;display:block}.score-content p{color:#94a086;margin:5px 0;font-size:10px;line-height:1.6}.score-details{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.score-details summary{color:#7f8d75;font-size:10px;font-weight:400}.score-details p{font-size:11px}.together-card{padding:6px 10px}.avatar-stack{margin-bottom:15px;padding-left:4px;display:flex}.avatar-stack .avatar{border:3px solid var(--paper);width:36px;height:36px;margin-left:-4px;font-size:10px}.together-card h3{margin-bottom:9px;font-size:19px;line-height:1.25}.together-card p{color:#8c9783;max-width:240px;margin-bottom:13px;font-size:11px}.together-card .text-link{font-size:11px}.workspace-footer{letter-spacing:.06em;color:#a0aa97;border-top:1px solid var(--line);justify-content:space-between;margin-top:38px;padding:18px 0;font-size:9px;display:flex}.bottom-nav{display:none}.toast{z-index:80;background:var(--forest);color:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;width:calc(100% - 40px);max-width:600px;padding:17px 20px;font-size:14px;display:flex;position:fixed;bottom:24px;left:calc(50% + 100px);transform:translate(-50%);box-shadow:0 10px 40px #0003}.toast button{color:#c5d9b6;background:0 0;border:0;min-width:30px;min-height:30px}.modal-backdrop{z-index:100;background:#fff;border:0;border-radius:20px;width:min(600px,100% - 30px);max-height:90dvh;padding:0;position:fixed;inset:0;overflow:auto;box-shadow:0 24px 100px #0003}.modal-backdrop::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#11221cb3}.modal-panel{padding:30px}.modal-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;display:flex}.modal-heading h2{margin:0;font-size:25px}.modal-panel>p{font-size:14px}.empty{text-align:center;flex-direction:column;align-items:center;padding:50px 20px;display:flex}.empty>svg{color:#8ca777;margin-bottom:24px}.empty h3{font-size:23px}.empty p{color:var(--muted);max-width:440px;font-size:15px}.plan-summary{justify-content:space-between;align-items:center;gap:25px;padding:30px;display:flex}.plan-summary h2{margin-top:10px;font-size:28px}.plan-summary p{margin-bottom:9px;font-size:14px}.plan-summary .eyebrow{color:#81936e}.countdown-small{color:#668746;letter-spacing:-.04em;font-size:42px;font-weight:800}.generate-card{text-align:center;padding:45px}.generate-card>svg{color:#668746;margin-bottom:20px}.generate-card p{max-width:510px;color:var(--muted);margin:0 auto 20px}.coach-note{color:#4f673d;background:#edf3e7;border:1px solid #dce7d2;border-radius:14px;align-items:flex-start;gap:15px;margin-bottom:25px;padding:20px;display:flex}.coach-note svg{margin-top:2px}.coach-note strong{font-size:14px}.coach-note p{color:#78836e;margin:6px 0 0;font-size:12px;line-height:1.65}.calendar{padding:24px 20px}.calendar .section-heading h2{font-size:17px}.calendar-controls{align-items:center;gap:10px;display:flex}.calendar-controls .text-button{font-size:11px}.calendar-controls .icon-button{width:33px;height:33px}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.calendar-day{background:#f8faf6;border-radius:9px;min-width:0;min-height:235px;padding:11px 7px}.calendar-day.current{background:#eff5e7}.calendar-date{color:#8a9582;text-transform:uppercase;flex-direction:column;align-items:center;gap:4px;margin-bottom:15px;font-size:10px;display:flex}.calendar-date strong{color:#46583a;font-size:19px;font-weight:500}.current .calendar-date strong{text-align:center;background:#d9e8c6;border-radius:50%;width:32px;height:32px;margin-top:-2px;margin-bottom:-2px;line-height:32px}.calendar-workout{text-align:left;color:#51693d;background:#e7f0de;border:1px solid #d5e5c2;flex-direction:column;gap:8px;width:100%;min-height:155px;padding:12px 8px;display:flex}.calendar-workout svg{width:18px}.calendar-workout strong{overflow-wrap:anywhere;font-size:11px;line-height:1.35}.calendar-workout>span{font-size:11px;font-weight:700}.calendar-workout small{font-size:9px}.calendar-workout.tempo{background:#e4eadf;border-color:#bccdaf}.calendar-workout.completed{background:#d9e8c9}.calendar-workout.skipped{color:#858b7a;background:#f0f0eb;border-color:#e2e3d9}.calendar-rest{color:#a2aa97;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;height:120px;font-size:9px;display:flex}.next-sessions{margin:30px 0}.next-sessions h2{font-size:22px}.workout-card{border:1px solid var(--line);text-align:left;background:#fff;border-radius:12px;align-items:center;gap:17px;width:100%;margin-bottom:10px;padding:19px 21px;display:flex}.workout-card:hover{border-color:#bbcfa7}.sport-icon{color:#718850;background:#eff5e7;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex}.sport-icon.tempo{color:#506934;background:#e0ead6}.workout-copy{flex-direction:column;flex:1;gap:5px;display:flex}.workout-copy .eyebrow{color:#91a17e;letter-spacing:.06em;font-size:9px}.workout-copy strong{font-size:15px}.workout-copy>.muted{font-size:11px}.workout-status{color:#91a17e}.elevation{color:#87a65f}.elevation svg{width:100%;height:auto;display:block}.chart-axis{color:#8c9e7d;justify-content:space-between;font-size:9px;display:flex}.goal-card .elevation{color:#c2e48d;margin-bottom:20px}.gpx-preview{background:#f1f6eb;border:1px solid #dbe6ce;border-radius:12px;margin-bottom:20px;padding:15px 18px}.gpx-preview .goal-stats{margin-bottom:14px;font-size:12px}.gpx-preview summary{font-size:12px}.gpx-preview p{margin-top:9px;margin-bottom:8px;font-size:12px}.upload-zone{text-align:center;cursor:pointer;background:#f9fbf6;border:1.5px dashed #b9caa9;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:142px;margin-bottom:22px;padding:15px;display:flex;position:relative;overflow:hidden}.upload-zone input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.upload-zone:focus-within{outline-offset:3px;outline:3px solid #7b9d59}.upload-zone svg{color:#7e985f;margin-bottom:10px}.upload-zone strong{word-break:break-word;font-size:14px}.upload-zone>span{color:#869576;margin-top:5px;font-size:12px}.upload-zone.uploaded{background:#eef5e5}.detail-tags{color:var(--muted);flex-wrap:wrap;align-items:center;gap:15px;margin-bottom:25px;font-size:12px;display:flex}.detail-tags .pill{text-transform:none;letter-spacing:0;font-size:11px}.session-block-list{margin:25px 0;padding:0;list-style:none}.session-block-list li{border-top:1px solid var(--line);align-items:center;gap:15px;padding:17px 0;display:flex}.session-block-list li>span{color:#8c9f7a;font-size:11px}.session-block-list li>div{flex:1}.session-block-list strong{font-size:14px}.session-block-list p{color:var(--muted);margin:4px 0 0;font-size:12px}.session-block-list li>strong{color:#799453;font-size:21px}.route-detail{max-width:700px}.route-detail h2{margin-bottom:30px}.social-layout{grid-template-columns:minmax(0,1fr) 275px;gap:26px;display:grid}.composer{padding:21px}.composer-input{align-items:flex-start;gap:14px;display:flex}.composer-input textarea{border:0;min-height:82px;padding:10px 2px 5px;font-size:14px}.composer-input textarea:focus{outline:0}.composer-input:focus-within{outline-offset:6px;border-radius:6px;outline:2px solid #b9cda5}.composer-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-top:10px;padding-top:16px;display:flex}.composer-footer .button{min-height:40px;padding:10px 17px;font-size:12px}.visibility-select{color:#8a9980;align-items:center;gap:7px;display:flex}.visibility-select select{color:#7c8b70;background:0 0;border:0;width:auto;min-height:35px;padding:5px 20px 5px 0;font-size:12px}.filter-tabs{border-bottom:1px solid var(--line);gap:24px;margin:25px 0 24px;display:flex}.filter-tabs button{color:#8c9786;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:0 0 13px;font-size:13px}.filter-tabs button.active{color:#38532c;border-bottom-color:#6f9449;font-weight:700}.post{padding:24px}.post-header{justify-content:space-between;align-items:center;gap:15px;display:flex}.author-button{text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:flex;opacity:1!important}.author-button>span:last-child{flex-direction:column;gap:5px;display:flex}.author-button strong{font-size:13px}.author-button small{color:#9aa291;font-size:10px}.post-visibility{color:#9daa91;font-size:9px}.post-content{white-space:pre-wrap;overflow-wrap:anywhere;color:#64705b;margin:23px 0;font-size:15px;line-height:1.75}.post-actions{border-top:1px solid #ecf0e8;align-items:center;gap:22px;padding-top:14px;display:flex}.post-actions button{color:#8d9c7d;background:0 0;border:0;align-items:center;gap:7px;min-height:32px;padding:6px 0;font-size:11px;display:flex}.post-actions button.pushed{color:#5f8638;font-weight:700}.post-actions .post-more{margin-left:auto;font-size:10px}.comments{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.comments>div{background:#f7f9f3;border-radius:8px;margin-bottom:10px;padding:10px 14px}.comments strong{font-size:12px}.comments p{overflow-wrap:anywhere;margin:5px 0;font-size:13px}.comments form{align-items:center;gap:9px;margin-top:15px;display:flex}.comments input{min-width:0;font-size:13px}.comments .button{padding:10px 13px;font-size:12px}.community-manifesto{background:var(--forest);color:#fff;border-radius:var(--radius);margin-bottom:25px;padding:28px}.community-manifesto .eyebrow{color:#afc49a;margin-bottom:30px;font-size:9px}.community-manifesto h2{letter-spacing:-.055em;font-size:43px;font-weight:850;line-height:.96}.community-manifesto em{color:var(--green)}.community-manifesto p{color:#aabda1;margin:20px 0 0;font-size:12px;line-height:1.7}.social-layout aside>.card{padding:20px}.social-layout aside h3{font-size:17px}.group-short{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:15px 0;display:flex}.group-short>.sport-icon{width:35px;height:35px}.group-short .sport-icon svg{width:18px}.group-short>span:nth-child(2){flex-direction:column;flex:1;gap:4px;display:flex}.group-short strong{font-size:11px;font-weight:600}.group-short small{color:#9ba98d;font-size:9px}.group-short>svg{color:#a4b298}.social-layout aside .text-link{margin-top:20px;font-size:11px}.community-note{padding:0 12px;font-size:10px;line-height:1.7}.match-label{color:#638346;letter-spacing:.09em;background:#edf5e4;border:1px solid #d8e6c8;border-radius:9px;align-items:center;gap:9px;padding:12px 18px;font-size:10px;font-weight:750;display:flex}.match-banner{background:#eaf1e4;border:1px solid #dce7d3;border-radius:13px;justify-content:space-between;align-items:center;gap:22px;margin-bottom:27px;padding:21px 24px;display:flex}.match-banner>div{color:#6a8352;align-items:center;gap:15px;display:flex}.match-banner strong{color:#4f693a;font-size:14px}.match-banner p{color:#8b997d;margin:5px 0 0;font-size:12px}.match-banner>a{color:#5d7c40;white-space:nowrap;font-size:11px;font-weight:600;text-decoration:underline}.search-controls{gap:18px;display:flex}.search-field{border:1px solid var(--line);color:#90a17e;background:#fff;border-radius:10px;flex:1;align-items:center;gap:12px;min-width:0;padding:0 16px;display:flex}.search-field input{border:0;padding-left:0;font-size:13px}.search-field input:focus{outline:0}.search-field:focus-within{outline:3px solid #9db784}.search-controls>select{border-color:var(--line);width:190px;font-size:13px}.athlete-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;display:grid}.athlete-card{flex-direction:column;margin-bottom:0;padding:23px;display:flex}.athlete-card-top{justify-content:space-between;align-items:center;margin-bottom:21px;display:flex}.compatibility{color:#719746;text-align:right;font-size:23px;font-weight:650;line-height:1}.compatibility small{letter-spacing:0;color:#a1af95;margin-top:7px;font-size:8px;font-weight:400;display:block}.plain-title{text-align:left;background:0 0;border:0;align-self:flex-start;padding:0}.plain-title h2{margin-bottom:10px;font-size:21px}.athlete-meta{color:#93a082;flex-wrap:wrap;align-items:center;gap:5px;font-size:10px;display:flex}.athlete-bio{color:#849174;flex:1;margin:20px 0;font-size:12px;line-height:1.75}.athlete-goal{color:#778e5e;overflow-wrap:anywhere;background:#f5f8f0;border-radius:6px;align-items:center;gap:7px;margin-bottom:13px;padding:9px 11px;font-size:10px;display:flex}.match-reasons{flex-wrap:wrap;gap:5px;margin-bottom:20px;display:flex}.match-reasons span{color:#859570;border:1px solid #e4eada;border-radius:4px;padding:4px 5px;font-size:8px}.athlete-card .button{min-height:41px;font-size:12px}.athlete-detail{text-align:center}.athlete-detail>.avatar{margin:5px 0 19px}.athlete-detail h2{margin-bottom:15px;font-size:29px}.athlete-detail p{color:var(--muted);margin:15px 0;font-size:14px}.athlete-detail .athlete-goal{justify-content:center;padding:12px;font-size:14px}.athlete-detail .inline-actions{justify-content:center;gap:30px;margin-top:15px}.invitations{margin-top:36px}.invitations h2{font-size:23px}.invitations>p{font-size:13px}.invitation{align-items:center;gap:18px;padding:20px;display:flex}.invitation>div{flex:1}.invitation strong{font-size:15px}.invitation p{color:#7e8e6f;margin:5px 0;font-size:12px}.invitation small{color:#91a182;font-size:11px}.invitation .pill{font-size:10px}.inline-actions{align-items:center;gap:9px;display:flex}.inline-actions .button{padding:10px 13px;font-size:12px}.group-card{flex-direction:column;gap:16px;margin-bottom:0;padding:25px;display:flex}.group-card>.sport-icon{border-radius:14px;width:60px;height:60px}.group-card>.eyebrow{color:#93a47d;font-size:9px}.group-card h2{margin:0;font-size:23px;line-height:1.15}.group-card p{color:#839372;flex:1;margin:0;font-size:13px;line-height:1.75}.group-card>.small{align-items:center;gap:7px;font-size:11px;display:flex}.group-card .button{margin-top:8px;font-size:12px}.profile-header{align-items:center;gap:25px;padding:30px;display:flex}.profile-header>div{flex:1}.profile-header h2{margin-bottom:10px;font-size:26px}.profile-header p{margin-bottom:6px;font-size:13px}.profile-header .button{font-size:12px}.profile-grid{grid-template-columns:1fr 1fr;gap:23px;display:grid}.profile-grid>.card{padding:28px}.profile-grid .field{font-size:13px}.profile-grid .small{font-size:12px;line-height:1.65}.profile-grid h2{margin-bottom:24px}.profile-stats{margin:25px 0}.profile-stats>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:18px;padding:13px 0;display:flex}.profile-stats dt{color:var(--muted);font-size:13px}.profile-stats dd{margin:0;font-size:14px;font-weight:600}.data-controls{flex-wrap:wrap;align-items:center;gap:16px;padding:26px;display:flex}.data-controls>div{flex:1;min-width:220px}.data-controls h2{margin-bottom:8px;font-size:19px}.data-controls p{color:var(--muted);margin:0;font-size:12px}.data-controls .button{padding:11px 15px;font-size:11px}.danger-text{color:#a34c42}.danger-outline{color:#ab574b;background:#fff;border-color:#e7c9c3}.danger-outline:hover{color:#9b4035;background:#fbeeea}.danger-button{color:#fff;background:#ad4b3c}.danger-button:hover{color:#fff;background:#903a30}.legal-page{max-width:850px;margin:auto;padding:40px 30px 70px}.legal-page>main{padding-top:70px}.legal-page h1{margin-top:15px;font-size:43px}.legal-page h2{margin-top:34px;font-size:23px}.legal-page p{color:#65725d;font-size:16px;line-height:1.8}.legal-page .notice{font-size:14px}.legal-page .button{margin-top:25px}@media (min-width:1500px){.workspace-main{padding:34px 50px 20px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 350px;gap:30px}.today-card{padding:30px 34px}.today-card h2{font-size:34px}.today-card>p{font-size:14px}.today-sport,.today-metrics>span{font-size:13px}.card-top .eyebrow{font-size:11px}.week-card{padding:30px}.week-bar-track{height:100px}.goal-card{padding:28px 30px 0}.goal-card h2{font-size:29px}.goal-sport{font-size:12px}.goal-card>p,.goal-stats{font-size:13px}.mini-stat>span{font-size:12px}.mini-stat p{font-size:11px}.score-content p{font-size:12px}.score-content>div:last-child>strong{font-size:14px}}@media (max-width:1190px){.sidebar{width:210px;padding:25px 14px 0}.workspace{margin-left:210px}.workspace-main{padding:22px 25px}.topbar{padding:0 25px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 280px;gap:18px}.today-card{padding:24px}.today-metrics{gap:14px}.today-footer .small{display:none}.week-chart{gap:12px;padding:0}.stat-grid{gap:10px}.mini-stat{padding:18px 13px}.mini-stat>.text-stat{font-size:15px!important}.social-layout{grid-template-columns:minmax(0,1fr) 230px;gap:18px}.athlete-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-grid{gap:5px}.calendar-workout{padding:10px 5px}.calendar-workout strong{font-size:10px}.calendar-day{padding:10px 5px}.hero-copy h1{font-size:62px}.hero-visual{min-height:540px}.landing-hero{gap:25px}.hero-actions .button{padding:12px 15px;font-size:12px}.hero-orbit{height:310px}.hero-sticker{right:14px}.hero-foot{gap:14px;font-size:11px}.auth-art{padding:40px 35px}.sidebar-logo{padding-left:12px}.sidebar-logo .brand{gap:11px}.sidebar-logo .brand-mark{font-size:46px}.sidebar-logo .brand-name{font-size:12px}}@media (max-width:1000px){.sidebar{width:190px;padding:22px 11px 0}.workspace{margin-left:190px}.nav-item{gap:10px;padding:12px 10px}.nav-item small{font-size:9px}.nav-item strong{font-size:13px}.sidebar-logo{padding:6px 6px 25px}.sidebar-logo .brand-name{font-size:10px}.dashboard-grid{grid-template-columns:1fr}.dashboard-aside{grid-template-columns:1fr 1fr;align-items:start;gap:19px;display:grid}.goal-card{grid-row:span 2;margin:0}.score-card{margin:0}.together-card{padding:0 10px}.today-card h2{font-size:33px}.today-card>p{font-size:14px}.today-metrics>span{font-size:12px}.today-footer .small{display:block}.social-layout{grid-template-columns:1fr}.social-layout aside{display:none}.page-heading h1{font-size:30px}.page-heading p{font-size:12px}.calendar-grid{grid-template-columns:repeat(4,1fr)}.calendar-day{min-height:210px}.calendar-workout strong{font-size:12px}.calendar-workout{min-height:140px;padding:12px}.calendar-rest{height:110px}.profile-grid{grid-template-columns:1fr}.profile-header{gap:16px;padding:25px}.profile-header p{font-size:12px}.landing-hero{gap:20px;min-height:600px;padding-top:15px}.hero-copy h1{font-size:52px}.hero-copy>p{font-size:18px}.hero-visual{min-height:490px;padding:23px}.hero-orbit{height:270px}.hero-orbit>span{font-size:115px}.visual-bottom{bottom:30px;left:24px;right:24px}.visual-bottom strong{font-size:23px}.visual-sports{gap:10px}.visual-sports svg{width:18px}.hero-sticker strong,.hero-sticker span{font-size:15px}.hero-sticker{padding:10px 14px;top:54%}.hero-foot{flex-direction:column;gap:8px}.feature-grid{gap:24px}.feature-grid h3{font-size:17px}.landing-footer{flex-wrap:wrap}.auth-art{padding:35px 28px}.auth-main{padding:30px 8%}.auth-form{margin:50px auto}.auth-form h1{font-size:29px}.toast{max-width:500px;left:calc(50% + 80px)}.card .text-link,.stat-grid .mini-stat>span{font-size:12px}.stat-grid .mini-stat p{font-size:11px}}@media (max-width:760px){body{font-size:16px}.sidebar{display:none}.workspace{margin-left:0}.topbar{z-index:30;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);height:64px;padding:0 22px;position:sticky;top:0}.breadcrumb{display:none}.mobile-logo{display:block}.mobile-logo .brand-mark{font-size:39px}.mobile-logo .brand-mark>span{font-size:18px}.app-mode{font-size:8px}.topbar-right{gap:14px}.workspace-main{padding:18px 20px 90px}.dev-banner{padding-bottom:20px;font-size:9px;line-height:1.6}.page-heading{flex-wrap:wrap;align-items:flex-start;gap:14px;margin-bottom:24px}.page-heading>div{flex:1;min-width:250px}.page-heading h1{font-size:31px}.page-heading p{font-size:13px;line-height:1.6}.page-heading>.button{min-height:38px;padding:10px 14px;font-size:11px}.page-heading .eyebrow{font-size:9px}.lime-dot{margin-left:10px;font-size:24px}.dashboard-grid{gap:23px}.dashboard-aside{grid-template-columns:1fr 1fr}.today-card{min-height:auto;padding:23px}.today-card h2{font-size:30px;line-height:1.15}.today-card>p{font-size:13px;line-height:1.65}.today-sport{font-size:12px}.card-top .eyebrow{font-size:9px}.today-metrics{gap:20px}.today-metrics>span{font-size:12px}.today-metrics strong{font-size:18px}.today-footer .small{font-size:10px}.today-footer .button{min-height:46px;font-size:13px}.week-card{padding:22px}.week-card h2{font-size:20px}.week-card .text-link{font-size:11px}.week-chart{gap:17px;padding:8px 4px 0}.week-bar-track{width:29px;height:90px}.week-day>span:first-child,.week-day>strong,.day-number,.week-footer,.week-footer strong{font-size:11px}.stat-grid{gap:12px}.mini-stat{padding:19px 15px}.mini-stat>strong{font-size:30px}.mini-stat>strong.text-stat{font-size:17px!important}.mini-stat p{font-size:10px!important}.goal-card h2{font-size:26px}.goal-sport{font-size:11px}.goal-card>p,.goal-stats,.goal-link{font-size:12px}.score-content>div:last-child>strong{font-size:13px}.score-content p{font-size:11px}.together-card h3{font-size:21px}.together-card p{font-size:12px}.bottom-nav{z-index:50;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:10px 6px calc(10px + env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid #dfe6d9;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav>a{color:#9baa8c;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:55px;min-height:42px;font-size:9px;display:flex}.bottom-nav>a.active{color:#405d2d;font-weight:700}.bottom-nav>a.active>svg{stroke-width:2.4px}.toast{left:50%;bottom:calc(85px + env(safe-area-inset-bottom));width:calc(100% - 30px);font-size:13px}.workspace-footer{margin-top:30px}.modal-backdrop{border-radius:17px;width:calc(100% - 24px);max-height:90dvh}.modal-panel{padding:25px}.modal-heading h2{font-size:23px}.landing-nav{min-height:85px;padding:22px 6%}.landing-nav nav{gap:20px}.landing-nav nav>a:first-child{display:none}.landing-nav .brand-mark{font-size:44px}.landing-nav .brand-name{font-size:11px}.landing-nav .button{min-height:41px;padding:11px 15px;font-size:12px}.landing-nav nav{font-size:12px}.landing-hero{grid-template-columns:1fr;gap:35px;padding:15px 6% 40px}.hero-copy{padding:28px 0 0}.hero-copy h1{font-size:clamp(58px,10vw,80px);line-height:.98}.hero-copy .eyebrow{margin-bottom:23px;font-size:10px}.hero-copy>p{font-size:19px}.hero-actions .button{padding:13px 18px;font-size:14px}.hero-foot{flex-direction:row;gap:23px;font-size:11px}.hero-visual{width:100%;max-width:580px;min-height:460px;margin:auto}.hero-orbit{max-width:285px;height:285px;margin-top:17px}.hero-orbit>span{font-size:125px}.hero-sticker{top:51%;right:40px}.visual-bottom{bottom:28px}.visual-bottom strong{font-size:27px}.visual-heading .pill{font-size:9px}.hero-wordmark{font-size:165px;top:110px;left:30px}.sport-ticker{justify-content:flex-start;gap:28px;padding:18px 23px}.sport-ticker span{font-size:12px}.landing-features{padding:60px 6%}.section-intro h2{font-size:34px}.feature-grid{grid-template-columns:1fr;gap:22px;margin-top:30px}.feature-grid article{padding:23px 0 0}.feature-top{margin-bottom:22px}.feature-grid h3{font-size:22px}.feature-grid p{max-width:none;font-size:15px}.landing-cta{padding:50px 20px 55px}.landing-cta h2{font-size:49px}.landing-footer{gap:25px;padding:30px 6%;font-size:11px}.landing-footer>.brand{flex-basis:40%}.landing-footer>span:first-of-type{text-align:right;flex-basis:40%}.auth-page{grid-template-columns:1fr}.auth-art{display:none}.auth-main{min-height:100vh;padding:28px 24px}.auth-form{max-width:440px;margin:50px auto}.auth-form h1{font-size:32px}.auth-form>.eyebrow{font-size:10px}.onboarding-page>header{padding:23px 25px}.onboarding-page>header>.small{display:none}.onboarding-card{border-radius:16px;margin:10px 15px;padding:28px 24px}.onboarding-card h1{font-size:29px}.step-track{gap:14px;margin-bottom:32px}.step-track button{font-size:11px}.onboarding-footer{font-size:9px}.onboarding-card .eyebrow{font-size:10px}.calendar{padding:22px 17px}.calendar .section-heading{flex-wrap:wrap;gap:15px}.calendar .section-heading h2{font-size:17px}.calendar-controls{margin-left:auto}.calendar-grid{grid-template-columns:repeat(3,1fr);gap:8px}.calendar-workout strong{font-size:12px}.calendar-workout{padding:10px}.calendar-workout small{font-size:10px}.calendar-day{min-height:210px}.calendar-rest,.calendar-date{font-size:11px}.coach-note{gap:12px;padding:18px}.coach-note p{font-size:12px;line-height:1.8}.plan-summary{align-items:flex-start;padding:25px}.plan-summary h2{font-size:26px}.plan-summary p{font-size:12px}.plan-summary>.countdown-small{font-size:33px}.social-layout{display:block}.composer{padding:19px}.composer-input textarea{font-size:14px}.filter-tabs{gap:23px}.filter-tabs button{font-size:13px}.post{padding:21px}.post-content{font-size:15px}.post-actions{gap:20px}.post-actions button{font-size:12px}.author-button strong{font-size:14px}.author-button small{font-size:11px}.post-visibility{font-size:10px}.athlete-grid{grid-template-columns:1fr 1fr;gap:15px}.athlete-card{padding:20px}.athlete-meta{font-size:11px}.athlete-bio{font-size:13px}.match-reasons span{font-size:9px}.athlete-goal{font-size:11px}.match-banner{align-items:flex-start;gap:15px;padding:19px}.match-banner>div{align-items:flex-start;gap:12px}.match-banner p{font-size:12px;line-height:1.7}.match-banner>a{margin-top:4px;font-size:10px}.match-label{padding:9px 13px;font-size:9px}.invitation{flex-wrap:wrap;padding:20px}.invitation>div{min-width:190px}.invitation .inline-actions{flex:1;justify-content:flex-end}.invitation .pill{margin-left:auto}.group-card h2{font-size:23px}.group-card p{font-size:13px}.profile-header{flex-wrap:wrap;gap:17px;padding:22px}.profile-header>div{min-width:190px}.profile-header h2{font-size:25px}.profile-header>.button{margin-left:auto}.profile-grid>.card{padding:24px}.data-controls{gap:14px;padding:23px}.data-controls .button{font-size:12px}.data-controls>div{flex-basis:100%;margin-bottom:7px}.legal-page{padding:30px 24px 50px}.legal-page>main{padding-top:45px}.legal-page h1{font-size:34px}}@media (max-width:440px){.workspace-main{padding:16px 16px 90px}.page-heading h1{font-size:29px}.page-heading>div{min-width:230px}.dashboard-aside{grid-template-columns:1fr}.goal-card{grid-row:auto}.score-card{margin:0}.together-card{padding:4px 7px}.today-card{padding:21px}.today-card h2{font-size:29px}.today-metrics{gap:16px}.today-metrics>span:last-child,.today-footer .small{display:none}.today-footer .button{width:100%}.card-top .eyebrow{font-size:8px}.week-card{padding:21px 18px}.week-card .section-heading{flex-wrap:wrap;gap:13px}.week-card h2{font-size:20px}.week-chart{gap:10px;padding-top:8px}.week-bar-track{width:24px}.stat-grid{gap:8px}.mini-stat{padding:17px 11px}.mini-stat>span{font-size:10px!important}.mini-stat>strong{font-size:27px}.mini-stat>strong.text-stat{font-size:15px!important}.mini-stat p{line-height:1.6;font-size:9px!important}.goal-card{padding:26px 27px 0}.goal-card h2{font-size:31px}.countdown>strong{font-size:84px}.goal-card>p,.goal-stats{font-size:13px}.score-card{padding:25px}.score-content{gap:22px}.score-content>div:last-child>strong{font-size:15px}.score-content p{font-size:13px}.score-card .section-heading h2{font-size:20px}.score-details summary,.score-details p{font-size:12px}.score-ring{width:97px;height:97px}.score-ring>span{width:82px;height:82px}.score-ring strong{font-size:35px}.hero-copy h1{font-size:57px}.hero-copy>p{font-size:18px}.hero-actions{gap:10px}.hero-actions .button{padding:13px 14px;font-size:12px}.hero-visual{min-height:435px}.hero-orbit{height:260px}.hero-wordmark{font-size:130px;left:4px}.hero-sticker{top:52%;right:18px}.visual-bottom{left:23px;right:23px}.visual-bottom strong{font-size:25px}.visual-bottom .eyebrow{font-size:8px}.visual-sports{gap:8px}.visual-sports svg{width:17px}.landing-nav nav{gap:14px}.landing-nav .brand-name{display:none}.landing-nav .brand-mark{font-size:48px}.hero-foot{gap:19px;font-size:10px}.landing-footer>.brand{flex-basis:100%}.landing-footer>span:first-of-type{text-align:left;flex-basis:auto}.landing-footer{gap:16px;font-size:11px}.athlete-grid{grid-template-columns:1fr}.athlete-card{padding:26px}.athlete-card h2{font-size:24px}.athlete-meta{font-size:12px}.athlete-bio{font-size:14px}.athlete-goal{font-size:12px}.match-reasons span{padding:4px 7px;font-size:10px}.compatibility{font-size:29px}.compatibility small{font-size:10px}.match-banner{flex-direction:column;gap:9px}.match-banner>a{margin-left:37px;font-size:12px}.search-controls{flex-direction:column;gap:10px}.search-controls>select{width:100%}.search-field input{min-height:47px}.athlete-card .button{min-height:45px;font-size:14px}.athlete-card-top .avatar{width:65px;height:65px}.calendar-grid{grid-template-columns:1fr}.calendar-day{grid-template-columns:48px 1fr;align-items:center;gap:10px;min-height:75px;padding:10px;display:grid}.calendar-date{margin:0}.calendar-workout{grid-template-columns:25px 1fr;align-items:center;gap:4px 10px;min-height:85px;display:grid}.calendar-workout strong{font-size:13px}.calendar-workout>span{grid-column:2;font-size:12px}.calendar-workout small{grid-column:2;font-size:11px}.calendar-workout svg{grid-row:span 3}.calendar-rest{align-items:flex-start;height:auto;padding:10px 0;font-size:12px}.calendar-controls .text-button{font-size:12px}.calendar-controls{gap:13px}.plan-summary{gap:12px;padding:22px}.plan-summary h2{font-size:24px}.countdown-small{font-size:33px}.plan-summary>div:last-child{max-width:140px}.generate-card{padding:30px 22px}.generate-card p{font-size:14px}.modal-panel{padding:24px 21px}.form-grid{gap:0 12px}.field{font-size:13px}.sport-choices{gap:9px}.sport-choices button{padding:13px 10px;font-size:12px}.sport-choices svg{width:20px}.step-track{gap:11px}.step-track button{font-size:10px}.onboarding-card{padding:25px 21px}.onboarding-card h1{font-size:28px}.post-actions{flex-wrap:wrap;gap:16px}.post-actions button{font-size:11px}.post-content{font-size:14px}.post-header{gap:10px}.post-visibility{font-size:9px}.author-button{gap:10px}.comments form{gap:8px}.comments .button{padding:11px 10px}.profile-stats dt{font-size:12px}.profile-stats dd{font-size:13px}.profile-header>.avatar{width:60px;height:60px}.profile-header>div{min-width:180px}.data-controls .button{width:100%;font-size:13px}.group-card p{font-size:14px}.group-card>.eyebrow{font-size:11px}.group-card .button{font-size:14px}.detail-tags{gap:12px}.workout-card{gap:13px;padding:17px 15px}.workout-copy strong{font-size:14px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.nav-item small,.sidebar-user small,.nav-caption,.dev-banner,.app-mode,.workspace-footer,.page-heading .eyebrow{color:#64735d;font-size:11px}.card-top .eyebrow,.today-card .pill,.section-heading .eyebrow{font-size:11px}.today-sport,.today-card>p,.today-metrics>span,.today-footer .small{color:#526647;font-size:13px}.week-day>span:first-child,.week-day>strong,.day-number,.week-footer,.week-footer strong{color:#5d7050;font-size:12px}.mini-stat>span{color:#627154;font-size:12px!important}.mini-stat p{color:#627154;font-size:11px!important}.goal-sport,.goal-card>p,.goal-stats,.goal-link{font-size:13px}.goal-sport,.goal-card>p{color:#c0ceba}.score-content p,.score-details summary,.score-ring small{color:#5f7350;font-size:12px}.score-content>div:last-child>strong{font-size:14px}.together-card p,.together-card .text-link,.card .text-link{color:#5a704b;font-size:13px}.post-visibility,.author-button small,.post-actions button,.group-short small,.athlete-meta,.athlete-goal,.match-reasons span,.compatibility small{color:#61734f;font-size:12px}.post-content,.athlete-bio,.group-card p{color:#5b6c4e;font-size:14px}.group-short strong,.community-note,.community-manifesto p,.workout-copy .eyebrow,.workout-copy>.muted,.calendar-workout small,.calendar-date,.calendar-rest,.chart-axis{font-size:12px}.community-note,.workout-copy .eyebrow,.workout-copy>.muted,.calendar-rest{color:#627653}.community-manifesto p{color:#c1d1b8}.match-banner p,.match-banner>a,.coach-note p{color:#536b40;font-size:13px}.filter-tabs button,.search-controls>select,.search-field input,.visibility-select select,.composer-footer .button{font-size:14px}.calendar-workout strong{font-size:12px}.calendar-workout small,.calendar-date,.chart-axis{color:#536b40}.bottom-nav>a{color:#66765c;font-size:11px}.bottom-nav>a.active{color:#304d20}.profile-grid .check-label small,.profile-grid .small,.profile-stats dt,.profile-stats dd{font-size:13px}.eyebrow{font-size:12px}.step-track button,.day-picker button,.field small{font-size:13px}@media (max-width:440px){.week-chart{gap:8px}.week-day>span:first-child,.week-day>strong,.day-number{font-size:11px}.card-top{gap:8px}.card-top .eyebrow{font-size:10px}.today-card .pill{font-size:9px}.mini-stat>strong.text-stat{font-size:14px!important}.post-header{flex-wrap:wrap;align-items:flex-start}.match-reasons{gap:7px}.calendar-workout strong{font-size:14px}.calendar-workout small{font-size:12px}.goal-stats{gap:15px}.profile-stats>div,.step-track{gap:10px}.step-track button{font-size:11px}.day-picker button{font-size:12px}.topbar-right{gap:12px}}.field-label{flex-direction:column;gap:7px;display:flex}
