:root{--ink:#23392f;--muted:#718075;--forest:#244f3d;--forest-dark:#17402f;--sage:#e9f0e7;--cream:#f7f8f3;--line:#e4eae2;--peach:#f5c39e;--white:#fff}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.app-layout{min-height:100vh;display:flex}.sidebar{width:244px;flex:0 0 244px;background:#fff;border-right:1px solid var(--line);padding:30px 19px 24px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand,.mobile-brand{display:flex;align-items:center;gap:11px}.brand{padding:4px 10px;margin-bottom:57px}.brand-mark{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:var(--forest);color:#fff;font-size:23px;line-height:1;font-weight:700;letter-spacing:-.1em;padding-right:3px}.brand strong,.mobile-brand strong{font-size:26px;line-height:1;letter-spacing:-.055em;font-weight:750}.brand small{display:block;font-size:9px;color:#91a094;letter-spacing:.04em;white-space:nowrap;margin-top:3px}.eyebrow,.sidebar-group-label{color:#85a18d;font-size:11px;letter-spacing:.16em;font-weight:800}.sidebar-group-label{padding:0 19px;margin-bottom:14px}.side-nav{display:grid;gap:7px}.nav-button{border:0;background:transparent;color:#76857b;border-radius:11px;padding:13px 16px;display:flex;align-items:center;gap:14px;font-weight:650;text-align:left;width:100%}.nav-button.active,.nav-button:hover{background:#edf3ec;color:var(--forest)}.sidebar-bottom{margin-top:auto;padding:12px}.sidebar-quote{background:#f4f7f1;border-radius:15px;padding:16px;color:#52745b}.sidebar-quote p{font-size:13px;line-height:1.5;margin:8px 0 0;color:#597462}.sidebar-bottom>span{display:block;color:#a4b0a7;font-size:10px;margin-top:19px}.main-wrap{flex:1;min-width:0}.topbar{height:77px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(26px,5vw,76px);background:rgba(255,255,255,.72)}.top-date{color:#7e8d81;font-size:14px;font-weight:600}.top-status{display:flex;align-items:center;gap:9px;color:#587261;font-size:12px;background:#eef4ec;border-radius:99px;padding:9px 13px;font-weight:700}.status-dot{height:7px;width:7px;background:#78ad79;border-radius:50%}.bottom-nav,.mobile-brand{display:none}.main-content{width:min(1120px,calc(100% - 70px));margin:0 auto;padding:46px 0 90px}.page-intro{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:29px}.page-intro h1,.simple-head h1{font-size:clamp(34px,4.2vw,55px);letter-spacing:-.055em;line-height:1.08;margin:13px 0 15px;font-weight:760}.page-intro h1 em{font-style:normal;color:#80a589}.page-intro p,.simple-head p{color:#79897d;font-size:15px;max-width:460px;line-height:1.65;margin:0}.date-tile{background:#fff;border:1px solid var(--line);width:93px;height:93px;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#7b9a82;margin-top:6px;box-shadow:0 9px 25px rgba(23,64,47,.03)}.date-tile span{text-transform:uppercase;font-size:11px;font-weight:750;margin-top:3px}.date-tile strong{font-size:29px;line-height:1;color:var(--ink);margin-top:2px}.hero-card{min-height:274px;background:linear-gradient(115deg,#255440,#1e4935 68%,#295844);border-radius:22px;position:relative;overflow:hidden;color:#fff;display:flex;align-items:center;padding:36px 44px;box-shadow:0 20px 42px rgba(29,77,50,.12)}.hero-copy{position:relative;z-index:2;max-width:515px}.hero-overline{color:#c8e6c9;font-size:11px;letter-spacing:.15em;font-weight:800}.tiny-sun{font-size:20px;vertical-align:-2px;margin-right:7px}.hero-card h2{font-size:clamp(26px,3vw,38px);margin:17px 0 10px;line-height:1.14;letter-spacing:-.035em}.hero-card p{color:#c3dcc7;line-height:1.6;font-size:14px;max-width:410px;margin:0 0 22px}.button{border:0;min-height:44px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:0 19px;font-size:13px;font-weight:750;transition:transform .15s,background .15s}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.5;cursor:default;transform:none}.button-light{background:#fff;color:#1c4a34}.button-primary{background:var(--forest);color:#fff}.button-primary:hover{background:#173c2c}.button-outline{background:#fff;border:1px solid #d6e2d7;color:var(--forest)}.button-danger{background:#fff;border:1px solid #edc7bd;color:#9c5144}.hero-art{width:360px;height:100%;right:17px;top:0}.hero-art,.orb{position:absolute}.orb{border-radius:50%}.orb-one{width:273px;height:273px;background:#3d6f4a;top:12px;right:25px}.orb-two{width:205px;height:205px;background:#517c50;top:49px;right:59px}.hero-figure{position:absolute;z-index:1;width:242px;height:242px;right:67px;bottom:-3px}.hero-figure svg{width:100%;height:100%}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:40px 0 18px}.section-head h2{font-size:25px;letter-spacing:-.035em;margin:7px 0 0}.section-note{color:#9ba9a0;font-size:12px}.routine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.routine-card{text-align:left;border:1px solid #e2ebe1;background:#fff;border-radius:18px;min-height:265px;padding:22px;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s,border-color .15s}.routine-card:hover{transform:translateY(-3px);border-color:#a9c8ad;box-shadow:0 16px 30px rgba(33,69,44,.08)}.routine-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.routine-icon{width:47px;height:47px;display:grid;place-items:center;border-radius:13px;background:#eaf1e7;color:#568065}.routine-early .routine-icon{background:#fff0e6;color:#c6815a}.routine-knee .routine-icon{background:#e9eff4;color:#6281a1}.round-arrow{border:1px solid #e7eee5;border-radius:50%;width:29px;height:29px;display:grid;place-items:center;color:#65876b}.routine-eyebrow{color:#9cad9f;font-size:10px;letter-spacing:.12em;font-weight:800}.routine-card h3{font-size:21px;letter-spacing:-.035em;margin:8px 0}.routine-card p{color:#829187;font-size:12.5px;line-height:1.55;margin:0 0 18px}.routine-footer{border-top:1px solid #edf1eb;padding-top:15px;margin-top:auto;display:flex;justify-content:space-between;color:#829187;font-size:11px;font-weight:650}.routine-footer span{display:flex;align-items:center;gap:5px}.home-lower{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.insight-card,.log-card{min-height:181px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:23px}.insight-number{font-size:37px;font-weight:750;line-height:1.2;margin:12px 0 0;letter-spacing:-.05em}.insight-number small{font-size:14px;font-weight:600;letter-spacing:0;color:#718778}.insight-card>p{margin:4px 0 16px;font-size:12px;color:#839187}.mini-week{display:flex;justify-content:space-between;max-width:315px}.mini-week div{display:grid;justify-items:center;gap:5px}.mini-week span{border-radius:50%;height:22px;width:22px;display:grid;place-items:center;background:#edf1ec;color:#fff}.mini-week span.done{background:#77a680}.mini-week small{color:#9ba99f;font-size:10px}.log-card{display:grid;grid-template-columns:45px 1fr;column-gap:13px;align-content:center}.log-icon{width:42px;height:42px;border-radius:13px;background:#faece0;color:#c9895c;display:grid;place-items:center}.log-card h3{margin:0 0 7px;font-size:17px}.log-card p{margin:0;font-size:12px;line-height:1.5;color:#849287}.text-button{grid-column:2;border:0;background:transparent;padding:0;margin-top:19px;justify-self:start;color:#4d7a57;font-size:12px;font-weight:750;display:flex;align-items:center;gap:7px}.simple-head{margin-bottom:31px}.simple-head h1{margin-bottom:8px}.journal-actions{display:flex;gap:11px;flex-wrap:wrap;margin-bottom:22px}.journal-list{display:grid;gap:12px}.journal-item{display:flex;gap:17px;background:#fff;border:1px solid var(--line);border-radius:17px;padding:20px}.journal-marker{background:#e8f1e7;color:#5c8e69;width:39px;height:39px;border-radius:12px;flex:0 0 39px;display:grid;place-items:center}.journal-marker.event{background:#fff0e5;color:#d09265}.journal-body{flex:1;min-width:0}.journal-title-row{display:flex;justify-content:space-between;gap:10px;align-items:start}.journal-title-row h3{font-size:17px;margin:0}.journal-title-row span{color:#9cad9e;font-size:12px;white-space:nowrap}.journal-body>p{color:#8a988d;margin:5px 0 12px;font-size:12px}.journal-tags{display:flex;flex-wrap:wrap;gap:7px}.journal-tags span{background:#f1f5ef;color:#688170;border-radius:6px;padding:6px 9px;font-size:11px;font-weight:700}.journal-body .entry-note{background:#f8faf6;padding:10px;border-radius:8px;color:#607467;margin:12px 0 0}.followup-row{border-top:1px solid var(--line);margin-top:15px;padding-top:13px;display:flex;align-items:center;flex-wrap:wrap;gap:10px}.followup-row label{font-size:12px;color:#607467;font-weight:650}.followup-row select{margin-left:8px;border:1px solid #d9e4d8;border-radius:7px;padding:5px;color:var(--ink);background:#fff}.followup-row button{border:0;border-radius:7px;background:var(--forest);color:#fff;padding:7px 11px;font-size:11px;font-weight:750}.followup-row button:disabled{opacity:.45}.empty-state{background:#fff;border:1px dashed #cfdcce;border-radius:18px;min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8c9e90;text-align:center}.empty-state h3{color:var(--ink);margin:10px 0 3px}.empty-state p{margin:0;font-size:13px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.stat-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:19px;display:flex;flex-direction:column;min-height:145px}.stat-card>span{color:#859588;font-size:12px;font-weight:650}.stat-card>strong{font-size:36px;letter-spacing:-.05em;margin:10px 0 2px}.stat-card>strong small{font-size:14px;color:#9aaa9c;font-weight:500}.stat-card>small{color:#a6b1a7;font-size:10px}.chart-card{border:1px solid var(--line);border-radius:17px;background:#fff;padding:24px;margin-top:17px}.calendar-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.calendar-head h2{font-size:20px;margin:6px 0 0;letter-spacing:-.03em;text-transform:capitalize}.calendar-controls{display:flex;gap:6px}.calendar-controls button{width:32px;height:32px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--forest);display:grid;place-items:center}.calendar-controls button:disabled{color:#c4cec4;cursor:default}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekday{color:#9aa99d;font-size:10px;font-weight:750;text-align:center;padding:2px 0 6px}.calendar-day{min-width:0;aspect-ratio:1;border:1px solid #edf1eb;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#6e8374;font-size:12px;font-weight:700}.calendar-day.today{border-color:#84a88b;background:#f4f8f2;color:var(--forest)}.calendar-dots,.calendar-legend{display:flex;align-items:center;justify-content:center;gap:4px}.calendar-dots i,.calendar-legend i{display:block;width:6px;height:6px;border-radius:50%}.calendar-dots .completed,.calendar-legend .completed{background:#68a575}.calendar-dots .stopped,.calendar-legend .stopped{background:#e2a17c}.calendar-legend{justify-content:flex-end;gap:15px;margin-top:14px;color:#8a9b8e;font-size:11px}.calendar-legend span{display:flex;align-items:center;gap:5px}.chart-head{display:flex;justify-content:space-between;align-items:end;gap:10px}.chart-head h2{margin:6px 0 0;font-size:20px;letter-spacing:-.03em}.chart-head>span{color:#91a092;font-size:12px}.bar-chart{height:171px;display:grid;grid-template-columns:repeat(14,1fr);gap:10px;align-items:end;padding:22px 3px 0}.bar-column{height:100%;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:8px}.bar{width:100%;max-width:36px;border-radius:7px 7px 4px 4px;background:#eaf0e8}.bar.filled{background:linear-gradient(#91b899,#518263)}.bar-column small{font-size:10px;color:#9ba99e}.chart-empty{color:#a4afa5;text-align:center;padding:45px 0 27px;font-size:13px}.trend-wrap{margin-top:12px}.trend-wrap svg{width:100%;height:195px}.trend-labels{display:flex;justify-content:space-between;color:#9ca99f;font-size:11px;padding:0 20px}.symptom-legend{display:flex;gap:18px;margin-top:22px;color:#718473;font-size:12px}.symptom-legend span{display:flex;align-items:center;gap:7px}.symptom-legend i{display:inline-block;width:10px;height:10px;border-radius:3px}.symptom-bars .si,.symptom-legend .si{background:#79a386}.symptom-bars .knee,.symptom-legend .knee{background:#e9ad83}.symptom-chart{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:14px}.symptom-week{min-width:0;display:flex;align-items:center;flex-direction:column}.symptom-bars{width:100%;height:135px;display:flex;align-items:end;justify-content:center;gap:5px;border-bottom:1px solid var(--line)}.symptom-bars span{width:30%;max-width:35px;border-radius:6px 6px 0 0}.symptom-week strong{margin-top:5px;color:#57725d;font-size:12px}.symptom-week small{color:#98a69a;font-size:10px;white-space:nowrap}.symptom-caption{margin:17px 0 0;color:#9aa89c;font-size:11px;line-height:1.5}.progress-note{color:#9da9a0;font-size:12px;line-height:1.5;margin:17px 3px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.data-card,.info-card,.source-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:23px}.info-card svg{color:#6d9975}.info-card h3{font-size:18px;margin:13px 0 8px}.data-card p,.info-card p{color:#819186;font-size:13px;line-height:1.65;margin:0}.data-card,.source-card{margin-top:16px}.data-card h2,.source-card h2{font-size:19px;margin:0 0 14px}.source-card a{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-top:1px solid var(--line);text-decoration:none;font-size:13px;color:#557b5f}.source-card a:hover{color:#224e34}.data-card>div{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.demo-note{font-size:12px;color:#8d9d8e}.setup-message{min-height:100vh;display:grid;align-content:center;justify-items:center;text-align:center;padding:30px}.setup-message h1{font-size:32px;margin-bottom:4px}.setup-message p{color:var(--muted)}.sign-in-page{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:80px;padding:30px}.sign-in-intro{max-width:320px}.sign-in-intro>span{font-size:20px;font-weight:800}.sign-in-intro .brand-mark{margin-bottom:16px}.sign-in-intro h1{font-size:40px;letter-spacing:-.05em;margin:20px 0 10px}.sign-in-intro p{color:var(--muted);line-height:1.6}.toast{position:fixed;z-index:100;bottom:25px;right:25px;background:#284b38;color:#fff;padding:13px 18px;border-radius:11px;box-shadow:0 15px 35px #214b3450;font-size:13px}.modal-backdrop{position:fixed;z-index:50;inset:0;background:#173527a8;display:flex;align-items:center;justify-content:center;padding:18px}.event-modal,.workout-modal{background:#fff;width:min(590px,100%);max-height:min(92vh,870px);border-radius:19px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px #17352740}.event-modal{max-width:510px}.modal-header{height:63px;flex:0 0 63px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:0 21px;font-size:13px;font-weight:750}.icon-button{height:32px;width:32px;display:grid;place-items:center;background:#f3f6f2;border:0;border-radius:9px;color:#66816e}.modal-step{color:#96a49a;font-size:11px}.modal-scroll{overflow:auto;padding:25px 30px}.event-modal h2,.modal-section-intro h2,.workout-body h2{font-size:27px;letter-spacing:-.04em;line-height:1.2;margin:9px 0}.modal-section-intro p{color:#829186;line-height:1.6;font-size:13px;margin:0 0 20px}.checklist{background:#f9fbf8;border:1px solid var(--line);border-radius:13px;padding:14px 16px;margin-bottom:17px}.checklist-label{display:block;color:#90a194;font-size:10px;font-weight:800;letter-spacing:.13em;margin:3px 0 10px}.check-row{display:flex;align-items:flex-start;gap:11px;padding:9px 0;color:#435e4c;font-size:12.5px;line-height:1.4;cursor:pointer}.check-row input{accent-color:#4f8563;flex:0 0 16px;height:16px;width:16px;margin:0}.safety-result{display:flex;gap:12px;border-radius:12px;background:#eef5ec;color:#476b51;padding:14px;margin:15px 0;font-size:12px;line-height:1.5}.safety-result svg{flex:0 0 22px}.safety-result strong{display:block;font-size:13px;margin-bottom:3px}.safety-result p{margin:0}.safety-result.pause{background:#fff3e8;color:#a46e4e}.safety-result.urgent{background:#fff0ed;color:#a8483e}.pain-scale{margin:20px 0 10px}.pain-scale-head{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;font-weight:700}.pain-scale-head strong{color:var(--forest);font-size:23px}.pain-scale-head small{font-size:12px;color:#9fae9f;font-weight:500}.pain-scale input{display:block;width:100%;accent-color:#638f70;margin:12px 0 2px}.range-ends{display:flex;justify-content:space-between;color:#a2afa4;font-size:10px}.modal-actions{border-top:1px solid var(--line);padding:15px 22px;display:flex;justify-content:end;gap:9px;background:#fff}.modal-actions .wide{width:100%}.workout-progress{height:4px;background:#eaf0e8}.workout-progress span{height:100%;display:block;background:#79a685;transition:width .3s}.workout-body{padding-top:22px}.big-illustration{width:100%;max-height:220px;margin:13px 0}.dose-row{display:flex;justify-content:space-between;gap:12px;color:#6b8672;font-size:12px;font-weight:700}.dose-row span{display:flex;align-items:center;gap:5px}.cue-box{display:flex;gap:11px;align-items:flex-start;background:#f1f6ef;border-radius:11px;padding:12px;margin-top:18px;color:#5b7d62;font-size:12px;line-height:1.5}.cue-box p{margin:0}.cue-box svg{flex:0 0 18px}.exercise-steps{padding-left:22px;margin:20px 0;color:#485f4f;font-size:13px;line-height:1.65}.exercise-steps li{margin:8px 0;padding-left:4px}.exercise-steps li::marker{color:#8aaa8b;font-weight:800}.stop-note{display:flex;gap:9px;color:#a77754;font-size:12px;line-height:1.45;background:#fff6ee;padding:11px;border-radius:9px}.stop-note svg{flex:0 0 17px}.exercise-source{display:inline-block;color:#729077;font-size:11px;margin-top:13px;text-decoration:none}.workout-actions{align-items:center}.timer-button{margin-right:auto;border:0;color:#557864;background:#edf4ea;border-radius:10px;height:43px;min-width:85px;justify-content:center;font-weight:800}.finish-summary,.timer-button{display:flex;align-items:center;gap:8px;font-size:13px}.finish-summary{border:1px solid var(--line);padding:13px;border-radius:11px;color:#62826a;font-weight:700}.notes-label{display:block;color:#5e7866;font-size:12px;font-weight:750;margin:18px 0}.notes-label textarea{display:block;width:100%;min-height:89px;margin-top:8px;border-radius:10px;border:1px solid #dce7dc;resize:vertical;padding:11px;outline-color:#92b598;font-size:13px;color:var(--ink)}.event-switch{display:flex;gap:8px;margin:24px 0 20px}.event-switch button{border:1px solid #dce6da;background:#fff;border-radius:10px;padding:10px 13px;color:#6b846f;font-size:12px;font-weight:700}.event-switch button.selected{background:#eaf2e9;color:#386544;border-color:#a6c5ab}@media(max-width:1100px){.sidebar{width:210px;flex-basis:210px}.main-content{width:min(100% - 50px,1120px)}.hero-art{right:-55px}.routine-card{padding:18px}.routine-grid{gap:10px}}@media(max-width:800px){.sidebar{display:none}.topbar{height:65px;padding:0 22px}.mobile-brand{display:flex}.mobile-brand .brand-mark{width:29px;height:29px;border-radius:9px;font-size:18px}.mobile-brand strong{font-size:21px}.main-content{width:min(100% - 38px,660px);padding:34px 0 110px}.bottom-nav{position:fixed;z-index:20;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:#fff;border-top:1px solid var(--line);padding:7px 8px max(8px,env(safe-area-inset-bottom))}.bottom-nav .nav-button{width:auto;min-width:65px;display:grid;justify-items:center;gap:2px;padding:6px 5px;font-size:10px}.bottom-nav .nav-button.active{background:transparent;color:#3c7850}.routine-grid{grid-template-columns:1fr}.routine-card{min-height:unset;padding:20px}.routine-card-top{margin-bottom:12px}.routine-footer{margin-top:5px}.hero-art{opacity:.6;right:-95px}.hero-copy{max-width:390px}.stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:550px){.top-date{display:none}.topbar{padding:0 19px}.top-status{font-size:10px;padding:7px 9px}.main-content{width:calc(100% - 32px);padding-top:29px}.page-intro h1{font-size:37px}.page-intro p{font-size:13px;padding-right:12px}.date-tile{width:65px;height:69px;flex:0 0 65px}.date-tile svg{display:none}.date-tile strong{font-size:25px}.hero-card{min-height:246px;padding:25px;border-radius:17px}.hero-card h2{font-size:26px;max-width:265px}.hero-card p{font-size:12px;max-width:225px}.hero-art{right:-159px;opacity:.45}.section-head{margin-top:31px}.section-head h2{font-size:23px}.section-note{display:none}.home-lower,.info-grid{grid-template-columns:1fr}.stat-card{min-height:125px}.stat-card>strong{font-size:29px}.bar-chart{gap:5px}.chart-card{padding:18px}.modal-backdrop{padding:0}.event-modal,.workout-modal{width:100%;height:100dvh;max-height:none;border-radius:0}.modal-scroll{padding:21px}.modal-section-intro h2,.workout-body h2{font-size:25px}.workout-actions{display:grid;grid-template-columns:1fr 1fr}.timer-button{grid-column:1/-1;width:100%}.workout-actions .button{padding:0 8px;font-size:12px}.big-illustration{max-height:195px}.journal-item{padding:16px;gap:11px}.journal-title-row h3{font-size:15px}.sign-in-page{flex-direction:column;gap:20px}.sign-in-intro h1{font-size:29px}}