:root{--bg:#10151d;--panel:#1d2430;--panel2:#252d39;--blue:#4fa9ff;--blue2:#2f84dc;--text:#f4f7fb;--muted:#a9b5c5;--danger:#ff9b8d}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% 0,#182b43 0,#10151d 42%);color:var(--text);font:16px/1.55 Inter,system-ui,sans-serif}.app-shell{max-width:760px;margin:auto;padding:22px 16px 48px}.brand{display:flex;align-items:center;gap:12px;margin:6px 4px 18px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#174774;color:#9fd4ff;font-size:22px}.brand strong{display:block;font-size:18px}.brand small{display:block;color:var(--muted)}.card{background:rgba(29,36,48,.94);border:1px solid #344050;border-radius:24px;box-shadow:0 16px 42px #07101d66}.intro{padding:28px}.eyebrow{color:#8ac7ff;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700}h1{font-size:clamp(28px,6vw,44px);line-height:1.1;margin:10px 0}.muted,.note{color:var(--muted)}form{display:grid;gap:14px;margin-top:24px}label{display:grid;gap:6px;color:#dbe8f7;font-size:14px}input{border:1px solid #465467;border-radius:12px;background:#121923;color:var(--text);padding:13px;font-size:16px}.primary,.reply{border:0;border-radius:14px;background:var(--blue2);color:white;font-weight:700;padding:14px 18px;font-size:16px;cursor:pointer}.primary:hover,.reply:hover{background:var(--blue)}.note{font-size:12px;margin:0}.hidden{display:none}.coach{padding:22px 16px 16px}.messages{display:grid;gap:14px;max-height:64vh;overflow:auto;padding:3px}.message{max-width:88%;padding:15px 17px;border-radius:18px;white-space:pre-wrap}.assistant{background:#2a303a;border-top-left-radius:5px}.member{background:var(--blue2);justify-self:end;border-top-right-radius:5px}.avatar{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#174774;color:#9fd4ff;font-size:12px;margin-right:7px}.action{display:flex;gap:8px;margin-top:15px}.action input{flex:1}.reply{white-space:nowrap}.stop{border-color:#754b49}.stop h2{color:var(--danger)}.plan{padding:26px}.plan h2{margin-top:0}.workout{background:#263544;border-radius:14px;padding:15px;margin:12px 0}.workout strong{color:#9fd4ff}.confirm{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.secondary{background:#394758}.small{font-size:13px;color:var(--muted)}
:root{--bg:#0b0d12;--panel:#191c24;--panel2:#242934;--blue:#5caeff;--blue2:#347fd1;--text:#f8fafc;--muted:#aab4c3}body{background:radial-gradient(circle at 50% -10%,#193657 0,#0b0d12 48%)}.app-shell{max-width:700px;padding:30px 18px 56px}.brand{margin:0 2px 22px}.brand-home{margin-left:auto;border:1px solid #465467;border-radius:999px;color:#dceeff;padding:7px 12px;font-size:12px;font-weight:800;text-decoration:none}.brand-home:hover,.brand-home:focus-visible{border-color:var(--blue);color:#fff}.secure-pill{border:1px solid #38506c;border-radius:999px;color:#9ccfff;font-size:10px;font-weight:800;letter-spacing:.1em;padding:7px 10px}.card{background:#191c24;border-color:#303744;border-radius:28px;box-shadow:0 22px 60px #03060d99}.intro{padding:34px 30px}.eyebrow-row{display:flex;align-items:center;justify-content:space-between}.eyebrow{margin:0;color:#69b4ff;letter-spacing:.16em}.step-count{color:#7f8b9c;font-size:11px;font-weight:700;letter-spacing:.1em}.intro h1{font-size:clamp(34px,8vw,58px);letter-spacing:-.04em;margin:18px 0 14px}.intro h1 span{color:#fff}.progress{display:flex;gap:7px;margin:26px 0 6px}.progress span{height:4px;flex:1;border-radius:99px;background:#39404d}.progress .active{background:var(--blue)}form{margin-top:22px}input{background:#10131a;border-color:#3d4655;border-radius:14px;padding:15px}.primary,.reply{background:var(--blue2);border-radius:14px;box-shadow:0 7px 18px #1d69b344}.coach{padding:24px 18px 18px}.messages{gap:12px;max-height:62vh;padding:5px 4px}.message{max-width:min(86%,520px);padding:14px 16px;border-radius:19px;line-height:1.55}.assistant{background:#292e37;border-top-left-radius:6px}.assistant:before{content:'✦';display:inline-grid;place-items:center;width:23px;height:23px;margin-right:7px;border-radius:50%;background:#174774;color:#a8d8ff;font-size:12px;vertical-align:middle}.member{background:var(--blue2);border-top-right-radius:6px}.action{position:sticky;bottom:0;padding-top:14px;background:linear-gradient(transparent,#191c24 18%)}.action input{min-width:0}.plan{padding:28px 24px}.workout{background:#222c39;border:1px solid #344457}.workout strong{color:#9dceff}@media(max-width:480px){.intro{padding:28px 21px}.secure-pill{display:none}.message{max-width:92%}}
.coach-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 4px 18px;color:#8fa2b9;font-size:11px;font-weight:800;letter-spacing:.1em}.logout{border:1px solid #465467;border-radius:999px;background:transparent;color:#b9d9f8;padding:8px 13px;font:inherit;letter-spacing:.04em;cursor:pointer}.logout:hover{border-color:var(--blue);color:#fff}.logout:disabled{cursor:wait;opacity:.6}.logout-error{margin-top:14px;text-align:center}
.voice-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 4px 18px;padding:12px;border:1px solid #34465b;border-radius:16px;background:#111923}.voice-control{border:1px solid #45617e;border-radius:999px;background:#1b2b3e;color:#dceeff;padding:9px 12px;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.voice-control:hover:not(:disabled){border-color:var(--blue);background:#203955}.voice-control[aria-pressed="true"]{border-color:#6bb8ff;background:#174774}.voice-control:disabled{cursor:not-allowed;opacity:.45}.voice-status{flex:1 1 100%;color:var(--muted);font-size:12px}
.voice-consent{display:flex;flex:1 1 100%;grid-template-columns:auto 1fr;align-items:flex-start;gap:9px;color:#dbe8f7;font-size:12px;line-height:1.4}.voice-consent.hidden{display:none}.voice-consent input{width:18px;height:18px;margin-top:1px;accent-color:var(--blue2)}
.voice-reply-row{display:flex;align-items:center;gap:10px;margin-top:9px;color:var(--muted);font-size:12px}.voice-reply-row .voice-control{flex:0 0 auto}.voice-reply-row span{line-height:1.35}@media(max-width:480px){.voice-reply-row{align-items:flex-start;flex-direction:column}}
dialog{max-width:460px;width:calc(100% - 32px);padding:0;border:1px solid #3d4b5e;border-radius:22px;background:#191c24;color:var(--text);box-shadow:0 24px 80px #000c}dialog::backdrop{background:#03060dcc}.alert-card{padding:26px}.alert-card h2{margin:0 0 10px}.alert-card p{color:var(--muted)}#membership-alert-help a{color:#8fc9ff;font-weight:800;text-underline-offset:3px}.alert-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:22px}.alert-actions .secondary{box-shadow:none}
.camera-assessment{padding:30px}.camera-assessment h2{margin:14px 0 8px;font-size:clamp(24px,5vw,34px)}.camera-safety{margin:20px 0;padding:16px;border:1px solid #40536a;border-radius:16px;background:#121923}.camera-safety p{margin:5px 0 0;color:var(--muted)}.movement-demo{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:18px;margin:18px 0;padding:16px;border:1px solid #344b64;border-radius:18px;background:#101a27}.movement-demo p{margin:6px 0 0;color:var(--muted);line-height:1.45}.demo-scene{position:relative;height:105px;overflow:hidden;border-radius:13px;background:linear-gradient(#1b3450,#112033)}.demo-person{position:absolute;left:45px;top:13px;width:36px;height:78px;transform-origin:50% 90%;animation:overhead-squat-demo 4s ease-in-out infinite}.demo-head{position:absolute;left:10px;top:16px;width:17px;height:17px;border-radius:50%;background:#8fc9ff}.demo-arms{position:absolute;left:13px;top:0;width:10px;height:36px;border-left:5px solid #8fc9ff;border-right:5px solid #8fc9ff}.demo-body{position:absolute;left:7px;top:36px;width:23px;height:25px;border-radius:8px 8px 5px 5px;background:#4a9bea}.demo-legs{position:absolute;left:7px;top:59px;width:28px;height:19px;border-left:6px solid #8fc9ff;border-right:6px solid #8fc9ff}.camera-consent{display:flex;grid-template-columns:auto 1fr;align-items:flex-start;gap:10px;margin:18px 0}.camera-consent.hidden{display:none}.camera-consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--blue2)}.camera-frame{position:relative;display:grid;place-items:center;min-height:260px;overflow:hidden;border:1px dashed #4b5d73;border-radius:18px;background:#0d1219}.camera-frame video{display:block;width:100%;max-height:58vh;background:#090d12}.camera-frame video:not([src]){min-height:260px}.camera-frame #camera-placeholder{position:absolute;max-width:250px;text-align:center;color:var(--muted)}.camera-countdown{position:absolute;inset:0;display:grid;place-items:center;background:#07101dcc;color:#fff;font-size:clamp(72px,20vw,128px);font-weight:900;text-shadow:0 5px 24px #000;z-index:2}.camera-countdown.hidden{display:none}.camera-frames{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.camera-frames img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid #40536a;border-radius:10px}.movement-result{margin-top:14px;padding:14px 16px;border:1px solid #42627f;border-radius:14px;background:#112033}.movement-result ul{margin:8px 0;padding-left:20px}.movement-result p{margin:8px 0 0;color:var(--muted);font-size:13px}.camera-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.camera-actions button{flex:1 1 180px}.camera-actions .secondary{box-shadow:none}@keyframes overhead-squat-demo{0%,18%,82%,100%{transform:translateY(0)}40%,60%{transform:translateY(18px)}}@media(prefers-reduced-motion:reduce){.demo-person{animation:none}}@media(max-width:480px){.camera-assessment{padding:25px 20px}.camera-frame{min-height:220px}.movement-demo{grid-template-columns:100px 1fr}.demo-person{left:34px}}
.assessment-steps{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.assessment-steps>div{padding:16px;border:1px solid #344b64;border-radius:16px;background:#101a27}.assessment-steps p{margin:6px 0 0;color:var(--muted);line-height:1.45}@media(max-width:480px){.assessment-steps{grid-template-columns:1fr}}
.pose-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.pose-overlay.hidden{display:none}.pose-guidance{display:grid;gap:5px;margin-top:12px;padding:14px 16px;border:1px solid #345b7d;border-radius:14px;background:#102238}.pose-guidance.hidden{display:none}.pose-guidance strong{color:#9dceff}.pose-guidance span{line-height:1.4}.pose-guidance small{color:var(--muted)}
 .camera-device{display:grid;gap:7px;margin:18px 0;font-weight:700}.camera-device.hidden{display:none}.camera-device select{width:100%;padding:12px;border:1px solid #4b5d73;border-radius:12px;background:#0d1219;color:var(--text);font:inherit}.camera-device small{color:var(--muted);font-weight:400;line-height:1.4}
.plan-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.plan-actions button{flex:1 1 170px}.workout-tracker{margin-top:18px;padding:28px 24px}.tracker-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.tracker-heading h2{margin:5px 0 0}.tracker-heading .eyebrow{margin:0}.tracker-heading button{box-shadow:none}.active-workout-card{margin-top:18px;padding:18px;border:1px solid #3b536d;border-radius:18px;background:#111b28}.active-workout-card h3{margin:0}.active-workout-meta{margin:3px 0 16px;color:var(--muted);font-size:13px}.exercise-tracker{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 12px;padding:15px 0;border-top:1px solid #334052}.exercise-tracker:first-of-type{border-top:0}.exercise-check{width:21px;height:21px;margin-top:3px;accent-color:var(--blue2)}.exercise-tracker strong{display:block}.exercise-tracker p{margin:3px 0 10px;color:var(--muted);font-size:13px}.exercise-progress{display:grid;grid-template-columns:minmax(88px,1fr) minmax(120px,1fr) auto;gap:8px}.exercise-progress label{font-size:12px}.exercise-progress input{min-width:0;padding:9px}.exercise-progress button{align-self:end;padding:10px 13px;box-shadow:none}.rep-counter{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}.rep-counter button{min-height:42px;padding:7px;font-size:22px;font-weight:800}.exercise-save-status{min-height:18px;margin:6px 0 0;color:#9dceff;font-size:12px}.finish-workout{width:100%;margin-top:16px}.workout-history{margin-top:24px}.workout-history h3{margin-bottom:10px}.history-item{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid #334052}.history-item strong{display:block}.history-item time{color:var(--muted);font-size:12px;white-space:nowrap}.empty-history{color:var(--muted)}.start-day{width:100%;margin-top:10px;box-shadow:none}.start-day:disabled,.finish-workout:disabled{cursor:not-allowed;opacity:.5}@media(max-width:520px){.tracker-heading{align-items:stretch;flex-direction:column}.exercise-progress{grid-template-columns:1fr 1fr}.exercise-progress>.exercise-save{grid-column:1/-1}.history-item{align-items:flex-start;flex-direction:column}.history-item time{white-space:normal}}
.plan-exercise{padding:.75rem 0;border-top:1px solid rgba(255,255,255,.1)}
.plan-exercise>p{margin:.15rem 0 .45rem}
.exercise-guide{margin:.5rem 0;padding:.65rem .75rem;border:1px solid rgba(113,168,255,.3);border-radius:12px;background:rgba(13,24,46,.55)}
.exercise-guide>summary{cursor:pointer;color:#bcd7ff;font-weight:700;min-height:2.25rem;display:flex;align-items:center}
.exercise-guide>p,.exercise-guide>ol,.exercise-guide>ul{font-size:.92rem;line-height:1.5}
.exercise-purpose{color:#dbe9ff;font-weight:600}
.exercise-demo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:.75rem 0}
.exercise-demo-frame{display:flex;flex-direction:column;align-items:center;padding:.45rem;border-radius:10px;background:rgba(4,10,24,.55)}
.exercise-demo-frame svg{width:92px;height:112px;overflow:visible}
.exercise-demo-frame circle{fill:#7eb0ff}.exercise-demo-frame path{fill:none;stroke:#dce9ff;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.exercise-demo-frame small{color:#c7d7ec;font-weight:650}
.exercise-photo-demo{margin:.75rem 0;overflow:hidden;border-radius:12px;background:rgba(4,10,24,.55)}
.exercise-photo-demo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.exercise-photo-demo img[data-enlarge-ready]{cursor:zoom-in;outline-offset:-3px}.exercise-photo-demo.enlarged{position:fixed;inset:12px;z-index:20;display:grid;place-items:center;margin:0;padding:18px;background:#050910f2}.exercise-photo-demo.enlarged img{width:min(100%,980px);max-height:calc(100vh - 90px);aspect-ratio:auto;object-fit:contain;cursor:zoom-out}.exercise-photo-demo.enlarged figcaption{width:min(100%,980px)}body.demo-viewing{overflow:hidden}
#form-check-preview.selfie-preview{transform:scaleX(-1)}
.exercise-photo-demo figcaption{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:.5rem .7rem;color:#c7d7ec;font-size:.82rem;font-weight:650;text-align:center}
.exercise-swap{display:grid;gap:.55rem;margin-top:.8rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.12)}
.exercise-swap label{display:grid;gap:.35rem;font-weight:700}
.exercise-swap select{width:100%;padding:.65rem;border-radius:9px;background:#101a2d;color:#f7fbff;border:1px solid #5574a6}
.exercise-browser{margin:20px 0;padding:18px;border:1px solid #3b536d;border-radius:18px;background:#111b28}.exercise-browser h3{margin:4px 0}.exercise-browser>label{display:block;margin-top:14px;font-weight:700}.exercise-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;margin-top:6px}.exercise-search-row input{min-width:0;width:100%}.exercise-filter-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.exercise-filter-row label{font-weight:700}.exercise-filter-row select{display:block;width:100%;margin-top:6px}.exercise-search-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px}.exercise-search-card{min-width:0;padding:14px;border:1px solid rgba(113,168,255,.24);border-radius:14px;background:rgba(4,10,24,.4)}.exercise-search-card h4{margin:0}.exercise-search-card>p{margin:.3rem 0;color:var(--muted)}.exercise-search-card .exercise-guide{margin-bottom:0}@media(max-width:700px){.exercise-search-row{grid-template-columns:1fr 1fr}.exercise-search-row input{grid-column:1/-1}.exercise-search-row button{width:100%}}@media(max-width:420px){.exercise-search-row,.exercise-filter-row{grid-template-columns:1fr}}
.custom-workout-builder,.saved-custom-workouts{margin-top:18px;padding-top:18px;border-top:1px solid #334052}.custom-workout-builder>label{display:grid;gap:6px}.custom-workout-builder ol{padding-left:24px}.custom-workout-builder li,.saved-custom-workout{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0;padding:10px;border-radius:10px;background:#0b1522}.saved-custom-workout{align-items:flex-start;flex-wrap:wrap}.saved-custom-workout p{flex:1 1 100%;margin:0;color:var(--muted)}.custom-workout-builder button,.saved-custom-workout button{box-shadow:none}@media(max-width:520px){.custom-workout-builder li,.saved-custom-workout{align-items:stretch;flex-direction:column}.saved-custom-workout button{width:100%}}
.swap-note{padding:.65rem;border-left:3px solid #78aaf8;background:rgba(66,117,195,.12)}
@media (prefers-reduced-motion:reduce){.exercise-guide *{scroll-behavior:auto!important}}
.form-check-card{padding:24px}.form-check-card h2{margin-top:0}.form-check-card>.camera-frame{min-height:220px}.form-check-card video{min-height:220px;object-fit:cover}.form-check-action{width:100%;margin-top:.75rem;box-shadow:none}
.form-check-demo{margin:.65rem 0 1rem}.form-feedback{margin-top:.8rem;padding:.75rem;border:1px solid #355a7b;border-radius:12px;background:#0d1c2d}.form-feedback small{color:#8fc9ff;font-weight:800;letter-spacing:.08em}.form-feedback p{margin:.45rem 0;color:#dce9f7}.form-feedback strong{color:#fff}
.camera-consent.needs-attention{padding:8px;border:1px solid #68b9ff;border-radius:12px;background:#16314a;box-shadow:0 0 0 3px #348de633}.camera-consent.needs-attention input{outline:3px solid #68b9ff;outline-offset:3px}
/* Keep the custom editor readable within narrow member panels. */
#custom-workout-exercises li{display:flex;flex-direction:column;gap:10px;min-width:0;margin-bottom:18px}#custom-workout-exercises label{display:flex;flex-direction:column;min-width:0;gap:6px}#custom-workout-exercises input{width:100%;min-width:0;box-sizing:border-box}.saved-custom-workout{overflow-wrap:anywhere}.saved-custom-workout>button{margin:4px 4px 4px 0;max-width:100%;white-space:normal}
.workout-location{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);gap:20px;align-items:end;margin:18px 0;padding:18px}.workout-location.hidden{display:none}.workout-location h3{margin:4px 0}.workout-location p{margin-bottom:0}.workout-location label{font-weight:700}.workout-location select{display:block;width:100%;margin-top:6px}.workout-location .note{grid-column:1/-1;margin:0}@media(max-width:620px){.workout-location{grid-template-columns:1fr}}
