.shell{max-width:1200px;margin:auto;padding:0 24px 40px}.mast{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:100px;border-bottom:1px solid var(--hairline)}.brand{display:flex;align-items:center;gap:12px;color:var(--fg);font-size:22px;text-decoration:none;font-weight:500}.brand-mark{display:grid;place-items:center;background:var(--primary-soft);width:42px;height:42px;border-radius:14px;font-size:32px}.greeting{padding:44px 0 32px;display:flex;justify-content:space-between;gap:20px;align-items:center;position:relative}.greeting h1{font-size:38px;margin:8px 0}.eyebrow{font-size:16px;color:var(--muted)}.calendar{padding:24px;margin-bottom:16px}.calendar .week{max-width:850px;margin:20px auto;position:relative}.calendar .week:before{content:"";position:absolute;top:55px;left:7%;right:7%;height:2px;background:var(--primary-soft)}.day{position:relative;z-index:1;min-width:0}.day__dot{background:var(--surface);border-color:var(--border);width:48px;height:48px}.day.today .day__dot{outline:2px solid var(--accent-ink);outline-offset:4px}.day.done .day__dot{background:var(--primary-soft)}.day:hover .day__dot{background:var(--chip)}.dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.exercises{grid-column:1/-1;padding:24px;display:flex;flex-direction:column}.progress-copy{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:24px 0}.progress-copy .display{font-size:clamp(36px,6vw,64px)}.stones{display:flex;gap:16px;align-items:center;margin:8px 0 28px}.stone{display:grid;place-items:center;width:48px;height:48px;background:var(--accent);color:var(--on-accent);border-radius:50%;border:2px dashed var(--accent-ink);animation:arrive .4s ease-out both}.stone.done{background:var(--fg);color:var(--bg);border:0}.stone:not(:last-child):after{content:"";position:absolute;margin-left:64px;width:16px;border-top:2px dotted var(--border)}.exercise-row{display:flex;align-items:center;gap:16px;padding:24px 0;border-bottom:1px solid var(--hairline)}.exercise-row .text{flex:1;min-width:0}.exercise-row h3{margin-bottom:6px}.badge{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:14px;background:var(--blue-soft)}.badge.peach{background:var(--accent-soft)}.exercise-footer{margin-top:auto;padding-top:32px;display:grid;gap:16px}.exercise-footer .btn{min-height:64px}.appointments,.medicine,.questions{padding:24px;min-width:0}.appointments h2,.medicine h2{font-size:18px}.appointments .section-head,.medicine .section-head{align-items:start}.big-date{font-size:22px;margin:16px 0 8px}.questions{grid-column:1/-1}.questions ul{padding:0;list-style:none;margin:16px 0}.questions li{border-bottom:1px solid var(--hairline);padding:16px 0;display:flex;align-items:start;gap:12px;overflow-wrap:anywhere}.questions li span{flex:1}.questions label{display:block;margin-bottom:8px}.questions form{display:grid;gap:12px}.question-input{display:flex;gap:8px}.question-input input{min-width:0}.page-footer{text-align:center;margin:32px 0;color:var(--muted);font-size:16px}.skip{position:fixed;top:-100px}.skip:focus{top:8px;z-index:9;background:var(--surface);padding:16px}dialog{color:var(--fg);background:var(--bg);border:0;border-radius:28px;padding:24px;width:min(960px,calc(100% - 40px));max-height:90dvh;overscroll-behavior:contain}dialog::backdrop{background:rgb(15 43 64 / .45)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:-24px;background:var(--bg);padding:12px 0;z-index:1}.plan-item{margin:24px 0;border-bottom:1px solid var(--hairline);padding-bottom:24px}.plan-item summary{padding:16px 0;cursor:pointer;font-size:22px}.plan-item p,.plan-item ol,.plan-item h3{margin:16px 0}.pose-demo{display:grid;place-items:center;aspect-ratio:16/9;background:var(--tile);border-radius:20px;max-height:260px}.pose-demo svg{width:100px;height:140px}.safety{padding:16px;border-radius:14px;background:var(--fair-bg);color:var(--fair)}blockquote{border-left:3px solid var(--primary-ink);margin:24px 0;padding:0 16px}.sticky-action{position:sticky;bottom:-24px;background:var(--bg);padding:16px 0}.btn{white-space:normal;text-align:center}.icon{pointer-events:none}#notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);z-index:20;background:var(--fg);color:var(--bg);padding:16px 24px;border-radius:20px}.btn:hover{filter:brightness(.96)}@keyframes arrive{from{transform:translateY(6px);opacity:0}to{transform:none;opacity:1}}@media(min-width:1024px){.dashboard{grid-template-columns:2fr 1fr}.exercises{grid-column:1;grid-row:1/4}.questions{grid-column:2}.day-panel{margin:0 0 0 auto;width:430px;height:100dvh;max-height:100dvh;border-radius:24px 0 0 24px}.calendar .section-head{margin-bottom:0}.questions{display:flex;flex-direction:column}.questions form{margin-top:auto}}@media(max-width:600px){.shell{padding:0 16px 32px}.mast{min-height:80px}.brand{font-size:18px;gap:8px}.mast .row{gap:0}.mast .btn{font-size:16px;padding:0 8px}.greeting{padding-top:28px;align-items:start;flex-direction:column;gap:12px}.greeting h1{font-size:30px}.greeting .chip{align-self:start}.calendar{padding:24px 16px}.week{gap:0}.day__dot{width:40px;height:40px}.calendar .week:before{top:51px}.dashboard{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}.progress-copy{align-items:start;flex-direction:column}.exercise-row{gap:12px;flex-wrap:wrap}.exercise-row .btn{margin-left:auto}.exercises{padding:24px}.section-head{flex-wrap:wrap}.questions .section-head{flex-wrap:nowrap}.appointments,.medicine{padding:24px}.appointments h2,.medicine h2{overflow-wrap:anywhere}dialog{width:100%;height:100dvh;max-height:100dvh;margin:0;border-radius:0}body:has(dialog[open]){overflow:hidden}.page-footer{margin-bottom:32px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}