/* Scoped to the authored lab renderer; no page-wide animation or input movement. */
.lab-scene{--ls-ink:#334155;--ls-muted:#526176;--ls-paper:#f8fafc;--ls-gold:#b28a42;--ls-line:#cad4df;box-sizing:border-box;width:100%;max-width:100%;min-width:0;margin:1rem 0;padding:clamp(.75rem,2vw,1.5rem);border:1px solid var(--ls-line);border-radius:18px;background:var(--ls-paper);color:var(--ls-ink);overflow:hidden}
.lab-scene .lv-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}
.lab-scene .lv-heading-copy{min-width:0;flex:1}
.lab-scene .lv-kicker{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ls-muted)}
.lab-scene .lv-title{font-family:inherit;font-size:clamp(1rem,2vw,1.25rem);line-height:1.35;margin:.35rem 0;overflow-wrap:anywhere;color:var(--ls-ink)}
.lab-scene .lv-pause{flex:none;min-height:44px;min-width:44px;max-width:9rem;padding:.55rem .7rem;border:1px solid var(--ls-line);border-radius:10px;background:transparent;color:var(--ls-ink);font:inherit;font-size:.8rem;line-height:1.25;cursor:pointer;touch-action:manipulation}
.lab-scene .lv-pause:focus-visible{outline:3px solid var(--ls-gold);outline-offset:3px}
.lab-scene .lv-pause:disabled{cursor:default;color:var(--ls-muted);opacity:.8}
.lab-scene .ls-stage{display:block;width:100%;height:auto;aspect-ratio:620/340;min-width:0;max-width:100%;overflow:visible;color:var(--ls-ink)}
.lab-scene .ls-stage :is(path,rect,circle){fill:var(--ls-paper);stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lab-scene .ls-stage .ls-line{fill:none}
.lab-scene .ls-stage .ls-route{fill:none;stroke:var(--ls-gold);stroke-width:1.8;stroke-dasharray:5 6;opacity:.7}
.lab-scene .ls-stage .ls-divider{fill:none;stroke:var(--ls-line);stroke-dasharray:3 6}
.lab-scene .ls-stage .ls-boundary{fill:none;stroke:var(--ls-line);stroke-dasharray:8 4}
.lab-scene .ls-stage .ls-focus rect{fill:var(--ls-gold);fill-opacity:.14;stroke:var(--ls-gold)}
.lab-scene .ls-packet{color:var(--ls-gold)}
.lab-scene .ls-stage text{font-family:inherit;fill:currentColor;stroke:none;font-size:16px;font-weight:500}
.lab-scene .ls-stage .ls-unavailable{font-size:17px}
.lab-scene .ls-timeline{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:.25rem 0 .8rem;gap:.5rem;font-size:.8rem;line-height:1.4;color:var(--ls-muted)}
.lab-scene .ls-timeline li{border-top:3px solid var(--ls-line);padding-top:.45rem;overflow-wrap:anywhere}
.lab-scene .ls-timeline li.is-current{border-top-color:var(--ls-gold);color:var(--ls-ink);font-weight:600}
.lab-scene .lv-caption{display:flex;flex-direction:column;gap:.3rem;font-size:.78rem;line-height:1.5;color:var(--ls-muted);overflow-wrap:anywhere}
.lab-scene .lv-context{font-weight:600}
.lab-scene .lv-note{font-style:normal}
:root[data-theme="dark"] .lab-scene{--ls-ink:#e2e8f0;--ls-muted:#b0bfd0;--ls-paper:#172334;--ls-gold:#d2b16e;--ls-line:#40516a}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .lab-scene{--ls-ink:#e2e8f0;--ls-muted:#b0bfd0;--ls-paper:#172334;--ls-gold:#d2b16e;--ls-line:#40516a}}
@media(max-width:390px){.lab-scene .lv-heading{gap:.5rem}.lab-scene .lv-pause{max-width:6.5rem;font-size:.75rem}.lab-scene .ls-timeline{font-size:.75rem;gap:.4rem}.lab-scene .ls-stage text{font-size:18px}}
