:root{color:#173632;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f5f7f2;font-family:Inter,ui-rounded,SF Pro Rounded,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button,label{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #e79c57}button{min-height:44px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.app{width:min(100% - 32px,720px);min-height:100svh;margin:0 auto;padding:18px 0 48px}h1,h2,p{margin-top:0}h1{letter-spacing:-.045em;margin-bottom:12px;font-size:clamp(2rem,9vw,3.4rem);line-height:1.02}h2{margin-bottom:8px;font-size:1.18rem;line-height:1.25}p{line-height:1.55}.topbar{justify-content:space-between;align-items:center;margin-bottom:52px;display:flex}.brand{color:inherit;align-items:center;gap:10px;font-weight:800;text-decoration:none;display:flex}.brand span{color:#fff;background:#1f665e;border-radius:11px;place-items:center;width:34px;height:34px;display:grid}.topbar nav{background:#e7ece6;border-radius:14px;gap:4px;padding:4px;display:flex}.topbar nav button{color:#5b706c;cursor:pointer;background:0 0;border:0;border-radius:10px;min-height:36px;padding:6px 14px}.topbar nav button.active{color:#173632;background:#fff;box-shadow:0 2px 10px #19322c12}.hero-copy{margin:0 4px 28px}.hero-copy>p:last-child{color:#63736f;max-width:480px;font-size:1.08rem}.eyebrow{color:#2f766c;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;font-size:.76rem;font-weight:800}.card{background:#fff;border:1px solid #dfe6de;border-radius:24px;padding:24px;box-shadow:0 12px 35px #1736320a}.start-card{gap:26px;display:grid}.routine-summary{align-items:flex-start;gap:16px;display:flex}.routine-summary p{color:#73807d;margin:0}.routine-icon{color:#1f665e;background:#dceee8;border-radius:16px;flex:0 0 50px;place-items:center;height:50px;font-size:1.4rem;font-weight:900;display:grid}.clinician-note{color:#707c79;text-align:center;margin:-8px 0 0;font-size:.82rem}.rating{color:#405955;gap:10px;display:grid}.rating>span{justify-content:space-between;display:flex}.rating output{color:#1f665e;font-weight:800}.rating small{color:#7c8986}input[type=range]{accent-color:#1f665e;width:100%}.primary,.secondary{cursor:pointer;border-radius:14px;padding:13px 20px;font-weight:800}.primary{color:#fff;background:#1f665e;border:1px solid #194f49;box-shadow:0 8px 20px #1f665e33}.primary:hover{background:#194f49}.secondary{color:#1f665e;background:#fff;border:1px solid #b8ccc7}.start-button{width:100%;min-height:58px;font-size:1.05rem}.stats{grid-template-columns:1fr 1fr;gap:12px;margin:14px 0;display:grid}.stats article{flex-direction:column;padding:20px;display:flex}.stats strong{color:#1f665e;font-size:1.8rem}.stats span{color:#6d7d79;font-size:.85rem}.safety-banner{color:#735327;background:#fff0d8;border-radius:18px;gap:4px;margin:14px 0;padding:18px 20px;font-size:.9rem;display:grid}.preferences{gap:12px;margin-top:14px;display:grid}.preferences label{align-items:center;gap:10px;min-height:44px;display:flex}.preferences input{accent-color:#1f665e;width:20px;height:20px}.notice{color:#174d46;background:#dbeee8;border-radius:14px;padding:14px 18px;font-weight:700}.section-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.section-heading h1{font-size:2.2rem}.history{gap:14px;display:grid}.session-list{gap:12px;display:grid}.session{gap:10px;display:grid}.session p{color:#657672;margin:0}.empty-state{text-align:center}.completion-days{gap:8px;padding:4px 0;display:flex;overflow-x:auto}.completion-days span{color:#1f665e;background:#dceee8;border-radius:999px;flex:none;padding:7px 10px;font-size:.75rem;font-weight:700}.import-button{color:#1f665e;cursor:pointer;width:max-content;font-weight:800}.import-button input{opacity:0;width:1px;height:1px;position:absolute}.workout-shell{align-content:start;gap:18px;max-width:620px;display:grid}.workout-header{grid-template-columns:auto 1fr;align-items:center;gap:10px 18px;display:grid}.workout-header>div{color:#667874;justify-content:space-between;font-size:.85rem;display:flex}.workout-header progress{accent-color:#1f665e;border:0;border-radius:999px;grid-column:1/-1;width:100%;height:8px;overflow:hidden}.text-button,.quiet-controls button{color:#526763;cursor:pointer;background:0 0;border:0;padding:0}.timer-card{text-align:center;padding:30px 24px}.timer-card.rest{background:#eef3ea}.timer{color:#173632;letter-spacing:-.08em;font-variant-numeric:tabular-nums;font-size:clamp(6.5rem,35vw,12rem);font-weight:800;line-height:.92}.timer-label,.position{color:#697a76;margin:10px 0 0}.position{font-size:.88rem}.guidance-card h2{line-height:1.4}.dosage{color:#2f766c;margin:-2px 0 16px;font-size:.82rem;font-weight:800}.guidance-card ul{gap:10px;margin:18px 0;padding-left:22px;display:grid}.guidance-card li::marker{color:#2f766c}.guidance-card img{object-fit:contain;background:#faf8f2;border-radius:16px;width:100%;max-height:320px}.safety{color:#735327;background:#fff0d8;border-radius:12px;margin-bottom:0;padding:12px 14px;font-size:.86rem}.controls{grid-template-columns:1fr 1.6fr;gap:10px;display:grid}.controls>.primary:only-of-type{grid-column:span 1}.controls button:disabled{opacity:.45;cursor:not-allowed}.quiet-controls{grid-column:1/-1;justify-content:space-between;padding:8px 4px;display:flex}.checkin-card,.completion-card{gap:26px;margin-top:48px;display:grid}.prepare-card{gap:22px;display:grid}.prepare-card h1{margin-bottom:8px;font-size:clamp(2rem,8vw,3rem)}.prepare-card h2{line-height:1.4}.prepare-card img{object-fit:contain;background:#faf8f2;border-radius:16px;width:100%;max-height:300px}.prepare-card ul{gap:10px;margin:16px 0 0;padding-left:22px;display:grid}.prepare-card li::marker{color:#2f766c}.set-heading{color:#2f766c;margin:0;font-weight:800}.start-set{min-height:60px;font-size:1.05rem}.notes{gap:10px;display:grid}.notes textarea{resize:vertical;width:100%;color:inherit;background:#fbfcfa;border:1px solid #c8d5d2;border-radius:12px;padding:14px}@media (width<=520px){.app{width:min(100% - 24px,720px)}.topbar{margin-bottom:36px}.topbar nav button{padding-inline:10px}.card{border-radius:20px;padding:20px}.section-heading{display:grid}.section-heading .secondary{width:max-content}}
