:root{font-family:Arial,Helvetica,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#343234;background:#f8f8f7;font-synthesis:none;font-size:16px;line-height:1.5;--accent: #a94466;--border: #e8e4e5;--muted: #706a6e;--ink: #343234}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer;transition:background .15s,box-shadow .15s}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #9b3c62;outline-offset:3px}a{color:var(--accent)}h1,h2,h3,p{margin:0}h1{font-size:2.75rem;letter-spacing:-.055em;line-height:1.12;font-weight:650}h2{font-size:1.35rem;letter-spacing:-.025em;line-height:1.3}h3{font-size:1rem;font-weight:650}p{color:var(--muted)}button{border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--ink);padding:.65rem 1rem;font-weight:600;min-height:44px}button:hover:not(:disabled){background:#f8edf2}.primary{background:var(--accent);border-color:var(--accent);color:#fff;padding:.8rem 1.35rem}.primary:hover:not(:disabled){background:#8e3654}.secondary{background:#fff}.text-button{border:0;background:transparent;padding:.4rem .5rem;font-size:.9rem}.small,small{font-size:.875rem;color:var(--muted)}.eyebrow{font-size:.75rem;font-weight:750;letter-spacing:.12em;color:#7c6671;margin-bottom:.8rem}.app-shell{max-width:1600px;margin:auto}.topbar{height:88px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:#fff}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);font-size:1.1rem;font-weight:700}.brand-mark{background:var(--accent);color:#fff;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:28px;font-weight:400;line-height:1}.account{display:flex;align-items:center;gap:14px}.account-label{font-size:.875rem;color:var(--muted);max-width:240px;overflow:hidden;text-overflow:ellipsis}.prototype-tag,.draft-tag{font-size:.75rem;padding:5px 9px;border-radius:5px;background:#f0e8ec;color:#69535e;font-weight:600}.draft-tag{background:#fff1d9;color:#795013}main{max-width:1200px;padding:48px 32px 60px;margin:auto;min-height:calc(100vh - 156px)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px}.page-heading p:not(.eyebrow){margin-top:10px}.panel{background:#fff;border:1px solid var(--border);border-radius:18px;padding:28px;box-shadow:0 3px 12px #3c233303}.today-view{max-width:790px;margin:0 auto}.daily-progress{display:block;width:100%;height:8px;margin-top:20px;border:0;border-radius:999px;overflow:hidden;appearance:none;background:var(--border);color:var(--accent)}.daily-progress::-webkit-progress-bar{background:var(--border)}.daily-progress::-webkit-progress-value{background:var(--accent);border-radius:999px}.daily-progress::-moz-progress-bar{background:var(--accent);border-radius:999px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-top .eyebrow{margin-bottom:6px}.count-badge{border-radius:20px;background:#f4e4ea;color:var(--accent);font-size:.9rem;font-weight:700;padding:6px 12px}.session-list{display:grid;gap:12px;margin-top:25px}.session-card{display:flex;align-items:center;text-align:left;gap:15px;padding:20px 16px;border-radius:12px}.session-icon{font-size:1.05rem;border:1px solid #e9cbd6;background:#fcf3f7;color:var(--accent);border-radius:10px;width:44px;height:44px;display:grid;place-items:center;flex-shrink:0}.session-name{flex:1}.session-name strong,.session-name small{display:block}.session-name small{font-weight:400;margin-top:3px}.session-action{font-size:.875rem;color:var(--accent)}.complete .session-icon{background:#e6f4ef;color:#176847;border-color:#bfe1d2}.complete{background:#fbfefc}.routine-list{margin-top:12px}.routine-row{display:flex;gap:14px;padding:20px 0;border-bottom:1px solid #eee8eb}.exercise-number{display:grid;place-items:center;flex-shrink:0;border:1px solid var(--border);border-radius:50%;width:30px;height:30px;font-size:.8rem;color:#796a73}.routine-row p{font-size:.9rem;margin-top:5px}.routine-row .routine-note{font-size:.875rem;white-space:pre-wrap;overflow-wrap:anywhere}.routine-meta{display:flex;justify-content:space-between;gap:15px;font-size:.75rem;color:var(--muted);padding-top:22px;flex-wrap:wrap}.draft-banner{font-size:.875rem;color:#665738;margin-top:28px;padding:16px 20px;border:1px solid #e6dfce;border-radius:10px;background:#fffcf5}.app-footer{max-width:1136px;margin:0 auto;padding:22px 0;display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--border);font-size:.75rem;color:var(--muted)}.empty{text-align:center;padding:60px 25px}.empty p{max-width:470px;margin:14px auto 24px}.empty .small{margin-bottom:0}.empty-symbol{font-size:32px;display:grid;place-items:center;background:#f4e4ea;color:var(--accent);width:64px;height:64px;border-radius:18px;margin:0 auto 22px}.editor-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;align-items:start}.panel-title{display:flex;align-items:center;gap:12px;margin-bottom:12px}.step-number{font-size:.8rem;background:#f4e4ea;color:var(--accent);border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-weight:700}.library{margin-top:24px}.library-item{display:flex;align-items:center;gap:12px;border-bottom:1px solid #eee8eb;padding:17px 0;cursor:pointer}.library-item strong,.library-item small{display:block}.library-item strong{font-size:.95rem}.library-item small{font-size:.75rem;margin-top:4px}input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}.schedule{border-top:1px solid var(--border);margin-top:25px;padding-top:25px}.field{display:flex;flex-direction:column;gap:7px;font-size:.875rem;font-weight:550;margin-top:18px}.field input,.field textarea{width:100%;padding:10px 12px;border:1px solid #cdbfc6;border-radius:8px;color:var(--ink);background:#fff;font-weight:400}.field textarea{resize:vertical}.schedule>.field{max-width:150px}.schedule>.small{margin-top:8px}fieldset{padding:0;border:0;margin:22px 0 0}legend{font-size:.875rem;font-weight:550;margin-bottom:10px}.days{display:flex;gap:6px;flex-wrap:wrap}.days label{cursor:pointer;position:relative}.days input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.days span{display:block;padding:9px 8px;border:1px solid var(--border);border-radius:7px;font-size:.875rem}.days input:checked+span{background:#f4e4ea;border-color:var(--accent);color:var(--accent)}.days input:focus-visible+span{outline:3px solid #9b3c62}.edit-item{padding:23px 0;border-bottom:1px solid var(--border)}.edit-item:last-child{border:0;padding-bottom:0}.edit-item-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.reorder{display:flex;gap:5px}.reorder button{padding:4px 12px}.amounts{display:grid;grid-template-columns:1fr 1fr;gap:15px}.edit-item>.small{margin-top:7px}.optional{font-weight:400;color:var(--muted)}.editor-empty{padding:60px 10px;text-align:center;color:var(--muted)}.savebar{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px 0}.savebar p{font-size:.875rem;max-width:540px}.savebar button{flex-shrink:0}.guided-layout{display:grid;grid-template-columns:300px 1fr;gap:24px;align-items:start}.exercise-nav{padding:22px 15px}.exercise-nav h2{padding:0 12px 18px;font-size:1rem}.exercise-nav button{border:0;display:flex;gap:12px;text-align:left;align-items:center;width:100%;font-weight:550;padding:14px 10px;font-size:.9rem;margin-top:5px}.exercise-nav small{display:block;font-size:.75rem;font-weight:400;margin-top:5px}.exercise-nav .chosen{background:#f4e4ea;color:var(--accent)}.exercise-number.checked{background:#e6f4ef;color:#176847;border-color:#bfe1d2}.exercise-detail h2{font-size:1.8rem}.dose{display:flex;gap:28px;padding:18px 0 24px;color:var(--muted);font-size:.9rem}.dose strong{color:var(--ink);font-size:1.3rem}.video-placeholder{background:#f5eff2;border:1px dashed #cdb7c1;border-radius:12px;min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px}.video-placeholder>span{font-size:30px;color:#8d6577;margin-bottom:8px}.video-placeholder p{font-size:.875rem;max-width:320px;margin-top:7px}.instructions{margin-top:28px}.instructions-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.instructions ol{padding-left:24px;margin:18px 0}.instructions li{padding-left:6px;margin:10px 0;color:#4f454b}.clinical-note{font-size:.875rem;background:#f8f5f6;padding:13px;border-radius:8px}.source{font-size:.8rem;display:inline-block;margin-top:12px}.personal-note{border-left:3px solid var(--accent);padding:8px 16px;margin-top:25px}.personal-note p{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:7px;font-size:.9rem}.exercise-footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding-top:24px;margin-top:28px}.pill{font-size:.875rem;border:1px solid var(--border);border-radius:25px;padding:8px 15px}.back{padding-left:0;margin-bottom:12px}.completion-panel{text-align:center;background:#fff;border:1px solid var(--border);border-radius:18px;padding:70px 25px}.completion-icon{display:grid;place-items:center;border-radius:50%;width:64px;height:64px;background:#e6f4ef;color:#176847;margin:0 auto 22px;font-size:28px}.completion-panel h2{font-size:2rem}.completion-panel p{margin:15px 0 28px}.message{padding:14px 18px;border-radius:9px;margin-bottom:20px;font-size:.9rem}.message.error{background:#fff0ed;color:#922c1b;border:1px solid #f0c5bb}.message.error button{margin-left:15px}.message.success{background:#e8f4ef;color:#1d604b}.welcome{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;align-items:center;padding:50px 0 65px}.welcome h1{font-size:3.35rem;line-height:1.1}.lead{font-size:1.1rem;line-height:1.75;margin-top:24px}.welcome-actions{margin:30px 0 14px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.connection-note{font-size:.875rem}.welcome-card{background:#f4e4ea;border-radius:22px;color:var(--ink);padding:35px}.welcome-card .eyebrow{color:#775866}.flow-row{display:flex;gap:18px;padding:24px 0;border-bottom:1px solid #e6cdd7}.flow-row:last-child{border:0}.flow-row>span{color:#99687d;font-size:.85rem}.flow-row h2{font-size:1.15rem}.flow-row p{color:#735e68;font-size:.9rem;margin-top:9px}video{width:100%;border-radius:12px}@media(max-width:800px){.topbar{padding:0 22px;height:auto;min-height:76px;gap:15px}.account{gap:7px;flex-wrap:wrap;justify-content:flex-end;padding:12px 0}.account-label{display:none}main{padding:30px 20px 40px}.editor-layout,.guided-layout{grid-template-columns:1fr}.exercise-nav{padding:18px}.exercise-nav button{min-height:54px}.welcome{grid-template-columns:1fr;gap:30px;padding:25px 0}.welcome h1{font-size:2.7rem}.app-footer{margin:0 20px}.panel{padding:22px}.page-heading h1{font-size:2.25rem}.pill{display:none}.savebar{align-items:stretch;flex-direction:column}.savebar button{width:100%}}@media(max-width:420px){.brand{font-size:.95rem;gap:8px}.prototype-tag{display:none}.topbar{padding:0 16px}.page-heading{align-items:flex-start;gap:10px}.page-heading>.secondary{font-size:.85rem;padding:10px}.session-card{padding:15px 12px;gap:10px}.session-action{font-size:.8rem}.panel{padding:18px}.app-footer{flex-direction:column;gap:4px}.exercise-footer{flex-wrap:wrap}.exercise-footer .primary{flex:1}.welcome h1{font-size:2.4rem}}@media(max-width:800px){.guided-layout .exercise-detail{order:-1}.account .demo-label{display:block;font-size:.75rem;max-width:none}.account{max-width:190px}.account .prototype-tag{display:none}}.app-shell h1,.app-shell h2{font-family:Georgia,Times New Roman,serif;font-weight:400;letter-spacing:-.035em}.app-shell h1{font-size:3rem}.app-shell h2{font-size:1.65rem}.app-shell .exercise-detail h2{font-size:2rem}.app-shell .welcome h1{font-size:3.35rem}.app-shell .flow-row h2{font-size:1.4rem}.app-shell .brand{flex-shrink:0}.brand-logo{display:block;width:132px;height:auto}@media(max-width:420px){.brand-logo{width:108px}}.app-shell .brand-mark{background:#f4e4ea;color:var(--accent)}.app-shell .exercise-nav h2{font-size:1.4rem}.exercise-name-with-icon{display:flex;align-items:center;gap:12px;min-width:0}.exercise-illustration{width:48px;height:48px;object-fit:contain;flex-shrink:0;border-radius:10px;background:#fcf3f7}.exercise-detail .exercise-illustration{width:64px;height:64px}.library-item .exercise-illustration{width:40px;height:40px}.routine-row>div{min-width:0}.exercise-celebration{position:fixed;bottom:28px;left:50%;transform:translate(-50%);z-index:30;max-width:calc(100vw - 32px);width:max-content;background:#fff;color:#343234;border:1px solid #e8d4dd;border-radius:14px;box-shadow:0 8px 35px #49313c24;padding:16px 22px;display:flex;align-items:center;gap:12px;pointer-events:none}.exercise-celebration p{color:#706a6e;font-size:.875rem}.celebration-check{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border-radius:50%;background:#e6f4ef;color:#176847;animation:completion-pop .45s ease-out}.celebration-particles{position:absolute;left:50%;top:0}.celebration-particles i{position:absolute;width:7px;height:10px;background:var(--particle-color);border-radius:2px;animation:completion-burst 1s ease-out both}@keyframes completion-pop{0%{transform:scale(.5)}65%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes completion-burst{0%{opacity:0;transform:translate(0)}15%{opacity:1}to{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--rotation))}}@media(max-width:800px){.app-shell h1{font-size:2.5rem}.app-shell .welcome h1{font-size:2.7rem}}@media(max-width:420px){.app-shell .brand{font-size:1.15rem}.app-shell .welcome h1{font-size:2.4rem}.app-shell .page-heading h1{font-size:2.25rem}.exercise-celebration{bottom:16px;padding:12px 16px}}@media(prefers-reduced-motion:reduce){.celebration-particles{display:none}.celebration-check{animation:none}button{transition:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.topbar,.account,.today-view .page-heading{flex-wrap:wrap}.topbar{height:auto;min-height:88px;gap:12px;padding-top:12px;padding-bottom:12px}.today-view .count-badge{white-space:nowrap;flex-shrink:0}@media(max-width:600px){.topbar{gap:4px}.account{max-width:none;width:100%;justify-content:space-between;padding:4px 0}}.edit-routine-button{min-height:56px;padding:16px 28px;font-size:1.0625rem;font-weight:700;flex-shrink:0}@media(max-width:600px){.edit-routine-button{width:100%;margin-top:8px}}.exercise-recording{aspect-ratio:3 / 2;object-fit:contain;background:#181818;display:block}
