.move-fit-viewer[data-studio-view] {
  --viewer-gap:0; width:100%; height:100dvh; max-width:none; border:0; border-radius:0;
  color:#354633; background:#ede6d4 url('/assets/movement-guides/full-body-motion/studio-background.webp') center/cover no-repeat;
}
.move-fit-viewer[data-studio-view] .guide-viewer-top { background:#faf6ebee; }
.move-fit-viewer[data-studio-view] .move-fit-stage {background:transparent}
.workout-view-switch,.workout-sections {
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap;
  gap:4px; margin:8px auto; padding:4px; border-radius:30px; background:#fbf7ecee;
}
.workout-view-switch { flex:none;max-width:96% }
.workout-view-switch button,.workout-sections button,.workout-studio-panel button {
  cursor:pointer; color:#354633; background:transparent; border:0; border-radius:24px;
  padding:8px clamp(10px,2vw,28px); font:500 14px/1.25 'DM Sans',sans-serif; min-height:42px;
}
.workout-view-switch button[aria-pressed=true],.workout-studio-panel .workout-primary,.workout-placeholder button,.workout-studio-panel>.finish-card+button {background:#526340;color:white}
.workout-sections button[aria-current=step] {background:#546540;color:white;font-weight:600}
.workout-studio-panel { position:absolute;inset:0;overflow:auto;overscroll-behavior:contain;padding:0 clamp(12px,4vw,64px) 18px; }
.move-fit-viewer > .workout-sections {flex:none;width:min(80%,1440px);max-width:100%;margin:0 auto 12px;background:#faf7eb;border:1px solid #c5cbb4;box-shadow:0 2px 5px #35463312}
.move-fit-viewer:is([data-studio-view="Full Sequence"],[data-studio-view="One Move"]) :is(.guide-viewer-image,.move-fit-notes,.guide-viewer-status,.move-fit-pagination,.guide-viewer-actions,.move-guide-notice) {display:none}
/* Full Sequence uses the same illustrated sheet and footer as the Low Impact studio. */
.workout-placeholder,.workout-sequence-sheet {background:#fbf7effa;border-radius:24px;padding:clamp(12px,1.5dvh,20px)}
.workout-cover {width:100%;height:clamp(80px,18dvh,185px);object-fit:contain;display:block}
.move-fit-viewer[data-studio-view] .guide-viewer-top .eyebrow {display:none}
.workout-view-switch {width:min(45vw,850px);min-width:min(390px,96%)}
.workout-view-switch button,.workout-sections button {flex:1}
.workout-view-switch button {white-space:nowrap;padding-inline:clamp(7px,1vw,20px)}

.workout-sequence-sheet {width:100%;box-sizing:border-box}
.workout-sheet-header {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:clamp(10px,2dvh,22px);font:400 clamp(14px,1.25vw,21px)/1.35 'DM Sans',sans-serif}
.workout-sheet-header h3 {font:inherit;margin:0;letter-spacing:0}
.workout-sheet-header span {flex:none;white-space:nowrap}
.workout-pose-grid {list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,1.3vw,25px)}
.workout-pose {display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:flex-start;min-width:0;padding:clamp(8px,1vw,16px);border:1px solid #dfdfcf;border-radius:14px;background:#faf8ef;color:#354633}
.workout-pose-art {display:block;width:100%;height:clamp(84px,min(20vw,32dvh),330px);object-fit:contain;mix-blend-mode:multiply}
.workout-pose strong {margin-top:8px;font:650 clamp(16px,1.45vw,26px)/1.14 'DM Sans',sans-serif}
.workout-pose small {margin-top:4px;font:400 clamp(13px,1vw,19px)/1.3 'DM Sans',sans-serif;color:#55614d}
.workout-sequence-actions {display:flex;justify-content:center;gap:8px;max-width:940px;margin:clamp(10px,2dvh,22px) auto}
.workout-sequence-actions button {min-height:46px;border:1px solid #eeeadf;background:#fffaf1}
.workout-sequence-actions button:disabled {color:#69725f}
.workout-sequence-actions .workout-primary {flex:1;background:#526340;color:white}
.workout-notes {font-size:13px;background:#fbf7ef;padding:7px 14px;border-radius:12px;margin-top:8px}
.workout-notes summary {cursor:pointer}
.workout-placeholder,.workout-studio-panel .finish-card {margin:clamp(12px,4dvh,40px) auto 0;max-width:580px;text-align:center}
.workout-placeholder .workout-cover {margin-bottom:18px}
.workout-studio-panel .finish-card {min-height:min(62dvh,510px)}
.workout-studio-panel>.finish-card+button {display:block;margin:10px auto 0}
@media(max-width:700px) {
 .workout-view-switch {width:94%;min-width:0}
 .workout-view-switch button,.workout-sections button {padding:7px 8px;font-size:12px;min-height:40px}
 .move-fit-viewer > .workout-sections {width:94%;margin-bottom:8px}
 .workout-pose-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .workout-pose-art {height:clamp(80px,min(37vw,27dvh),195px)}
 .workout-sequence-sheet {padding:12px;border-radius:17px}
 .workout-pose {padding:7px}
}

/* Keep paging controls visible even when expanded notes or larger text need to scroll. */
.workout-studio-panel:has(> .workout-sequence-content) {
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding-bottom:max(8px,env(safe-area-inset-bottom));
}
.workout-sequence-content {
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
}
.workout-sequence-actions {
  flex:none;
  width:min(100%,940px);
  margin:clamp(6px,1.4dvh,14px) auto 0;
}

.workout-sections[hidden] {display:none}
.flow-player {
  display:grid;grid-template-columns:minmax(225px,0.85fr) minmax(0,2fr);
  grid-template-areas:"cue film" "cue controls" "cue status";
  width:min(100%,1130px);margin:0 auto;background:#faf7ef;color:#344333;
  border-radius:18px;overflow:hidden;
}
.move-fit-viewer:has(.flow-player) {box-shadow:none}
.move-fit-viewer:has(.flow-player)::backdrop {background:#f6f0e3;backdrop-filter:none}
.flow-screen {
  grid-area:film;display:grid;place-items:center;min-width:0;background:#efe6d4;
}
.flow-film {
  display:block;width:min(100%,79.06dvh,762px);height:auto;aspect-ratio:768/544;
  background:#efe6d4;border:0;box-shadow:none;
}
.flow-controls {
  grid-area:controls;display:flex;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid #d9d3c2;
}
.flow-controls button {padding:8px 18px;min-height:42px;color:#344633;border:1px solid #84916f}
.flow-controls button:first-child {background:#526340;color:white}
.flow-controls button:disabled {opacity:.6;cursor:default}
.flow-time {white-space:nowrap;font:500 14px/1.3 'DM Sans',sans-serif;font-variant-numeric:tabular-nums}
.flow-seek {flex:1;min-width:35px;height:32px;accent-color:#536749;cursor:pointer}
.flow-cue {
  grid-area:cue;display:flex;flex-direction:column;justify-content:center;
  padding:clamp(20px,2.4vw,36px);border-right:1px solid #d9d3c2;
}
.flow-status {grid-area:status}
.flow-status:empty {display:none}
.flow-breath {color:#844b2e;font:600 12px/1.4 'DM Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase}
.flow-cue h3 {margin:6px 0 12px;font:400 clamp(24px,3.6vh,36px)/1.08 'Instrument Serif',Georgia,serif}
.flow-cue p,.flow-status {margin:0;font:400 clamp(14px,1.2vw,17px)/1.4 'DM Sans',sans-serif}
.flow-status:not(:empty) {padding:0 18px 12px}
.flow-controls :focus-visible {outline:2px solid #465a39;outline-offset:2px}
.flow-color-filter {position:absolute;pointer-events:none}
@media(min-width:701px){
  .flow-player {
    --cue-width:clamp(208px,20vw,260px);
    width:min(100%,calc(var(--cue-width) + min(79.06dvh,762px)));
    grid-template-columns:var(--cue-width) minmax(0,1fr);
  }
  .flow-film {width:100%}
  .flow-cue {padding:clamp(16px,1.5vw,24px)}
  /* Match the square Sun B film and its letterboxing to the ivory stage. */
  .flow-player[data-flow="root-chakra-flow"] .flow-film {
    background:#f3e0d4;filter:url(#quinn-sun-b-ivory);
  }
  .flow-player[data-flow="root-chakra-flow"] .flow-cue {border-right:0}
  .flow-player[data-flow="root-chakra-flow"] .flow-controls {border-top:0}
}
@media(max-width:700px){
  .flow-player {grid-template-columns:minmax(0,1fr);grid-template-areas:"cue" "film" "controls" "status"}
  .flow-film {width:min(100%,63.53dvh)}
  .flow-controls {gap:5px;padding:8px}
  .flow-controls button {padding:7px 10px}
  .flow-cue {box-sizing:border-box;min-height:9rem;padding:12px 16px;border-right:0;border-bottom:1px solid #d9d3c2}
  .flow-cue h3 {margin:3px 0 5px}
}

/* A separate, illustrated welcome card floats above the open workout studio. */
.yoga-welcome {
  --studio-header:54px;--edge:clamp(12px,2.4vh,30px);
  position:fixed;inset:var(--studio-header) 0 0;box-sizing:border-box;margin:auto;
  width:min(960px,calc(100% - 2 * var(--edge)));max-width:none;
  max-height:calc(100dvh - var(--studio-header) - 2 * var(--edge));padding:0;overflow:auto;
  border:1px solid #d6c8ae;border-radius:24px;color:#354731;text-align:center;
  background:#faf7ee url('/assets/movement-guides/full-body-motion/studio-background.webp') center/cover no-repeat;
  box-shadow:0 18px 64px #263b3055;
}
.yoga-welcome::backdrop {background:#30433580;backdrop-filter:blur(5px);clip-path:inset(var(--studio-header,54px) 0 0)}
.yoga-invitation {
  box-sizing:border-box;display:flex;align-items:center;justify-content:center;flex-direction:column;
  width:100%;padding:clamp(38px,5dvh,64px) clamp(18px,4vw,60px) clamp(22px,3.8dvh,48px);
  background:linear-gradient(90deg,transparent,#faf6ebcf 25%,#fbf6ebee 50%,#faf6ebcf 75%,transparent);
}
.yoga-welcome-close {
  position:absolute;top:10px;right:10px;width:44px;height:44px;padding:0;
  border:1px solid #66745133;border-radius:50%;color:#354731;background:#faf7eee8;
  font:400 28px/1 system-ui;cursor:pointer;
}
.yoga-welcome button:focus-visible {outline:2px solid #536440;outline-offset:3px}
.yoga-room {font:600 clamp(11px,1.4dvh,16px) 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.22em}
.yoga-invitation h3,.yoga-flow-title {font-family:'Instrument Serif',Georgia,serif;font-weight:400;line-height:1.04}
.yoga-invitation h3 {margin:.24em 0 .22em;font-size:clamp(46px,8.8dvh,91px)}
.yoga-flow-title {margin:0;font-size:clamp(34px,5.9dvh,64px)}
.yoga-subtitle,.yoga-signoff {font:italic 400 clamp(20px,3.1dvh,32px)/1.12 'Instrument Serif',Georgia,serif}
.yoga-subtitle {margin:.24em 0 .62em}
.yoga-description {max-width:47ch;margin:.65em 0 0;font:400 clamp(15px,2.1dvh,22px)/1.4 'DM Sans',sans-serif;text-wrap:balance}
.yoga-sprout {display:block;width:clamp(142px,23dvh,255px);height:auto;margin:clamp(5px,1.1dvh,12px) 0}
.yoga-tags {display:flex;justify-content:center;flex-wrap:wrap;gap:6px 10px;margin:0;padding:0;list-style:none}
.yoga-tags li {padding:.35em 1em;border:1px solid #cbbd9d;border-radius:24px;background:#faf6ecdd;font:400 clamp(12px,1.7dvh,17px)/1.3 'DM Sans',sans-serif}
.yoga-choices {width:min(100%,465px);display:grid;gap:8px;margin-top:clamp(15px,2.7dvh,32px)}
.yoga-choices button {cursor:pointer;width:100%;min-height:44px;padding:.52em .8em;background:#faf5e8f2;color:#354731;border:1px solid #ab997a;border-radius:18px;font:400 clamp(20px,2.6dvh,28px)/1.15 Georgia,serif}
.yoga-choices button:first-child {color:#fff;background:#485b38;box-shadow:inset 0 0 0 2px #485b38,inset 0 0 0 3px #faf5e8;border-color:#485b38}
.yoga-choices button span {margin-left:.5em}
.yoga-choices button:hover {filter:brightness(.95)}
.yoga-signoff {margin:clamp(12px,2.2dvh,25px) 0 0;color:#58613e}
@media (max-width:700px), (pointer:coarse) and (max-width:1000px) and (max-height:500px) {
  .yoga-welcome {--edge:12px;width:min(30rem,calc(100% - 2 * var(--edge)));border-radius:20px}
  .yoga-invitation {
    padding:46px clamp(16px,5vw,24px) 20px;
    background:linear-gradient(90deg,#faf3e6aa,#faf6edee 25%,#faf6edee 75%,#faf3e6aa);
  }
  .yoga-room,.yoga-subtitle,.yoga-signoff,.yoga-tags li {color:#536149}
  .yoga-flow-title {color:#904b37}
  .yoga-description {color:#48453f}
  .yoga-room {font-size:.6875rem;letter-spacing:.15em;line-height:1.4}
  .yoga-invitation h3 {font-size:clamp(1.75rem,calc(1.25rem + 2.5vw),2rem);line-height:1.12;margin:.32em 0 .48em}
  .yoga-flow-title {font-size:1.5rem;line-height:1.15}
  .yoga-subtitle {font-size:1.125rem;line-height:1.25;margin:.2em 0 .7em}
  .yoga-description {font-size:1rem;line-height:1.45;max-width:34ch}
  .yoga-sprout {width:7rem;margin:8px 0}
  .yoga-tags {gap:5px}
  .yoga-tags li {font-size:.75rem;padding:.35em .66em}
  .yoga-choices {margin-top:16px}
  .yoga-choices button {font-size:1.0625rem;line-height:1.3}
  .yoga-signoff {font-size:1.0625rem;line-height:1.3;margin-top:12px}
}
/* Quinn's desktop practice sheets pair each section's original poses with its central phrase. */
.has-practice-map :is(.guide-viewer-image,.guide-viewer-status,.quinn-guide-spread,.move-fit-pagination),
.move-fit-stage:has(.move-fit-notes:not([hidden])) .quinn-practice {display:none}
.quinn-practice {
  --ink:#876044;--wash:#f2e3cd;position:absolute;inset:3px clamp(14px,3vw,65px) 6px;
  overflow:auto;background:#faf7ee;color:#344333;border:1px solid #d2c7ac;
  border-radius:5px;box-shadow:0 4px 20px #42341914;
}
.quinn-practice[data-tone=sacral] {--ink:#a1502c;--wash:#f8e3c7}
.quinn-practice[data-tone=rest] {--ink:#8b5357;--wash:#f1ded8}
.practice-sheet {
  box-sizing:border-box;isolation:isolate;position:relative;display:grid;height:100%;min-height:365px;
  grid-template:repeat(3,minmax(0,1fr))/repeat(12,minmax(0,1fr));
  padding:clamp(8px,1.5vh,18px) clamp(14px,2vw,34px);
  background:radial-gradient(ellipse at 50% 50%,var(--wash),transparent 45%),#faf7ee;
}
.practice-sheet::before {
  content:"";position:absolute;inset:11% 9%;border:1px dashed color-mix(in srgb,var(--ink) 31%,transparent);
  border-radius:50%;z-index:-1;
}
.practice-mantra {grid-area:2/4/3/-4;align-self:center;text-align:center;color:var(--ink)}
.practice-theme {display:block;font:600 11px/1.2 'DM Sans',sans-serif;letter-spacing:.16em;text-transform:uppercase}
.practice-mantra h3 {margin:.2em 0 0;font:italic 400 clamp(26px,min(3.3vw,4.4vh),54px)/1.03 'Instrument Serif',Georgia,serif}
.practice-mantra h3 span {display:block}
.practice-poses {display:grid;grid-template:subgrid/subgrid;grid-area:1/1/-1/-1;padding:0;margin:0;list-style:none;pointer-events:none}
.practice-pose {
  display:grid;grid-template-rows:minmax(0,1fr) auto auto;justify-items:center;align-items:end;min-height:0;
  text-align:center;padding:2px clamp(4px,.6vw,10px);align-self:stretch;
}
.practice-pose img {min-height:0;display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.practice-pose strong {font:600 clamp(13px,1.05vw,18px)/1.2 'DM Sans',sans-serif}
.practice-pose small {font:400 clamp(11px,.86vw,14px)/1.22 'DM Sans',sans-serif;color:#53634d}
.practice-number {color:var(--ink);font:500 .76em 'DM Sans',sans-serif;margin-right:.5em;font-variant-numeric:tabular-nums}
