/* Shared scene geometry follows the existing 1600 × 900 lecture canvas. */
.layout-scene main{display:block;padding-top:1px}
.pump-scene{height:100%;min-height:0}
.scene-live{height:100%;display:flex;flex-direction:column;gap:7px}
.scene-message{font-size:28px;line-height:1.25;min-height:36px;color:var(--ink);font-weight:500}
.scene-canvas{height:440px;width:100%;flex:none}
.scene-canvas svg{display:block;width:100%;height:100%;overflow:visible;font-family:'IBM Plex Sans',Arial,sans-serif}
.scene-status{font-size:22px;line-height:1.25;min-height:29px;color:var(--muted);font-variant-numeric:tabular-nums}
.scene-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:3px}
.scene-step-controls,.scene-modes{display:flex;gap:9px;align-items:center}
.scene-nav button{font-size:20px;line-height:1.1;padding:9px 13px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:3px}
.scene-nav button:hover,.scene-nav button:focus-visible{background:#EEE9DD;outline:2px solid var(--orange);outline-offset:2px}
.scene-nav button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:var(--paper)}
.scene-nav button:disabled{opacity:.35;cursor:default}
.scene-progress{font-size:19px;color:var(--muted);max-width:560px;white-space:nowrap}
.scene-sliders{display:flex;align-items:center;gap:28px;padding:3px 0;min-height:58px}
.scene-range{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px;max-width:680px;font-size:20px;line-height:1.2}
.scene-range output{font-variant-numeric:tabular-nums;font-weight:600;color:var(--blue);margin-left:8px}
.scene-range input{width:100%;height:25px;margin:0;accent-color:var(--blue);cursor:ew-resize}
.scene-range input:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.scene-print,.print-keyframe{display:none}
.scene-fallback{height:100%}
.scene-print-caption{font-size:23px;line-height:1.35;color:var(--muted);margin-top:16px}
@media print{
 .scene-live{display:none!important}.scene-print{display:block}.scene-print .scene-canvas{margin-top:12px}
 .print-keyframe{position:relative;display:flex;flex-direction:column;width:1600px;height:900px;padding:55px 76px 45px;background:var(--paper);break-after:page;page-break-after:always;overflow:hidden}
 .print-keyframe main{display:block;padding-top:1px}
 .print-keyframe:last-child{break-after:auto;page-break-after:auto}
}
@media(prefers-reduced-motion:reduce){.scene-canvas *{transition:none!important;animation:none!important}}
