:root{--canvas:#f4f5ef;--warm:#fff8ed;--ink:#14251f;--muted:#66746f;--line:#14251f1f;--green:#2da879;--green-strong:#127250;--green-soft:#e5f6ee;--coral:#ff7a5e;--blue:#4597d6;--blue-soft:#e5f2fb;--panel:#fffefa;--soft-shadow:0 16px 42px #14251f12;color:var(--ink);background:var(--canvas);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px}body{min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}::selection{color:#fff;background:var(--green)}.app-shell{background:radial-gradient(circle at 22% 0%, #2da8791f, transparent 28%), linear-gradient(135deg, #4597d614, transparent 36%), var(--canvas);min-height:100vh;color:var(--ink);grid-template-columns:232px minmax(0,1fr);display:grid}.sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffefad1;flex-direction:column;gap:24px;height:100vh;padding:22px 16px;display:flex;position:sticky;top:0}.brand,.nav-item,.coach-card,.completion-badge,.topbar-actions,.hero-metrics,.panel-heading,.schema-note,.chart-header,.route-meta,.wellness-row{align-items:center;display:flex}.brand{gap:12px;padding:0 4px}.brand-mark{color:#fff;background:linear-gradient(135deg, var(--green), var(--blue));border-radius:8px;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 12px 30px #2da8793d}.brand strong,.completion-badge strong,.readiness-card strong,.workout-card strong,.metric-list strong,.route-meta strong,.wellness-row strong,.workout-drawer strong{color:var(--ink)}.brand span,.completion-badge small,.hero-metrics span,.readiness-card span,.metric-list span,.wellness-row span{color:var(--muted);font-size:.78rem}.sidebar nav{gap:6px;display:grid}button{font:inherit}.nav-item{width:100%;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;gap:10px;padding:11px 12px;text-decoration:none}.nav-item:hover,.nav-item.active{color:var(--ink);background:#ffffffdb;box-shadow:0 8px 22px #14251f0d}.coach-card{color:#fff;background:#14251f;border-radius:8px;flex-direction:column;align-items:flex-start;gap:8px;margin-top:auto;padding:16px 14px}.coach-card strong,.coach-card p{color:#fff}.coach-card p{opacity:.8;margin:0;font-size:.82rem;line-height:1.45}.coach-card button{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:7px;min-height:36px;padding:0 12px;font-weight:800}.workspace{width:min(1280px,100%);margin:0 auto;padding:28px 32px 44px}.topbar{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:16px;display:flex}.eyebrow{color:var(--green-strong);letter-spacing:0;text-transform:uppercase;font-size:.76rem;font-weight:800;display:block}h1,h2,p{margin:0}h1{color:var(--ink);letter-spacing:0;margin-top:4px;font-size:clamp(2.45rem,4vw,4.15rem);line-height:.96}h2{color:var(--ink);letter-spacing:0;font-size:1.08rem;line-height:1.25}.topbar-actions{flex-shrink:0;gap:10px}.completion-badge{border:1px solid var(--line);background:#ffffffbd;border-radius:8px;gap:12px;padding:8px 12px 8px 8px}.completion-badge>span{color:#fff;background:var(--coral);border-radius:50%;place-items:center;width:48px;height:48px;font-size:.82rem;font-weight:800;display:grid}.completion-badge div{display:grid}.icon-button{border:1px solid var(--line);width:48px;height:48px;color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;place-items:center;transition:border-color .16s,transform .16s;display:grid}.icon-button:hover{border-color:#14251f38;transform:translateY(-1px)}.hero-strip{border:1px solid var(--line);background:#fffefae6;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:24px;margin-bottom:18px;padding:20px;display:grid}.hero-copy{gap:10px;max-width:760px;display:grid}.hero-copy p{color:var(--muted);line-height:1.6}.status-dot{color:var(--ink);align-items:center;gap:8px;font-weight:800;display:inline-flex}.status-dot span{background:var(--green);border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 6px #2da8791f}.hero-metrics{gap:12px}.hero-metrics div{background:var(--ink);color:#fff;border-radius:8px;min-width:88px;padding:14px}.hero-metrics strong{color:#fff;font-size:1.55rem;line-height:1;display:block}.main-grid{grid-template-columns:minmax(0,1.45fr) minmax(340px,.75fr);align-items:start;gap:18px;display:grid}.command-grid{grid-template-columns:minmax(420px,1.25fr) minmax(280px,.8fr) minmax(280px,.8fr);align-items:stretch;gap:18px;margin-bottom:18px;display:grid}.right-rail,.questionnaire,.insight-grid{gap:18px;display:grid}.panel{border:1px solid var(--line);background:var(--panel);box-shadow:var(--soft-shadow);border-radius:8px}.questionnaire,.plan-preview,.ai-payload,.schedule-panel,.progress-panel,.route-panel,.wellness-panel,.today-panel,.save-panel,.adapt-panel,.readiness-panel,.progress-story-card,.share-panel{padding:18px}.panel-heading{justify-content:space-between;gap:14px;margin-bottom:18px}.panel-heading.compact{margin-bottom:14px}.question-block{gap:10px;margin-bottom:18px;display:grid}label,.question-block>label{color:var(--ink);font-weight:800}.pill-row,.day-grid,.week-switcher{flex-wrap:wrap;gap:8px;display:flex}.pill,.day,.week-switcher button{border:1px solid var(--line);min-height:38px;color:var(--muted);cursor:pointer;background:#fff;border-radius:8px}.pill{align-items:center;gap:6px;padding:8px 12px;display:inline-flex}.pill.active,.day.active,.week-switcher button.active{color:var(--green-strong);background:var(--green-soft);border-color:#2da8796b}.two-column,.slider-grid,.insight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.slider-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.trainer-input-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column label,.slider-grid label,.text-field{gap:8px;display:grid}.trainer-note{color:var(--green-strong);background:var(--green-soft);border:1px solid #2da87938;border-radius:8px;grid-template-columns:22px minmax(0,1fr);gap:10px;margin-bottom:18px;padding:13px;display:grid}.trainer-note svg{margin-top:2px}.trainer-note div{gap:3px;display:grid}.trainer-note strong{color:var(--ink)}.trainer-note span{color:var(--muted);font-size:.88rem;line-height:1.45}select,input,textarea{box-sizing:border-box;border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;outline:none;padding:10px 12px}select:focus,input:focus,textarea:focus,button:focus-visible{border-color:var(--blue);outline:3px solid #4597d629}input[type=range]{accent-color:var(--green);padding:0}textarea{resize:vertical;min-height:78px;line-height:1.45}.day{width:52px}.text-field{margin-bottom:18px}.generate-button{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:50px;font-weight:900;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex;box-shadow:0 12px 26px #2da87933}.generate-button:hover{background:var(--green-strong);transform:translateY(-1px);box-shadow:0 16px 30px #2da87938}.generate-button:disabled{cursor:not-allowed;opacity:.56;box-shadow:none}.secondary-button{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:900;text-decoration:none;transition:border-color .16s,background .16s,transform .16s;display:inline-flex}.secondary-button:hover{background:#fbfcf8;border-color:#14251f38;transform:translateY(-1px)}.secondary-button:disabled{cursor:not-allowed;opacity:.48}.error-note{color:#7d2f1d;background:#fff0ec;border:1px solid #ff7a5e57;border-radius:8px;grid-template-columns:20px minmax(0,1fr);gap:10px;margin-top:12px;padding:12px;font-size:.9rem;line-height:1.45;display:grid}.error-note svg{margin-top:1px}.today-panel,.save-panel,.adapt-panel{align-content:start;gap:12px;display:grid}.today-panel{grid-template-rows:auto auto auto auto 1fr;min-height:350px}.today-panel p,.save-panel p,.adapt-panel p{color:var(--muted);line-height:1.5}.today-actions{flex-wrap:wrap;gap:8px;display:flex}.today-actions span{color:var(--green-strong);background:var(--green-soft);border-radius:6px;padding:6px 9px;font-size:.82rem;font-weight:900}.pace-brief{color:#245d86;background:#eef7fb;border:1px solid #4597d624;border-radius:8px;gap:6px;padding:14px;display:grid}.pace-brief strong{color:var(--ink)}.pace-brief span{color:var(--muted);font-size:.9rem;line-height:1.5}.today-panel .generate-button{align-self:end;margin-top:4px}.progress-story-card,.share-panel,.save-panel,.adapt-panel,.readiness-panel{align-content:start;gap:12px;display:grid}.readiness-card{background:var(--warm);border-radius:8px;justify-content:space-between;gap:16px;padding:14px;display:flex}.readiness-card strong{font-size:2.25rem;line-height:1;display:block}.readiness-ring{background:conic-gradient(var(--green) var(--score), #2da8791f 0);border-radius:50%;width:64px;height:64px;position:relative}.readiness-ring:after{content:"";background:var(--warm);border-radius:50%;position:absolute;inset:10px}.chart-card{border:1px solid var(--line);border-radius:8px;margin-top:14px;padding:14px}.chart-header{color:var(--muted);justify-content:space-between;gap:10px;font-size:.86rem}.bar-chart{grid-template-columns:repeat(4,1fr);align-items:end;gap:10px;height:138px;margin-top:14px;display:grid}.bar{color:#fff;background:var(--blue);cursor:pointer;border:0;border-radius:8px 8px 4px 4px;place-items:start center;min-height:28px;padding-top:7px;display:grid}.bar.active{background:var(--coral)}.bar span{font-size:.76rem;font-weight:900}.schema-note{color:#654314;background:#fff1d7;border-radius:8px;align-items:flex-start;gap:10px;margin-top:14px;padding:12px}.schema-note p{font-size:.86rem;line-height:1.45}.readiness-panel{gap:12px;display:grid}.readiness-control{gap:7px;display:grid}.readiness-control span{color:var(--muted);justify-content:space-between;gap:10px;font-size:.86rem;display:flex}.readiness-control strong{color:var(--ink)}.ai-payload ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.ai-payload li{color:var(--muted);grid-template-columns:18px minmax(0,1fr);gap:8px;font-size:.88rem;line-height:1.4;display:grid}.ai-payload svg{color:var(--green);margin-top:1px}.schedule-panel{margin-top:18px}.week-switcher button{min-width:42px;padding:6px 10px;font-weight:800}.workout-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.workout-card{border:1px solid var(--line);min-height:178px;color:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;gap:10px;padding:14px;display:flex}.workout-card:hover{box-shadow:var(--soft-shadow);transform:translateY(-2px)}.workout-card.logged{background:#f7fffb;border-color:#2da87952}.workout-card.logged.skipped{background:#fff8f5;border-color:#ff7a5e52}.workout-day{width:fit-content;color:var(--green-strong);background:var(--green-soft);border-radius:6px;padding:4px 8px;font-size:.78rem;font-weight:900}.workout-card p{color:var(--muted);flex:1;line-height:1.38}.workout-card small{color:#245d86;font-size:.78rem;font-weight:800;line-height:1.35}.workout-card div{flex-wrap:wrap;gap:8px;display:flex}.workout-card div span{background:var(--warm);color:var(--muted);border-radius:6px;padding:5px 8px;font-size:.78rem;font-weight:800}.insight-grid{grid-template-columns:1.2fr .9fr .9fr;margin-top:18px}.metric-list{gap:12px;display:grid}.metric-list div{grid-template-columns:22px minmax(0,1fr);gap:4px 10px;display:grid}.metric-list span{grid-column:2;line-height:1.4}.metric-list svg{color:var(--coral);margin-top:2px}.route-map{background-color:#edf8f5;background-image:linear-gradient(90deg,#4597d624 1px,#0000 1px),linear-gradient(#4597d624 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:8px;place-items:center;height:132px;display:grid}.route-map svg{width:92%;height:84%;overflow:visible}.route-map path{fill:none;stroke:var(--green);stroke-width:8px;stroke-linecap:round}.route-map circle{fill:var(--coral);stroke:#fff;stroke-width:4px}.route-meta{justify-content:space-between;gap:12px;margin-top:12px}.route-meta span{background:var(--blue-soft);color:#245d86;border-radius:6px;padding:5px 8px;font-weight:900}.wellness-panel{align-content:start;display:grid}.wellness-row{border-top:1px solid var(--line);justify-content:space-between;gap:10px;padding:12px 0}.wellness-row svg{color:var(--green)}.workout-drawer{border:1px solid var(--line);z-index:20;background:#fff;border-radius:8px;width:min(420px,100vw - 48px);padding:18px;position:fixed;bottom:24px;right:24px;box-shadow:0 24px 70px #14251f38}.workout-drawer button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;width:34px;height:34px;position:absolute;top:10px;right:10px}.workout-drawer>span{color:var(--green-strong);font-weight:900}.workout-drawer h2{margin:8px 36px 8px 0;font-size:1.35rem}.workout-drawer p{color:var(--muted);line-height:1.5}.workout-drawer div{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.workout-drawer strong{background:var(--warm);border-radius:8px;padding:8px 10px}.brief-grid{grid-template-columns:1fr 1fr;gap:10px!important;margin-top:16px!important;display:grid!important}.brief-grid div{background:var(--blue-soft);border-radius:8px;padding:10px;gap:5px!important;margin-top:0!important;display:grid!important}.brief-grid div:nth-child(n+3){grid-column:1/-1}.brief-grid span{color:#245d86;text-transform:uppercase;font-size:.76rem;font-weight:900}.brief-grid strong{background:0 0;padding:0;line-height:1.4}.drawer-form{gap:12px!important;margin-top:16px!important;display:grid!important}.drawer-form label{gap:7px;display:grid}.drawer-form textarea{min-height:88px}.drawer-actions{grid-template-columns:1fr 1fr;gap:10px!important;margin-top:0!important;display:grid!important}.drawer-actions button{border-radius:8px;width:100%;height:42px;font-weight:900;position:static}.drawer-actions button:last-child{color:var(--green-strong);background:var(--green-soft);border-color:#2da87952}.auth-screen,.share-page{background:linear-gradient(135deg, #2da8791f, transparent 34%), linear-gradient(315deg, #4597d624, transparent 34%), var(--canvas);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card,.share-card{border:1px solid var(--line);width:min(720px,100%);box-shadow:var(--soft-shadow);background:#ffffffeb;border-radius:8px;padding:24px}.auth-card{gap:14px;display:grid}.auth-card h1,.share-card h1{font-size:clamp(2rem,6vw,3.6rem)}.auth-card p,.share-card p,.share-panel p{color:var(--muted);overflow-wrap:anywhere;line-height:1.55}.auth-card label,.workout-log-panel label,.save-panel label{gap:7px;display:grid}.auth-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.story-stats,.share-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.story-stats span,.share-stats div,.recent-public div{color:var(--ink);background:#fbf4e8;border-radius:8px;padding:12px;line-height:1.25}.share-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin:22px 0}.share-stats strong{color:var(--ink);font-size:1.75rem;line-height:1;display:block}.share-stats span,.recent-public span{color:var(--muted);font-size:.82rem}.milestone-list{gap:9px;margin:12px 0 0;padding:0;list-style:none;display:grid}.milestone-list li{color:var(--ink);grid-template-columns:20px minmax(0,1fr);align-items:center;gap:8px;font-weight:800;display:grid}.milestone-list svg{color:var(--green)}.import-button{color:#245d86;background:var(--blue-soft);border-color:#4597d657}.workout-mode{color:#fff;background:radial-gradient(circle at 50% 18%,#2da87921,#0000 31%),#10261f;grid-template-columns:minmax(0,1fr) minmax(380px,.42fr);min-height:100vh;display:grid}.workout-stage{align-content:center;gap:18px;min-height:100vh;padding:clamp(22px,4vw,58px);display:grid}.workout-stage h1{color:#fff;max-width:980px}.workout-exit{width:fit-content;min-width:112px;color:var(--ink);text-decoration:none}.workout-topline{color:#ffffffad;justify-content:space-between;align-items:center;gap:14px;font-size:.9rem;font-weight:800;display:flex}.workout-title-block{gap:9px;display:grid}.workout-title-block p{color:#ffffffb8;max-width:820px;line-height:1.55}.timer-ring{aspect-ratio:1;color:#fff;background:radial-gradient(circle at center, #10261f 0 61%, transparent 62%), conic-gradient(var(--green) var(--score), #ffffff24 0);border-radius:50%;justify-self:center;place-items:center;width:min(340px,68vw);display:grid;box-shadow:inset 0 0 0 1px #ffffff0d,0 22px 70px #0000002e}.timer-ring div{place-items:center;gap:14px;display:grid}.timer-ring strong{color:#fff;font-size:clamp(3.2rem,9vw,5.5rem);line-height:1}.timer-ring span{color:#ffffffc7;font-weight:900}.workout-progress-row{color:#ffffffad;justify-content:space-between;justify-self:center;gap:14px;width:min(860px,100%);font-size:.85rem;font-weight:900;display:flex}.workout-brief{justify-self:center;width:100%;max-width:860px}.workout-mode .brief-grid div{background:#ffffff14;border:1px solid #ffffff1a}.workout-mode .brief-grid span{color:#8bd8bf}.workout-mode .brief-grid strong{color:#fff}.timer-controls{grid-template-columns:repeat(2,minmax(0,180px));justify-content:center;gap:12px;display:grid}.timer-controls button{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:52px;font-weight:900;display:inline-flex}.timer-controls button:hover{background:#ffffff26}.step-timeline{grid-template-columns:repeat(5,minmax(0,1fr));justify-self:center;gap:8px;width:min(860px,100%);display:grid}.step-timeline div{background:#ffffff0d;border:1px solid #ffffff17;border-radius:8px;align-content:space-between;min-height:82px;padding:10px;display:grid}.step-timeline div.active{background:#2da87929;border-color:#2da8798a}.step-timeline div.complete{opacity:.58}.step-timeline span{color:#8bd8bf;text-transform:uppercase;font-size:.68rem;font-weight:900}.step-timeline strong{color:#fff;font-size:.86rem;line-height:1.2}.step-timeline small{color:#ffffffa8;font-weight:800}.workout-log-panel{min-height:100vh;color:var(--ink);background:var(--panel);align-content:center;gap:14px;padding:clamp(20px,3vw,42px);display:grid;box-shadow:-16px 0 60px #0000001f}.workout-log-panel h2{font-size:1.45rem}.finish-card{gap:8px;margin-bottom:8px;display:grid}.finish-card p{color:var(--muted);line-height:1.5}.recent-public{gap:10px;margin:18px 0;display:grid}.recent-public strong{color:var(--ink);display:block}@media (width<=1180px){.app-shell{grid-template-columns:1fr}.sidebar{scrollbar-width:none;flex-direction:row;align-items:center;height:auto;padding:14px;position:static;overflow-x:auto}.sidebar::-webkit-scrollbar{display:none}.sidebar nav{grid-auto-columns:max-content;grid-auto-flow:column;overflow-x:auto}.coach-card{min-width:260px;margin:0}}@media (width<=960px){.workspace{padding:18px}.topbar,.hero-strip{flex-direction:column;grid-template-columns:1fr}.hero-strip,.command-grid,.main-grid,.workout-grid,.insight-grid{grid-template-columns:1fr}.slider-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-metrics{align-items:stretch}.topbar h1{font-size:clamp(2.3rem,9vw,3.5rem)}}@media (width<=840px){.workout-mode{grid-template-columns:1fr}.workout-stage,.workout-log-panel{min-height:auto}}@media (width<=640px){.workspace{padding:12px}.sidebar{gap:12px;padding:12px}.brand span,.coach-card{display:none}.brand{min-width:max-content}.nav-item{width:auto;padding:10px 11px}.hero-metrics,.two-column,.slider-grid{grid-template-columns:1fr;width:100%;display:grid}.topbar-actions{justify-content:space-between;width:100%}.hero-metrics div{box-sizing:border-box;width:100%}.completion-badge{flex:auto;min-width:0}.hero-strip{padding:16px}.icon-button{flex:0 0 48px}.panel-heading{flex-direction:column;align-items:flex-start}.day{flex:calc(25% - 8px)}.workout-card{min-height:auto}.brief-grid,.auth-actions,.story-stats,.share-stats,.timer-controls,.step-timeline{grid-template-columns:1fr}.timer-ring{width:min(300px,78vw)}.workout-topline{flex-direction:column;align-items:flex-start}}.brand div:not(.brand-mark){flex-direction:column;display:flex}
