.l-demo{position:absolute;inset:0;overflow:hidden;background:var(--bg)}
.monitor{position:absolute;inset:5% 6% 55%;overflow:hidden;border:1px solid var(--line);background:var(--surface)}
.shot{position:absolute;inset:0;overflow:hidden;padding:8px;color:#fff;font:700 clamp(8px,1vw,12px) ui-monospace,monospace;letter-spacing:.08em}
.speaker{background:linear-gradient(120deg,#394b51,#957454 52%,#403b36);animation:speaker-shot 4s steps(1,end) infinite}
.listener{background:linear-gradient(135deg,#425d62,#7b8c78 58%,#a68c69);opacity:0;animation:listener-shot 4s steps(1,end) infinite}
.person{position:absolute;left:42%;top:24%;width:17%;aspect-ratio:1;border-radius:50%;background:#d5ad86;box-shadow:0 42px 0 17px #263c43}
.listener .person{left:60%;top:31%;width:15%;background:#c99b73;box-shadow:0 38px 0 15px #344640}
.table{position:absolute;left:10%;right:10%;bottom:6%;height:15%;border-radius:50% 50% 0 0;background:#342f2a;opacity:.8}
.shot span{position:absolute;left:10px;bottom:8px;text-shadow:0 1px 4px #000}
.cue{position:absolute;right:8px;top:8px;padding:4px 6px;border:1px solid var(--line);background:var(--surface);color:var(--fg);font:700 clamp(7px,.9vw,11px) ui-monospace,monospace;letter-spacing:.04em;opacity:0;animation:cue 4s linear infinite}
.timeline{position:absolute;left:6%;right:6%;top:49%;bottom:6%;display:grid;grid-template-rows:repeat(3,minmax(0,1fr)) auto;gap:4px}
.track-row{display:grid;grid-template-columns:clamp(50px,8vw,96px) 1fr;gap:6px;align-items:stretch;min-height:0}
.track-row>b{display:flex;align-items:center;color:var(--muted);font:700 clamp(7px,1vw,11px) ui-monospace,monospace;letter-spacing:.07em}
.lane{position:relative;overflow:visible;min-width:0;border-bottom:1px solid var(--line)}
.clip{position:absolute;top:0;bottom:0;display:flex;align-items:center;overflow:hidden;padding:0 5px;white-space:nowrap;color:var(--fg);font:700 clamp(7px,1vw,12px) ui-monospace,monospace;letter-spacing:.025em}
.video-a{left:0;width:43%;border:1px solid var(--line);background:var(--surface)}
.video-b{left:43%;width:57%;border:1px solid var(--line);background:var(--surface)}
.voice{left:0;width:64%;border:1px solid var(--accent);background:var(--surface)}
.room-tone{left:43%;width:57%;border:1px solid var(--accent-2);background:var(--surface)}
.waveform:after{content:"";position:absolute;inset:27% 4px;background:repeating-linear-gradient(90deg,transparent 0 4px,currentColor 4px 5px,transparent 5px 8px);opacity:.34;pointer-events:none}
.voice:after{color:var(--accent)}.room-tone:after{color:var(--accent-2)}
.cut{position:absolute;z-index:2;left:43%;top:-2px;bottom:-2px;width:1px;background:var(--fg);opacity:.72}
.playhead{position:absolute;z-index:3;top:-3px;bottom:-3px;left:0;width:2px;background:var(--accent);animation:playhead 4s linear infinite}
.note{display:flex;align-items:center;gap:6px;color:var(--muted);font:700 clamp(7px,1vw,11px) ui-monospace,monospace;letter-spacing:.04em}
.note i{width:7px;aspect-ratio:1;border-radius:50%;background:var(--accent);animation:blink 4s linear infinite}
@keyframes speaker-shot{0%,42.9%{opacity:1}43%,100%{opacity:0}}
@keyframes listener-shot{0%,42.9%{opacity:0}43%,100%{opacity:1}}
@keyframes cue{0%,39%{opacity:0}44%,63%{opacity:1}70%,100%{opacity:0}}
@keyframes playhead{from{left:0}to{left:100%}}
@keyframes blink{0%,39%,69%,100%{opacity:.35}46%,62%{opacity:1}}