@keyframes springIn{0%{opacity:0;transform:scale(.8)translateY(12px)}50%{opacity:1;transform:scale(1.04)translateY(-2px)}70%{transform:scale(.98)translateY(1px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes springPop{0%{transform:scale(1)}40%{transform:scale(1.06)}70%{transform:scale(.97)}to{transform:scale(1)}}@keyframes chipSlide{0%{opacity:0;transform:translate(-10px)scale(.9)}60%{opacity:1;transform:translate(2px)scale(1.02)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideReveal{0%{opacity:0;max-height:0;transform:translateY(-8px)}to{opacity:1;max-height:600px;transform:translateY(0)}}@keyframes glowPulse{0%,to{box-shadow:0 0 0 0 rgba(var(--accent-orange-rgb,255,140,50),0)}50%{box-shadow:0 0 12px 2px rgba(var(--accent-orange-rgb,255,140,50),.25)}}.spring-in{animation:.45s cubic-bezier(.34,1.56,.64,1) both springIn}.spring-pop{animation:.3s cubic-bezier(.34,1.56,.64,1) both springPop}.chip-slide{animation:.35s cubic-bezier(.34,1.56,.64,1) both chipSlide}.fade-up{animation:.4s cubic-bezier(.22,1,.36,1) both fadeUp}.slide-reveal{animation:.35s cubic-bezier(.34,1.56,.64,1) both slideReveal;overflow:hidden}.delay-0{animation-delay:0s}.delay-1{animation-delay:50ms}.delay-2{animation-delay:.1s}.delay-3{animation-delay:.15s}.delay-4{animation-delay:.2s}.delay-5{animation-delay:.25s}.delay-6{animation-delay:.3s}.delay-7{animation-delay:.35s}.delay-8{animation-delay:.4s}.section-delay-0{animation-delay:0s}.section-delay-1{animation-delay:80ms}.section-delay-2{animation-delay:.16s}.section-delay-3{animation-delay:.24s}.section-delay-4{animation-delay:.32s}.section-delay-5{animation-delay:.4s}.voice-card{cursor:pointer;will-change:transform;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s,border-color .2s}.voice-card:hover{box-shadow:0 8px 24px #00000040,0 2px 8px rgba(var(--accent-orange-rgb,255,140,50),.15);transform:translateY(-4px)scale(1.03)}.voice-card:active{transition-duration:.1s;transform:translateY(-1px)scale(.98)}.voice-card.active{animation:2s ease-in-out infinite glowPulse;transform:scale(1.02);border-color:var(--accent-orange)!important;background:rgba(var(--accent-orange-rgb,255,140,50),.15)!important}.spark-chip{transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .15s,color .15s}.spark-chip:hover{transform:scale(1.08)}.spark-chip:active{transition-duration:80ms;transform:scale(.95)}.scale-card{transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s}.scale-card:hover{transform:translateY(-2px)scale(1.02)}.scale-card:active{transform:scale(.97)}.overrides-content{animation:.4s cubic-bezier(.34,1.56,.64,1) both slideReveal}.overrides-toggle{transition:color .15s}.overrides-toggle:hover{color:var(--text-secondary)!important}.overrides-toggle svg{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.overrides-toggle.open svg{transform:rotate(180deg)}
:root{--sl-bg:#131620;--sl-surface:#ffffff06;--sl-border:#ffffff0f;--sl-text:#c8c8d8;--sl-text-dim:#6a6a80;--sl-text-bright:#e8e8f8;--sl-rail:#c4a14a1a;--sl-rail-ping:#c4a14a4d;--sl-font:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--sl-mono:"Courier Prime","SF Mono","Courier New",monospace;--beat-hook:#b0936a;--beat-build:#5a5550;--beat-turn:#e8782a;--beat-payoff:#f5c842;--beat-payoff-glow:#f5c84266}.shot-list-panel{background:var(--sl-bg);border-left:1px solid var(--sl-border);min-width:280px;max-width:800px;height:100%;color:var(--sl-text);font-family:var(--sl-font);flex-direction:column;transition:width .1s ease-out;display:flex;overflow:hidden}.shot-list-header{border-bottom:1px solid var(--sl-border);background:var(--sl-surface);align-items:center;gap:10px;height:48px;padding:0 18px;display:flex}.shot-list-header--embedded{border-bottom:1px solid var(--sl-border);background:0 0;justify-content:flex-end;align-items:center;gap:10px;min-height:0;padding:2px 14px;display:flex}.shot-list-header h3{letter-spacing:.3px;color:var(--sl-text-bright);margin:0;font-size:14px;font-weight:700}.shot-count{color:var(--sl-text-dim);margin-left:auto;font-size:10px;font-weight:500}.shot-list-close{color:var(--sl-text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 6px;font-size:16px;transition:color .15s,background .15s}.shot-list-close:hover{color:#ff6b6b;background:#ff6b6b1a}.shot-list-body{flex:1;padding:8px 0;overflow-y:auto}.shot-list-body::-webkit-scrollbar{width:6px}.shot-list-body::-webkit-scrollbar-track{background:0 0}.shot-list-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.shot-scene-group{margin-bottom:0;padding:0 14px 6px}.shot-scene-group+.shot-scene-group{padding-top:4px}.shot-scene-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;padding:8px 0;display:flex}.shot-scene-number{color:#c4a14a;text-transform:uppercase;letter-spacing:.3px;background:#c4a14a1f;border-radius:3px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:700}.shot-scene-heading{color:#b0b0c8;text-transform:uppercase;letter-spacing:.3px;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:600;line-height:1.3;overflow:hidden}.shot-scene-chars{flex-wrap:wrap;gap:3px;display:flex}.shot-char-badge{color:#7b9fff;letter-spacing:.3px;text-transform:uppercase;background:#648cff1f;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:500}.shot-scene-dq{color:#8a8ab0;align-items:flex-start;gap:4px;padding:0 0 8px;font-size:11px;font-style:italic;line-height:1.4;display:flex}.dq-icon{flex-shrink:0;font-size:11px}.shot-timeline{padding:4px 0;position:relative}.shot-timeline-item{cursor:pointer;border-radius:6px;grid-template-columns:90px 28px 1fr;align-items:start;gap:0;min-height:48px;padding:0 4px;transition:background .15s;display:grid;position:relative}.shot-timeline-item:hover{background:#ffffff06}.shot-timeline-item:hover .shot-tl-delete{opacity:.5}.shot-tl-left{flex-direction:column;align-items:flex-end;gap:2px;min-width:0;padding:12px 8px 12px 0;display:flex}.shot-tl-number{color:var(--sl-text-dim);font-size:10px;font-weight:600;font-family:var(--sl-mono);line-height:1}.shot-tl-type{font-size:10px;font-weight:700;font-family:var(--sl-mono);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;line-height:1}.shot-tl-type--clickable{cursor:pointer;border-bottom:1px dashed #0000;padding-bottom:1px;transition:border-color .15s,color .15s}.shot-tl-type--clickable:hover{border-bottom-color:#9a8e8280;color:var(--sl-text-bright)!important}.shot-tl-type-wrapper{position:relative}.shot-tl-type-picker{z-index:300;background:#1e1e2e;border:1px solid #ffffff1f;border-radius:6px;flex-direction:column;gap:1px;min-width:100px;padding:4px;animation:.12s ease-out shot-picker-in;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #00000080}@keyframes shot-picker-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.shot-tl-type-option{width:100%;font-family:var(--sl-mono);text-transform:uppercase;letter-spacing:.3px;text-align:left;color:var(--sl-text);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:5px 10px;font-size:10px;font-weight:600;transition:background .1s,color .1s;display:block}.shot-tl-type-option:hover{color:var(--sl-text-bright);background:#ffffff0f}.shot-tl-type-option.is-active{color:#c4a14a;background:#c4a14a1a}.shot-tl-picker-section{flex-direction:column;gap:1px;display:flex}.shot-tl-picker-label{text-transform:uppercase;letter-spacing:.8px;color:var(--sl-text-dim);opacity:.6;padding:4px 10px 2px;font-size:8px;font-weight:700}.shot-tl-picker-divider{background:#ffffff14;height:1px;margin:3px 0}.shot-tl-movement{color:var(--sl-text-dim);font-size:9px;font-family:var(--sl-mono);opacity:.7;line-height:1}.shot-tl-rail{flex-direction:column;align-items:center;min-height:100%;display:flex;position:relative}.shot-tl-rail:before{content:"";background:var(--sl-rail);z-index:0;width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.shot-tl-rail.is-pingpong:before{background:var(--sl-rail-ping);width:2px}.shot-tl-dot{z-index:1;cursor:pointer;border:2px solid var(--sl-bg);border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:16px;transition:transform .15s,box-shadow .15s;position:relative}.shot-tl-dot:hover{transform:scale(1.5);box-shadow:0 0 0 3px #c4944a26}.shot-tl-dot[data-beat=payoff]{box-shadow:0 0 6px var(--beat-payoff-glow),0 0 12px #f5c84226}.shot-tl-dot[data-beat=payoff]:hover{box-shadow:0 0 8px var(--beat-payoff-glow),0 0 18px #f5c84240,0 0 0 3px #f5c8421f}.shot-tl-dot[data-beat=turn]{box-shadow:0 0 5px #e8782a4d,0 0 10px #e8782a1f}.shot-tl-dot[data-beat=turn]:hover{box-shadow:0 0 8px #e8782a66,0 0 16px #e8782a33,0 0 0 3px #e8782a1f}.shot-tl-dot[data-beat=build]{width:8px;height:8px}.shot-tl-dot[data-beat=hook]{background:var(--beat-hook)}.shot-tl-dot[data-beat=build]{background:var(--beat-build)}.shot-tl-dot[data-beat=turn]{background:var(--beat-turn)}.shot-tl-dot[data-beat=payoff]{background:var(--beat-payoff)}.shot-tl-dot[data-beat=""]{background:var(--sl-text-dim)}.shot-tl-popover{z-index:200;pointer-events:none;opacity:0;background:#1e1e38;border:1px solid #ffffff1f;border-radius:8px;min-width:180px;max-width:260px;padding:8px 12px;transition:opacity .15s;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%);box-shadow:0 8px 32px #00000080}.shot-tl-dot:hover+.shot-tl-popover,.shot-tl-popover.visible{opacity:1;pointer-events:auto}.shot-tl-popover-beat{text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px;font-size:9px;font-weight:700}.shot-tl-popover-beat[data-beat=hook]{color:var(--beat-hook)}.shot-tl-popover-beat[data-beat=build]{color:var(--beat-build)}.shot-tl-popover-beat[data-beat=turn]{color:var(--beat-turn)}.shot-tl-popover-beat[data-beat=payoff]{color:var(--beat-payoff)}.shot-tl-popover-question{color:#a0a0c0;margin-bottom:4px;font-size:11px;font-style:italic;line-height:1.4}.shot-tl-popover-emotion{color:var(--sl-text-dim);text-transform:lowercase;background:#ffffff0f;border-radius:3px;padding:2px 6px;font-size:9px;font-weight:600;display:inline-block}.shot-tl-popover-setup{color:var(--sl-text-dim);font-size:9px;font-family:var(--sl-mono);margin-top:4px}.shot-tl-right{align-items:flex-start;gap:4px;min-width:0;padding:10px 4px 10px 8px;display:flex}.shot-tl-action{color:var(--sl-text);word-break:break-word;flex:1;min-width:0;font-size:12px;line-height:1.5}.shot-tl-action .mention{color:#7b9fff;font-weight:600}.shot-tl-delete{color:var(--sl-text-dim);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex-shrink:0;margin-top:2px;padding:2px 4px;font-size:14px;transition:opacity .15s,color .15s,background .15s}.shot-tl-delete:hover{background:#ff6b6b1a;color:#ff6b6b!important;opacity:1!important}.shot-tl-merge{cursor:pointer;opacity:0;justify-content:center;align-items:center;height:0;margin:0 0 0 90px;padding-left:28px;transition:opacity .15s,height .1s;display:flex;position:relative}.shot-timeline-item:hover+.shot-tl-merge,.shot-tl-merge:hover{opacity:1;height:18px}.shot-tl-merge-btn{color:var(--sl-text-dim);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 8px;font-size:11px;transition:color .15s,background .15s}.shot-tl-merge-btn:hover{color:#c4a14a;background:#c4a14a1a}.shot-add-dot{cursor:pointer;background:0 0;border:none;align-items:center;gap:0;margin-top:4px;margin-left:90px;padding:6px 0;transition:gap .2s;display:flex}.shot-add-dot:hover{gap:6px}.shot-add-dot-circle{color:#ffffff26;border:1.5px dashed #ffffff1f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:12px;height:12px;margin-left:8px;font-size:9px;font-weight:600;transition:all .2s;display:flex}.shot-add-dot:hover .shot-add-dot-circle{color:#c4a14a;background:#c4a14a14;border-style:solid;border-color:#c4a14a80;transform:scale(1.15)}.shot-add-dot-label{color:#0000;white-space:nowrap;font-size:11px;font-weight:500;font-family:var(--sl-font);transition:color .2s}.shot-add-dot:hover .shot-add-dot-label{color:#c4a14a99}.mention-dropdown{z-index:100;background:#1e1e38;border:1px solid #ffffff1f;border-radius:8px;max-height:220px;padding:4px;position:absolute;top:100%;left:32px;right:24px;overflow-y:auto;box-shadow:0 8px 32px #00000080}.mention-item{color:#d0d0e0;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;width:100%;padding:8px 10px;font-size:13px;transition:background .1s;display:flex}.mention-item:hover{background:#648cff1f}.mention-icon{flex-shrink:0;font-size:14px}.mention-label{flex:1;font-weight:500}.mention-type{color:#6a6a80;text-transform:capitalize;font-size:10px}.shot-list-empty{text-align:center;color:#5a5a78;padding:40px 20px}.shot-list-empty-icon{margin-bottom:12px;font-size:32px}.shot-list-empty p{margin:0 0 8px;font-size:14px}.shot-list-hint{line-height:1.6;color:#4a4a60!important;font-size:12px!important}.shot-list-hint code{color:#c4a14a;background:#ffffff0f;border-radius:3px;padding:2px 6px;font-family:Courier Prime,monospace;font-size:12px}.shot-sync-badge{letter-spacing:.3px;white-space:nowrap;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:600}.shot-sync-review{color:#fbbf24;background:#fbbf2426;border:1px solid #fbbf244d}.shot-sync-detached{color:#94a3b8;background:#94a3b81f;border:1px solid #94a3b833}.shot-scene-stale-warning{color:#fbbf24;background:#fbbf2414;border:1px solid #fbbf2433;border-radius:6px;align-items:center;gap:6px;margin:4px 0 8px;padding:6px 12px;font-size:11px;font-weight:500;display:flex}.shot-type-badge,.beat-type-badge,.shot-input-wrapper,.shot-input-content,.shot-input-top,.shot-number,.shot-textarea,.shot-dq,.shot-delete,.shot-emotion,.shot-merge-btn{display:none}
