.movement-library{margin:clamp(28px,5vw,70px) 0;background:var(--ambient-surface,var(--white));border:1px solid color-mix(in srgb,var(--ambient-line,var(--line)) 75%,transparent);border-radius:var(--ambient-panel-radius,14px);box-shadow:0 22px 55px #0c17122b;overflow:hidden;background-image:linear-gradient(145deg,color-mix(in srgb,var(--ambient-surface,var(--white)) 92%,transparent),color-mix(in srgb,var(--ambient-soft,var(--wash)) 85%,transparent)),var(--ambient-material-texture)}
.movement-library>details>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px clamp(20px,4vw,38px);cursor:pointer;list-style:none;color:var(--ambient-ink,var(--ink))}
.movement-library>details>summary::-webkit-details-marker{display:none}
.movement-library>details>summary strong{display:block;margin-top:4px;font:clamp(1.35rem,2.6vw,2rem)/1.1 Georgia,serif}
.movement-library>details>summary>span:last-child{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border:1px solid var(--ambient-line,var(--line));border-radius:50%;background:var(--lesson-primary,var(--ambient-primary,var(--green)));color:var(--lesson-paper,#fff);transition:transform .2s ease}
.movement-library>details[open]>summary>span:last-child{transform:rotate(90deg)}
.movement-library>details[open]>summary{border-bottom:1px solid var(--ambient-line,var(--line))}
.movement-video-shell{display:grid;grid-template-columns:minmax(210px,.72fr) minmax(0,1.65fr);gap:clamp(18px,3vw,34px);padding:clamp(18px,3vw,32px)}
.movement-playlist h3,.movement-player h3{margin:0 0 8px}
.movement-playlist-intro{margin:0 0 14px;color:var(--muted)}
.movement-choices{display:grid;gap:7px;max-height:520px;overflow:auto;padding:2px 8px 2px 2px;scrollbar-color:color-mix(in srgb,var(--lesson-primary,#3b3025) 82%,var(--lesson-paper,#fff)) transparent}
.movement-choice{display:grid;grid-template-columns:32px 1fr;align-items:center;gap:10px;width:100%;padding:10px 12px;text-align:left;border:1px solid color-mix(in srgb,var(--ambient-line,var(--line)) 72%,transparent);border-radius:var(--ambient-button-radius,8px);background:color-mix(in srgb,var(--ambient-surface,var(--white)) 90%,transparent);color:var(--ambient-ink,var(--ink));cursor:pointer}
.movement-choice:hover{border-color:var(--lesson-primary,var(--ambient-primary,var(--green)));transform:translateY(-1px)}
.movement-choice[aria-pressed=true]{background:var(--lesson-primary,var(--ambient-primary,var(--green)));color:var(--lesson-paper,#fff);border-color:var(--lesson-primary,var(--ambient-primary,var(--green)));box-shadow:inset 4px 0 0 color-mix(in srgb,var(--lesson-accent,#b9975b) 72%,var(--lesson-primary,#3b3025))}
.movement-choice-index{display:grid;place-items:center;width:28px;height:28px;border:1px solid currentColor;border-radius:50%;font:700 11px/1 sans-serif;opacity:.82}
.movement-player{min-width:0}
.movement-player-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:12px}
.movement-player-heading p{margin:5px 0 0;color:var(--muted)}
.movement-count{white-space:nowrap;padding:6px 9px;border:1px solid var(--ambient-line,var(--line));border-radius:999px;font:700 11px/1 sans-serif;letter-spacing:.08em}
.movement-stage{position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--ambient-line,var(--line));border-radius:calc(var(--ambient-panel-radius,14px) * .75);background:var(--lesson-primary,var(--ambient-primary,var(--green)));box-shadow:inset 0 0 0 1px #fff2,0 14px 35px #0c171124}
.movement-stage canvas{display:block;width:100%;height:100%;object-fit:contain;background:var(--lesson-primary,var(--ambient-primary,var(--green)))}
.movement-stage.is-preparing::after{content:attr(data-preparing-label);position:absolute;inset:auto 16px 16px;display:block;padding:10px 13px;border-radius:999px;background:#0d1815d9;color:#fff;font:700 12px/1 sans-serif;letter-spacing:.04em;text-align:center;backdrop-filter:blur(8px)}
.movement-video-description{min-height:3em;margin:14px 0 10px;color:var(--ambient-ink,var(--ink));line-wrap:pretty}
.movement-video-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.movement-play{border:1px solid color-mix(in srgb,var(--lesson-primary,#3b3025) 78%,#000);border-radius:var(--ambient-button-radius,8px);padding:12px 17px;background:var(--lesson-primary,var(--ambient-primary,var(--green)));color:var(--lesson-paper,#fff);font-weight:800;cursor:pointer;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--lesson-paper,#fff) 20%,transparent)}
.movement-play:disabled{opacity:.6;cursor:wait}
.movement-timeline{flex:1 1 180px;min-width:140px;accent-color:var(--lesson-primary,var(--ambient-primary,var(--green)));cursor:pointer}
.movement-video-status{margin:0;color:var(--muted);font-size:.88rem}
.movement-video-note{grid-column:1/-1;margin:0;padding-top:4px;color:var(--muted);font-size:.82rem}
@media(max-width:760px){.movement-video-shell{grid-template-columns:minmax(0,1fr);min-width:0}.movement-playlist,.movement-player{min-width:0}.movement-stage{width:100%;max-width:100%}.movement-stage canvas{max-width:100%}.movement-choices{display:flex;max-height:none;overflow:auto;scroll-snap-type:x proximity;padding-bottom:8px;max-width:100%}.movement-choice{min-width:min(250px,75vw);scroll-snap-align:start}.movement-video-note{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.movement-library>details>summary>span:last-child,.movement-choice{transition:none}.movement-choice:hover{transform:none}}
