@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;600;700;900&display=swap";:root{color:#eef1ec;font-synthesis:none;--bg:#11151b;--panel:#1a2028;--panel-2:#202832;--muted:#8c979b;--line:#eef1ec1a;--lime:#d8f56a;--lime-dark:#9db54b;--orange:#ff8663;--blue:#8bc8ff;--mono:"DM Mono", monospace;background:#11151b;font-family:Manrope,Noto Sans SC,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:0}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--lime);outline-offset:3px}.app-shell{background:radial-gradient(circle at 77% 8%, #6789651f, transparent 26rem), var(--bg);min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);background:#0f1318d1;flex-direction:column;flex:0 0 234px;width:234px;min-height:100vh;padding:31px 18px 22px;display:flex}.brand-lockup{align-items:center;gap:11px;padding:0 10px;display:flex}.brand-mark{color:#182016;background:var(--lime);border-radius:11px;place-items:center;width:35px;height:35px;display:grid;transform:rotate(-8deg)}.brand-lockup strong{letter-spacing:-.03em;font-size:16px;display:block}.brand-lockup span{color:#6f7b80;font:500 8px var(--mono);letter-spacing:.18em;margin-top:2px;display:block}.sidebar-rule{background:var(--line);height:1px;margin:31px 10px 18px}.nav-list{gap:4px;display:grid}.nav-item{color:#8e989a;text-align:left;background:0 0;border-radius:9px;align-items:center;gap:13px;height:44px;padding:0 13px;font-size:13px;transition:all .18s;display:flex}.nav-item:hover{color:#eff2ec;background:#ffffff0b}.nav-item.active{color:#1c2418;background:var(--lime);font-weight:800}.nav-dot{background:var(--orange);border-radius:50%;width:5px;height:5px;margin-left:auto}.nav-item.active .nav-dot{background:#526822}.calendar-icon{text-align:center;width:19px;font-size:23px;line-height:15px}.sidebar-bottom{margin-top:auto}.coach-card{border:1px solid var(--line);border-radius:10px;align-items:center;gap:9px;margin:0 0 14px;padding:11px 10px;display:flex}.coach-avatar,.user-avatar{border-radius:50%;place-items:center;display:grid}.coach-avatar{color:#191c1f;background:#edc0a5;width:28px;height:28px;font-size:12px;font-weight:800}.coach-card span,.coach-card strong{display:block}.coach-card span{color:#727d82;font-size:10px}.coach-card strong{margin-top:2px;font-size:11px}.coach-card svg{color:#6b757b;margin-left:auto}.settings-link{color:#6f7a7e;background:0 0;align-items:center;gap:10px;padding:6px 10px;font-size:11px;display:flex}.main-content{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:76px;padding:0 42px;display:flex}.breadcrumb{color:#687379;font:11px var(--mono);align-items:center;gap:10px;display:flex}.breadcrumb b{color:#3f4a4d}.breadcrumb strong{color:#bdc5c2;font-weight:400}.top-actions{align-items:center;gap:17px;display:flex}.icon-button,.round-button{color:#9aa4a6;background:0 0;place-items:center;display:grid;position:relative}.icon-button i{background:var(--orange);border-radius:50%;width:5px;height:5px;position:absolute;top:-1px;right:-1px}.user-chip{color:#aeb8b7;align-items:center;gap:8px;font-size:12px;display:flex}.user-avatar{color:#13181b;background:#b4d9da;width:29px;height:29px;font-weight:800}.user-chip svg{color:#6a7478}.mobile-menu{background:0 0;display:none}.page-wrap{max-width:1250px;margin:0 auto;padding:47px 42px 70px}.view-header{justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px;display:flex}.eyebrow,.micro-label{color:#708078;font:500 10px var(--mono);letter-spacing:.16em;text-transform:uppercase;margin:0}.view-header h1{color:#f0f3ed;letter-spacing:-.055em;margin:10px 0 9px;font-size:clamp(26px,3vw,38px);line-height:1.1}.view-description{color:#849092;margin:0;font-size:13px}.card-surface{border:1px solid var(--line);background:linear-gradient(145deg,#222a33d9,#181e25eb);border-radius:13px;box-shadow:0 15px 40px #00000014}.secondary-button,.primary-button{border-radius:7px;justify-content:center;align-items:center;gap:8px;height:38px;padding:0 15px;font-size:12px;font-weight:700;transition:transform .15s,background .15s;display:inline-flex}.secondary-button{color:#c7d1cb;background:#ffffff09;border:1px solid #eef1ec29}.secondary-button:hover{background:#ffffff12}.primary-button{color:#172016;background:var(--lime)}.primary-button:hover{background:#e7ff93;transform:translateY(-1px)}.primary-button.small{height:35px}.primary-button:disabled{opacity:.35;cursor:not-allowed;transform:none}.text-button,.inline-link{color:#aebbaf;background:0 0;align-items:center;gap:7px;padding:5px 0;font-size:11px;display:inline-flex}.text-button:hover,.inline-link:hover{color:var(--lime)}.round-button{border:1px solid var(--line);border-radius:50%;width:29px;height:29px}.today-grid{grid-template-columns:minmax(0,1.35fr) minmax(305px,.85fr);gap:16px;display:grid}.hero-card{background:linear-gradient(135deg,#25332d 0%,#1d2829 48%,#19222a 100%);min-height:349px;padding:25px 27px 21px;position:relative;overflow:hidden}.hero-card:before{content:"";border:1px solid #d8f56a33;border-radius:50%;width:240px;height:240px;position:absolute;top:-134px;right:-60px;box-shadow:0 0 0 26px #d8f56a09,0 0 0 52px #d8f56a06}.hero-top,.section-heading{justify-content:space-between;align-items:center;display:flex}.status-pill{color:#d9f181;font:500 10px var(--mono);background:#d8f56a1a;border-radius:50px;align-items:center;gap:7px;padding:6px 9px;display:inline-flex}.status-pill i,.confidence-badge i{background:var(--lime);border-radius:50%;width:5px;height:5px;box-shadow:0 0 0 3px #d8f56a21}.card-meta{color:#697576;font:10px var(--mono)}.hero-copy{z-index:1;max-width:500px;margin-top:59px;position:relative}.hero-copy h2{letter-spacing:-.06em;margin:9px 0;font-size:clamp(22px,3vw,31px)}.hero-copy p:not(.micro-label){color:#9ca9a4;max-width:420px;margin:0;font-size:12px;line-height:1.8}.workout-stats{gap:clamp(18px,6vw,70px);display:flex;position:absolute;bottom:74px;left:27px;right:27px}.workout-stats div span,.goal-date span,.metric-row span,.shoe-mileage span{color:#758181;font-size:10px;display:block}.workout-stats strong{color:#e8f1e7;font:500 16px var(--mono);margin-top:6px;display:block}.workout-stats strong:first-letter{color:var(--lime)}.workout-stats small{color:#879889;font-size:10px}.hero-footer{align-items:center;gap:17px;display:flex;position:absolute;bottom:20px;left:27px;right:27px}.hero-swoosh{border:1px solid #8bc8ff1f;border-radius:50%;width:65%;height:90%;position:absolute;bottom:-29%;right:-8%;transform:rotate(-11deg)}.hero-swoosh:after{content:"";border:1px solid #8bc8ff12;border-radius:50%;position:absolute;inset:18px -18px -18px 18px}.goal-card{min-height:349px;padding:23px 23px 19px}.section-heading h3{letter-spacing:-.04em;margin:8px 0 0;font-size:17px}.goal-date{align-items:center;gap:10px;margin-top:27px;display:flex}.goal-date strong{color:#c8d0cb;font:11px var(--mono)}.days-left{font:10px var(--mono);margin-left:auto;color:#d1ef79!important}.probability-ring{align-items:center;gap:21px;margin-top:27px;display:flex}.ring-visual{background:conic-gradient(var(--lime) 0 68%, #303c40 68% 100%);border-radius:50%;flex:0 0 135px;place-items:center;width:135px;height:135px;display:grid;position:relative}.ring-visual:after{content:"";background:#1c242a;border-radius:50%;position:absolute;inset:9px}.ring-visual div{z-index:1;text-align:center;position:relative}.ring-visual strong,.ring-visual span{display:block}.ring-visual strong{color:var(--lime);font:500 18px var(--mono)}.ring-visual span{color:#78858a;margin-top:4px;font-size:10px}.ring-copy{min-width:0}.confidence-badge{color:#c0d8a0;font:10px var(--mono);align-items:center;gap:7px;display:inline-flex}.ring-copy p{color:#859093;margin:12px 0 0;font-size:11px;line-height:1.75}.inline-link{color:#bdc9b1;margin-top:20px}.metric-card{padding:21px 23px}.recovery-card,.weather-card{min-height:228px}.muted-icon{color:#84aa8d}.recovery-score{align-items:baseline;gap:4px;margin-top:23px;display:flex}.recovery-score strong{color:var(--lime);font:500 34px var(--mono);letter-spacing:-.08em}.recovery-score span{color:#6f7d7c;font:11px var(--mono)}.recovery-score em{color:#a7b997;margin-left:auto;font-size:10px;font-style:normal}.meter{background:#303a3f;border-radius:3px;height:4px;overflow:hidden}.meter i{border-radius:inherit;background:var(--lime);height:100%;display:block}.recovery-card .meter{margin:15px 0 19px}.metric-row{color:#899696;justify-content:space-between;align-items:center;padding:9px 0 0;font-size:11px;display:flex}.metric-row span{color:#859294;align-items:center;gap:7px;display:inline-flex}.metric-row svg{color:#8eae8e}.metric-row strong{color:#d6ddd7;font:11px var(--mono)}.weather-card{grid-column:2}.weather-icon{color:#f6d17b}.weather-main{align-items:baseline;gap:13px;margin-top:17px;display:flex}.weather-main strong{color:#e6ebdf;font:500 35px var(--mono);letter-spacing:-.08em}.weather-main span{color:#819092;font-size:11px}.weather-details{color:#889595;flex-wrap:wrap;gap:10px 16px;margin-top:13px;font-size:10px;display:flex}.weather-details span{align-items:center;gap:5px;display:inline-flex}.weather-details svg{color:#83a98f}.weather-note{border-top:1px solid var(--line);color:#b7c49e;align-items:center;gap:7px;margin-top:19px;padding-top:13px;font-size:10px;display:flex}.weather-note svg{color:var(--lime);flex:none}.section-row{justify-content:space-between;align-items:end;margin:45px 0 17px;display:flex}.section-row.compact{margin-top:43px}.section-title{letter-spacing:-.05em;margin:7px 0 0;font-size:19px}.week-strip{grid-template-columns:repeat(7,1fr);display:grid;overflow:hidden}.week-day{text-align:center;border-right:1px solid var(--line);min-height:142px;padding:16px 12px 14px}.week-day:last-child{border:0}.day-name,.day-date{display:block}.day-name{color:#bdc5be;font-size:12px;font-weight:800}.day-date{color:#687476;font:9px var(--mono);margin-top:4px}.day-mark{color:#bdc9a0;border:1px solid #596660;border-radius:50%;place-items:center;width:28px;height:28px;margin:13px auto 11px;display:grid}.week-day.done .day-mark{color:#233117;background:var(--lime);border:0}.week-day.today .day-mark{border-color:var(--lime)}.week-day.today .day-mark i{background:var(--lime);border-radius:50%;width:6px;height:6px}.week-day.upcoming .day-mark{color:#657173;font:9px var(--mono);border-color:#364146}.week-day strong,.week-day small{display:block}.week-day strong{color:#abb8b0;font-size:11px}.week-day small{color:#687577;margin-top:5px;font-size:9px}.plan-layout{grid-template-columns:minmax(0,1.5fr) minmax(280px,.65fr);gap:17px;display:grid}.plan-main{padding:25px 27px}.plan-summary{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding-bottom:25px;display:flex}.plan-summary h3{letter-spacing:-.05em;margin:9px 0 8px;font-size:19px}.plan-summary p:not(.micro-label){color:#899598;margin:0;font-size:11px;line-height:1.7}.progress-orb{border:1px solid var(--lime-dark);border-radius:50%;flex:0 0 68px;align-content:center;place-items:center;width:68px;height:68px;display:grid;transform:rotate(9deg)}.progress-orb strong,.progress-orb span{display:block;transform:rotate(-9deg)}.progress-orb strong{color:var(--lime);font:15px var(--mono)}.progress-orb span{color:#7e8c83;margin-top:4px;font-size:8px}.plan-line{padding-top:6px}.plan-row{border-bottom:1px solid #eef1ec0f;grid-template-columns:82px 1fr auto 17px;align-items:center;gap:17px;min-height:58px;display:grid}.plan-row:last-child{border:0}.plan-date strong,.plan-date span,.plan-type strong,.plan-type span{display:block}.plan-date strong{font-size:11px}.plan-date span{color:#6d797c;font:9px var(--mono);margin-top:3px}.plan-type{align-items:center;gap:11px;display:flex}.plan-type>i{background:#a5c08c;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #a5c08c1a}.plan-type>i.hard{background:var(--orange);box-shadow:0 0 0 4px #ff86631a}.plan-type>i.long{background:var(--blue);box-shadow:0 0 0 4px #8bc8ff1a}.plan-type>i.rest{background:#59656b;box-shadow:0 0 0 4px #59656b1a}.plan-type span{color:#7a888b;margin-top:3px;font-size:10px}.plan-state{color:#768381;font-size:10px}.plan-row.today .plan-state,.plan-row.today .plan-date strong,.plan-row.today .plan-type strong{color:var(--lime)}.plan-aside{align-content:start;gap:17px;display:grid}.coach-note,.data-quality{padding:21px 22px}.note-icon{color:#172117;background:var(--lime);border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.coach-note .micro-label{margin-top:18px}.coach-note h3{letter-spacing:-.06em;margin:9px 0 10px;font-size:18px}.coach-note p:not(.micro-label){color:#8c9999;margin:0;font-size:11px;line-height:1.8}.coach-note>span{color:#80917e;font:10px var(--mono);margin-top:15px;display:block}.data-quality .section-heading h3{margin:0;font-size:13px}.data-quality .section-heading svg{color:#8eba95}.quality-bar{background:#303a3e;border-radius:3px;height:6px;margin:21px 0 10px;overflow:hidden}.quality-bar i{border-radius:inherit;background:var(--blue);height:100%;display:block}.data-quality>strong{color:var(--blue);font:18px var(--mono)}.data-quality p{color:#78868a;margin:8px 0 0;font-size:10px;line-height:1.7}.training-top{grid-template-columns:1.3fr 1fr;gap:17px;display:grid}.large{min-height:293px;padding:24px 26px}.big-metric{align-items:baseline;gap:12px;margin-top:13px;display:flex}.big-metric strong{color:var(--lime);font:500 39px var(--mono);letter-spacing:-.09em}.big-metric span{color:#819093;font-size:11px}.big-metric em{color:#9bb786;font:10px var(--mono);align-items:center;gap:4px;margin-left:auto;font-style:normal;display:inline-flex}.bar-chart{border-bottom:1px solid var(--line);align-items:end;gap:7px;height:138px;margin-top:20px;padding:0 2px;display:flex}.bar-chart div{flex:1;align-items:end;height:100%;display:flex}.bar-chart i{background:#536268;border-radius:3px 3px 0 0;width:100%}.bar-chart .today-bar i{background:var(--lime)}.chart-labels{color:#687577;font:9px var(--mono);justify-content:space-between;margin-top:8px;display:flex}.training-insight{background:linear-gradient(135deg,#29312d,#202830);min-height:293px;padding:25px 26px}.insight-top{color:#b8ce9a;font:10px var(--mono);align-items:center;gap:10px;display:flex}.insight-top .note-icon{width:29px;height:29px}.training-insight h3{letter-spacing:-.07em;max-width:280px;margin:33px 0 13px;font-size:24px;line-height:1.2}.training-insight>p{color:#8e9a99;max-width:340px;margin:0;font-size:11px;line-height:1.8}.insight-footer{border-top:1px solid var(--line);gap:25px;margin-top:27px;padding-top:15px;display:flex}.insight-footer strong,.insight-footer span{display:block}.insight-footer strong{color:#e3e9df;font:14px var(--mono)}.insight-footer span{color:#738080;margin-top:5px;font-size:9px}.signals-grid{grid-template-columns:repeat(3,1fr);gap:17px;display:grid}.signal-card{grid-template-rows:auto auto auto;grid-template-columns:37px 1fr;column-gap:12px;padding:17px 19px;display:grid}.signal-icon{border-radius:10px;grid-row:1/span 3;place-items:center;width:37px;height:37px;display:grid}.signal-icon.green{color:#b9db92;background:#b9db921c}.signal-icon.orange{color:#ffab89;background:#ffab891a}.signal-icon.blue{color:#9ed3f5;background:#9ed3f51a}.signal-card span{color:#7f8e8f;font-size:10px}.signal-card strong{color:#d9e0d8;margin-top:5px;font-size:13px}.signal-card small{color:#728080;margin-top:4px;font-size:9px}.shoe-alert,.privacy-banner{background:#d8f56a0b;border:1px solid #d8f56a2e;border-radius:10px;align-items:center;gap:13px;margin-bottom:22px;padding:13px 16px;display:flex}.alert-symbol{color:#192116;background:var(--lime);border-radius:8px;place-items:center;width:31px;height:31px;display:grid}.shoe-alert strong,.shoe-alert span,.privacy-banner strong,.privacy-banner span{display:block}.shoe-alert strong,.privacy-banner strong{font-size:11px}.shoe-alert span,.privacy-banner span{color:#899790;margin-top:3px;font-size:10px}.shoe-alert>svg,.privacy-banner>svg:last-child{color:#829183;margin-left:auto}.shoe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;display:grid}.shoe-card{grid-template-columns:35% 65%;min-height:260px;display:grid;position:relative;overflow:hidden}.shoe-illustration{background:linear-gradient(145deg,#303c42,#1b252c);place-items:center;display:grid;position:relative;overflow:hidden}.shoe-illustration:before{content:"";border:1px solid #d8f56a1f;border-radius:50%;width:170px;height:170px;position:absolute}.shoe-shape{z-index:1;background:linear-gradient(145deg,#d5d7ce,#818d8c);border-radius:13px 34px 11px 11px;width:104px;height:48px;position:relative;transform:skew(-12deg)rotate(-9deg);box-shadow:6px 13px 0 -4px #293339}.shoe-shape:before{content:"";background:#d4d8d0;border-radius:20px 20px 4px 4px;width:40px;height:18px;position:absolute;top:-13px;left:14px}.shoe-shape span{color:#2a3a36;font-size:22px;font-weight:900;position:absolute;top:9px;left:14px;transform:skew(12deg)rotate(9deg)}.shoe-stripe{z-index:2;background:var(--orange);border-radius:2px;width:85px;height:4px;position:absolute;transform:rotate(-14deg)}.shoe-info{padding:23px 20px}.shoe-name{justify-content:space-between;gap:10px;display:flex}.shoe-name span{color:#859393;font:10px var(--mono)}.shoe-name h3{letter-spacing:-.06em;margin:5px 0 0;font-size:18px}.shoe-info>p{color:#79878a;margin:8px 0 26px;font-size:10px}.shoe-mileage{justify-content:space-between;align-items:baseline;display:flex}.shoe-mileage strong{color:var(--lime);font:500 20px var(--mono)}.shoe-mileage em{color:#8e9d9a;font:10px var(--mono);font-style:normal}.shoe-meter{margin:10px 0 8px}.shoe-info>small{color:#778482;font-size:9px}.add-shoe-card{color:#8e9c99;background:#ffffff05;border:1px dashed #47555a;border-radius:13px;align-content:center;place-items:center;gap:8px;min-height:260px;display:grid}.add-shoe-card:hover{border-color:var(--lime-dark);color:var(--lime)}.add-shoe-card span{border:1px solid;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.add-shoe-card strong{font-size:12px}.add-shoe-card small{color:#687577;font-size:10px}.shoe-footnote{color:#687779;align-items:center;gap:8px;margin-top:18px;font-size:10px;display:flex}.shoe-footnote svg{color:#8b9c80}.privacy-banner{background:#8bc8ff0b;border-color:#8bc8ff33;padding:15px 17px}.privacy-banner>svg:first-child{color:var(--blue)}.source-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.source-card{align-items:center;gap:13px;min-height:115px;padding:16px;display:flex}.source-icon{color:#9fb1ae;background:#2c373c;border-radius:10px;flex:0 0 39px;place-items:center;width:39px;height:39px;display:grid}.is-connected .source-icon{color:#d8f56a;background:#d8f56a1c}.source-copy{flex:1;min-width:0}.source-copy>div{align-items:center;gap:8px;display:flex}.source-copy h3{margin:0;font-size:13px}.source-status{color:#9ba5a2;font:9px var(--mono);background:#ffffff0f;border-radius:4px;padding:3px 5px}.source-status.connected{color:#c4dd91;background:#d8f56a17}.source-status.pending{color:#f3b38b;background:#ff86631a}.source-status.import{color:#9ec9ea;background:#8bc8ff14}.source-copy p{color:#899596;margin:5px 0 4px;font-size:10px}.source-copy small{color:#687577;font-size:9px}.toggle-button{background:#3a4649;border-radius:20px;flex:none;width:34px;height:20px;padding:2px}.toggle-button span{background:#899597;border-radius:50%;width:16px;height:16px;transition:all .18s;display:block}.toggle-button.on{background:var(--lime-dark)}.toggle-button.on span{background:var(--lime);margin-left:14px}.source-action{border:1px solid var(--line);color:#91a0a2;background:0 0;border-radius:50%;place-items:center;width:29px;height:29px;display:grid}.import-card{align-items:center;gap:14px;margin-top:17px;padding:19px;display:flex}.import-icon{color:#9ecff3;background:#8bc8ff17;border-radius:9px;place-items:center;width:38px;height:38px;display:grid}.import-card>div:nth-child(2){flex:1}.import-card h3{margin:7px 0 5px;font-size:14px}.import-card p:not(.micro-label){color:#7e8c8f;margin:0;font-size:10px}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#040709bf;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-card{background:#1b2429;border:1px solid #d8f56a33;border-radius:15px;width:min(490px,100%);padding:29px;position:relative;box-shadow:0 30px 80px #00000080}.small-modal{width:min(420px,100%)}.modal-close{color:#869294;background:#ffffff0d;border-radius:50%;place-items:center;width:29px;height:29px;display:grid;position:absolute;top:16px;right:16px}.modal-kicker{color:var(--lime);font:10px var(--mono);letter-spacing:.12em;align-items:center;gap:8px;display:flex}.modal-card h2{letter-spacing:-.065em;max-width:390px;margin:14px 0 9px;font-size:24px;line-height:1.2}.modal-description{color:#8d9a9b;margin:0;font-size:11px;line-height:1.8}.compare-box{background:#0000002b;border-radius:9px;grid-template-columns:1fr 24px 1fr;align-items:center;gap:10px;margin:23px 0 17px;padding:15px;display:grid}.compare-box>svg{color:#72847c;transform:rotate(45deg)}.compare-box div span,.compare-box div small{color:#788687;font-size:10px;display:block}.compare-box div strong{color:#d8dfd8;font:17px var(--mono);margin:7px 0 5px;display:block}.compare-box .recommended strong{color:var(--lime)}.reason-list{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:9px;padding:13px 0;display:grid}.reason-list div{color:#98a4a2;align-items:center;gap:8px;font-size:10px;display:flex}.reason-list svg{color:#97b388}.modal-actions{justify-content:flex-end;align-items:center;gap:17px;margin-top:23px;display:flex}.modal-card label{color:#a9b5b1;margin-top:16px;font-size:11px;display:block}.modal-card input,.modal-card select{border:1px solid var(--line);color:#dfe7df;background:#141b20;border-radius:7px;outline:0;width:100%;height:39px;margin-top:7px;padding:0 11px}.modal-card input:focus,.modal-card select:focus{border-color:var(--lime-dark)}.form-grid{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}.toast{z-index:30;color:#dff28f;background:#223026;border:1px solid #d8f56a40;border-radius:8px;align-items:center;gap:8px;padding:12px 15px;font-size:11px;animation:.2s toast-in;display:flex;position:fixed;bottom:25px;right:25px;box-shadow:0 12px 35px #0000004d}.toast svg{color:var(--lime)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.bottom-nav{display:none}@media (width<=960px){.sidebar{flex-basis:205px;width:205px}.topbar{padding:0 28px}.page-wrap{padding:38px 28px 60px}.today-grid{grid-template-columns:1fr 1fr}.hero-card{grid-column:1/-1}.weather-card{grid-column:auto}.goal-card{min-height:300px}.probability-ring{margin-top:20px}.ring-visual{flex-basis:115px;width:115px;height:115px}.ring-visual strong{font-size:15px}.plan-layout{grid-template-columns:1fr}.plan-aside{grid-template-columns:1fr 1fr}.training-top{grid-template-columns:1fr}}@media (width<=700px){.app-shell{display:block}.sidebar{z-index:15;width:260px;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-102%);box-shadow:20px 0 60px #00000059}.sidebar.sidebar-open{transform:translate(0)}.mobile-menu{color:#bdc7c2;place-items:center;display:grid}.topbar{height:66px;padding:0 18px}.breadcrumb{flex:1;margin-left:12px}.user-name,.user-chip>svg{display:none}.page-wrap{padding:30px 16px 88px}.view-header{flex-direction:column;align-items:start;gap:18px;margin-bottom:26px}.view-header h1{font-size:29px}.view-description{font-size:12px}.view-header>button{align-self:stretch}.today-grid{flex-direction:column;gap:12px;display:flex}.hero-card{min-height:390px;padding:20px}.hero-copy{margin-top:53px}.hero-copy h2{font-size:25px}.workout-stats{flex-wrap:wrap;gap:16px;bottom:88px;left:20px;right:20px}.workout-stats div:first-child{min-width:60px}.workout-stats div:nth-child(2){flex:1}.workout-stats strong{font-size:14px}.hero-footer{bottom:22px;left:20px;right:20px}.hero-footer .primary-button{flex:1}.goal-card,.metric-card{min-height:auto;padding:19px}.goal-card{order:2}.recovery-card{order:3}.weather-card{order:4}.probability-ring{justify-content:center}.ring-visual{flex-basis:130px;width:130px;height:130px}.section-row{margin:34px 0 13px}.section-row .text-button{font-size:10px}.week-strip{grid-template-columns:repeat(7,89px);overflow-x:auto}.week-day{min-height:130px;padding:14px 8px}.plan-aside{grid-template-columns:1fr}.plan-main{padding:19px 16px}.plan-row{grid-template-columns:54px 1fr 36px 14px;gap:9px}.plan-state{text-align:right;font-size:9px}.training-top{gap:12px}.large,.training-insight{min-height:auto;padding:20px}.training-insight h3{margin-top:25px;font-size:22px}.signals-grid,.source-grid,.shoe-grid{grid-template-columns:1fr;gap:12px}.shoe-card{min-height:235px}.shoe-illustration{min-height:210px}.shoe-info{padding:19px 16px}.shoe-name h3{font-size:15px}.privacy-banner{align-items:start}.privacy-banner>svg:last-child{margin-top:3px}.import-card{flex-wrap:wrap;align-items:flex-start}.import-card .secondary-button{width:100%}.modal-card{padding:24px 19px 20px}.modal-card h2{font-size:21px}.form-grid{grid-template-columns:1fr}.toast{justify-content:center;bottom:74px;left:15px;right:15px}.bottom-nav{z-index:10;height:66px;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#12171cf5;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:#718083;background:0 0;align-content:center;place-items:center;gap:3px;font-size:9px;display:grid}.bottom-nav button.active{color:var(--lime)}.bottom-nav button.active svg{filter:drop-shadow(0 0 7px #d8f56a59)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.recent-runs{overflow:hidden}.empty-runs{text-align:center;justify-items:center;gap:8px;padding:31px 18px;display:grid}.empty-run-icon{width:36px;height:36px;color:var(--lime);border:1px dashed #62736d;border-radius:50%;place-items:center;margin-bottom:3px;display:grid}.empty-runs strong{font-size:13px}.empty-runs span{color:#7e8d8e;font-size:10px}.empty-runs .text-button{color:var(--lime);margin-top:3px}.run-row{border-bottom:1px solid #eef1ec12;grid-template-columns:90px 1fr 17px;align-items:center;gap:15px;min-height:62px;padding:0 19px;display:grid}.run-row:last-child{border-bottom:0}.run-row>div:nth-child(2) strong,.run-row>div:nth-child(2) span,.run-date strong,.run-date span{display:block}.run-row>div:nth-child(2) strong{color:#dce5dc;font:12px var(--mono)}.run-row>div:nth-child(2) span,.run-date span{color:#758386;margin-top:4px;font-size:9px}.run-date strong{color:#bfc9c2;font:11px var(--mono)}.run-row>svg{color:#6d7c7f}.onboarding-backdrop{background:#060a0ce0;padding:16px}.onboarding-card{background:#1a2328;border:1px solid #d8f56a33;border-radius:18px;grid-template-columns:.78fr 1.22fr;width:min(900px,100%);display:grid;overflow:hidden;box-shadow:0 35px 100px #0000008c}.onboarding-intro{background:linear-gradient(150deg,#273a32,#1d292e 72%);padding:39px 35px;position:relative;overflow:hidden}.onboarding-intro:after{content:"";border:1px solid #d8f56a3b;border-radius:50%;width:260px;height:260px;position:absolute;bottom:-90px;right:-130px;box-shadow:0 0 0 24px #d8f56a0a,0 0 0 49px #d8f56a06}.onboarding-intro .brand-mark{margin-bottom:64px}.onboarding-intro h2{letter-spacing:-.08em;max-width:260px;margin:13px 0 15px;font-size:34px;line-height:1.08}.onboarding-intro>p:not(.micro-label){color:#a1b0a7;max-width:265px;margin:0;font-size:12px;line-height:1.85}.onboarding-rail{z-index:1;border-top:1px solid #eef1ec26;justify-content:space-between;padding-top:15px;display:flex;position:absolute;bottom:36px;left:35px;right:35px}.onboarding-rail span{color:#9aaa98;font:10px var(--mono);align-items:center;gap:6px;display:flex}.onboarding-rail i{background:var(--lime);border-radius:50%;width:5px;height:5px}.onboarding-form{padding:32px 35px 28px}.onboarding-form>label,.onboarding-form .form-grid label{color:#aab6b1;font-size:11px}.onboarding-form input,.onboarding-form select{background:#141b20}.form-section-label{color:#748487;font:10px var(--mono);letter-spacing:.14em;text-transform:uppercase;margin:26px 0 10px}.option-grid{gap:8px;display:grid}.distance-options,.level-options{grid-template-columns:repeat(3,1fr)}.choice-button{border:1px solid var(--line);color:#94a09f;text-align:left;background:#ffffff06;border-radius:8px;min-height:55px;padding:9px 8px}.choice-button:hover{border-color:#879975}.choice-button.selected{border-color:var(--lime-dark);color:#e4f1d4;box-shadow:inset 3px 0 var(--lime);background:#d8f56a14}.choice-button strong,.choice-button span{display:block}.choice-button strong{font-size:12px}.choice-button span{color:#6f7e80;margin-top:4px;font-size:9px}.choice-button.selected span{color:#9caf91}.onboarding-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;margin-top:29px;padding-top:17px;display:flex}.onboarding-footer>span{color:#75868a;align-items:center;gap:6px;font-size:9px;display:inline-flex}.onboarding-footer>span svg{color:#8db596}.onboarding-footer .primary-button{height:40px}@media (width<=700px){.onboarding-card{max-height:calc(100vh - 22px);display:block;overflow-y:auto}.onboarding-intro{padding:24px 20px 29px}.onboarding-intro .brand-mark{margin-bottom:26px}.onboarding-intro h2{margin-top:10px;font-size:28px}.onboarding-intro>p:not(.micro-label){max-width:none}.onboarding-rail{margin-top:27px;padding-top:12px;position:static}.onboarding-form{padding:24px 20px 22px}.onboarding-footer{flex-direction:column;align-items:stretch}.onboarding-footer .primary-button{width:100%}.distance-options,.level-options{grid-template-columns:1fr 1fr 1fr}.run-row{grid-template-columns:65px 1fr 15px;gap:9px;padding:0 14px}}.form-error{color:#ffb095;background:#ff866314;border:1px solid #ff866340;border-radius:7px;align-items:center;gap:7px;margin-top:14px;padding:9px 10px;font-size:10px;display:flex}.form-error svg{flex:none}.header-actions{align-items:center;gap:9px;display:flex}.plan-setup-backdrop{background:#060a0cc7}.plan-setup-card{width:min(620px,100%);max-height:calc(100vh - 28px);overflow-y:auto}.plan-setup-card h2{margin-top:13px}.plan-setup-card .form-section-label{margin-top:22px}@media (width<=700px){.header-actions{width:100%}.header-actions>button{flex:1}.plan-setup-card{padding:24px 19px 20px}}.day-editor-backdrop{background:#060a0cd1}.day-editor-card{width:min(860px,100%);max-height:calc(100vh - 28px);overflow-y:auto}.day-editor-card h2{margin-top:13px}.day-editor-list{gap:9px;margin-top:23px;display:grid}.day-editor-row{background:#ffffff06;border:1px solid #eef1ec14;border-radius:9px;grid-template-columns:65px 1fr;gap:13px;padding:12px;display:grid}.day-editor-row.today{background:#d8f56a0e;border-color:#d8f56a59}.day-editor-date strong,.day-editor-date span,.day-editor-date em{display:block}.day-editor-date strong{color:#dce7da;font-size:12px}.day-editor-date span{color:#7e8c8d;font:9px var(--mono);margin-top:4px}.day-editor-date em{color:#d8f56a;width:max-content;font:9px var(--mono);background:#d8f56a1a;border-radius:4px;margin-top:10px;padding:3px 5px;font-style:normal}.day-editor-fields{grid-template-columns:1.1fr .55fr 1fr 1.1fr;gap:8px;display:grid}.day-editor-fields label{color:#859394;font-size:9px;display:block}.day-editor-fields input,.day-editor-fields select{border:1px solid var(--line);color:#dce5de;background:#141b20;border-radius:6px;height:34px;margin-top:5px;padding:0 8px;font-size:10px}.day-editor-fields input:disabled{color:#5f6a6c;background:#20282d}.day-note-field{min-width:0}@media (width<=700px){.day-editor-card{padding:24px 15px 20px}.day-editor-row{grid-template-columns:48px 1fr;gap:9px;padding:10px}.day-editor-fields{grid-template-columns:1fr 1fr}.day-editor-fields label:first-child,.day-note-field{grid-column:1/-1}}.sync-status{color:#8f9e9b;font:9px var(--mono);align-items:center;gap:6px;margin-right:8px;display:inline-flex}.sync-status i{background:#8e9a9a;border-radius:50%;width:5px;height:5px}.sync-status.synced{color:#a9c18f}.sync-status.synced i{background:var(--lime)}.sync-status.syncing{color:#e0c889}.sync-status.syncing i{background:#e6c66b;animation:1.1s infinite sync-pulse}.sync-status.offline{color:#e4a58d}.sync-status.offline i{background:var(--orange)}@keyframes sync-pulse{50%{opacity:.35}}.sync-login-button{color:#d8f56a;background:#d8f56a0f;border:1px solid #d8f56a3d;border-radius:6px;align-items:center;gap:5px;margin-right:10px;padding:5px 8px;font-size:10px;display:inline-flex}.sync-login-button:hover{background:#d8f56a1f}.auth-backdrop{background:#05090be6}.auth-card{background:#1a2328;border:1px solid #d8f56a33;border-radius:17px;grid-template-columns:.9fr 1.1fr;width:min(800px,100%);display:grid;overflow:hidden;box-shadow:0 35px 100px #00000094}.auth-visual{background:linear-gradient(145deg,#2a3c33,#1b292e);padding:38px 34px;position:relative;overflow:hidden}.auth-visual:after{content:"";border:1px solid #d8f56a38;border-radius:50%;width:240px;height:240px;position:absolute;bottom:-88px;right:-110px;box-shadow:0 0 0 23px #d8f56a0a,0 0 0 46px #d8f56a06}.auth-visual .brand-mark{margin-bottom:65px}.auth-visual h2{letter-spacing:-.08em;max-width:255px;margin:13px 0 15px;font-size:30px;line-height:1.1}.auth-visual>p:not(.micro-label){color:#a6b3a8;max-width:270px;font-size:11px;line-height:1.85}.auth-signals{z-index:1;border-top:1px solid #eef1ec24;gap:17px;padding-top:14px;display:flex;position:absolute;bottom:33px;left:34px;right:34px}.auth-signals span{color:#9caf9a;font:9px var(--mono);align-items:center;gap:6px;display:inline-flex}.auth-signals svg{color:var(--lime)}.auth-form{padding:32px 35px 28px}.auth-tabs{border-bottom:1px solid var(--line);gap:20px;margin-bottom:27px;display:flex}.auth-tabs button{color:#778586;background:0 0;padding:0 0 11px;font-size:11px}.auth-tabs button.active{color:var(--lime);border-bottom:2px solid var(--lime)}.auth-form h2{letter-spacing:-.06em;margin:0 0 9px;font-size:23px}.auth-form label{color:#aab6b1;margin-top:16px;font-size:11px;display:block}.auth-form input{border:1px solid var(--line);color:#dfe7df;background:#141b20;border-radius:7px;outline:0;width:100%;height:39px;margin-top:7px;padding:0 11px}.auth-form input:focus{border-color:var(--lime-dark)}.auth-submit{width:100%;margin-top:23px}.local-mode-button{color:#7c8b8d;background:0 0;width:100%;margin-top:14px;padding:6px;font-size:10px;display:block}.local-mode-button:hover{color:#b8c4bf}@media (width<=700px){.sync-status{display:none}.auth-card{max-height:calc(100vh - 22px);display:block;overflow-y:auto}.auth-visual{padding:25px 20px 26px}.auth-visual .brand-mark{margin-bottom:27px}.auth-visual h2{font-size:27px}.auth-visual>p:not(.micro-label){max-width:none}.auth-signals{margin-top:25px;padding-top:12px;position:static}.auth-form{padding:24px 20px 22px}}
