:root{--primary: #7655ff;--accent: #a63dff;--primary-light: #b4a2ff;--primary-soft: #292156;--primary-tint: #7655ff1a;--primary-line: #7655ff66;--primary-glow: #7655ff42;--bg-glow: #1e1940;--hover: #3d3b6c;--hover-border: #7067c3;--on-primary: #ffffff}:root{color-scheme:dark;font-family:Inter,system-ui,sans-serif;color:#f4f5f8;background:#06080d;font-synthesis:none;--green: #4ce0a0;--panel: #10131b;--line: #272c39}*{box-sizing:border-box}html,body,#app{width:100%;min-height:100%;margin:0}body{background:radial-gradient(circle at 50% -10%,var(--bg-glow),#080a10 40%)}button,input{font:inherit}button{color:inherit;cursor:pointer;border:1px solid var(--line);background:#181c27;border-radius:8px;padding:.7rem 1rem}button:hover:not(:disabled){border-color:var(--hover-border);background:var(--hover)}button:disabled{cursor:default;opacity:.35}button.primary,button.take{color:var(--on-primary);background:linear-gradient(135deg,var(--primary),var(--accent));border:0;font-weight:700;box-shadow:0 8px 30px var(--primary-glow)}button.primary:hover:not(:disabled),button.take:hover:not(:disabled){background:linear-gradient(135deg,var(--primary),var(--accent));filter:brightness(1.12)}button.ghost{background:none;padding:.4rem .7rem}.eyebrow{margin:0 0 .6rem;color:var(--primary-light);text-transform:uppercase;letter-spacing:.15em;font:500 .72rem DM Mono,monospace}.muted{color:#818898;font-size:.82rem}.error-page,.audience-loading,.login-page,.start-gate{min-height:100vh;display:grid;place-items:center;padding:2rem;text-align:center}.glass-card,.login-card{width:min(440px,100%);padding:2.2rem;text-align:left;background:#11141dcc;border:1px solid #ffffff18;border-radius:20px;backdrop-filter:blur(20px);box-shadow:0 20px 80px #0008}.glass-card h1,.login-card h1{margin:0 0 1.6rem;font-size:clamp(2rem,7vw,3.3rem);line-height:1;letter-spacing:-.05em}.download-size{display:flex;justify-content:space-between;align-items:baseline;margin:0;padding:.9rem 1.1rem;border:1px solid var(--line);border-radius:12px;background:#121620;color:#9299a9;font-size:.82rem}.download-size strong{color:#e7e9ef;font:500 1.15rem DM Mono,monospace}.language-switch{display:flex;gap:.4rem;margin-bottom:1.6rem}.language-switch button{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:.8rem .4rem .7rem;border:1px solid var(--line);border-radius:14px;background:#0b0e15;color:#b3b9c7;font-size:.95rem;font-weight:400}.language-switch .flag{width:2.4rem;height:1.6rem;object-fit:cover;border-radius:4px;box-shadow:0 0 0 1px #ffffff26}.language-switch button:hover:not(:disabled){border-color:var(--hover-border);background:var(--hover)}.language-switch button[aria-checked=true]{color:#fff;border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 1px var(--primary),0 6px 24px var(--primary-glow)}.consent{margin:1.4rem 0;color:#777f90;font-size:.76rem;line-height:1.5}.start-button{width:100%;padding:1rem;font-size:1.05rem;animation:start-pulse 2s ease-out infinite}.glass-card h1.show-title{margin:0 0 1.4rem;font-size:clamp(1.7rem,7vw,2.4rem);line-height:1.1;letter-spacing:-.03em;overflow-wrap:anywhere}@keyframes start-pulse{0%{transform:scale(1);box-shadow:0 0 0 0 var(--primary-line),0 8px 30px var(--primary-glow)}15%{transform:scale(1.03)}30%{transform:scale(1)}70%,to{box-shadow:0 0 0 16px transparent,0 8px 30px var(--primary-glow)}}@media(prefers-reduced-motion:reduce){.start-button{animation:none}}@media(orientation:landscape)and (max-height:560px){.start-gate{padding:1rem}.glass-card{width:min(760px,100%);padding:1.4rem 1.6rem;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto 1fr;column-gap:1.6rem;align-items:start}.glass-card h1.show-title{grid-area:1 / 1;margin-bottom:1rem}.glass-card .language-switch{grid-area:2 / 1 / 4 / 2;margin:0}.glass-card .download-size{grid-area:1 / 2}.glass-card .consent{grid-area:2 / 2;margin:.8rem 0}.glass-card .start-button{grid-area:3 / 2}}.login-card{display:grid;gap:1rem}.login-card label{display:grid;gap:.4rem;color:#a9afbc;font-size:.8rem}.login-card input{color:#fff;background:#080a10;border:1px solid var(--line);border-radius:8px;padding:.8rem}.form-error{color:#ff8c9c;font-size:.82rem}.spinner{width:34px;height:34px;border:2px solid #ffffff24;border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.show-shell,#stage,.media-renderer{position:fixed;inset:0;overflow:hidden;background:#000}.media-renderer{position:absolute;container-type:size}.media-layer,.media-blackout,.media-overlay{position:absolute;inset:0}.media-layer{display:grid;place-items:center}.media-content{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.fit-contain{object-fit:contain}.fit-cover{object-fit:cover}.media-renderer,.editor-stage{--u: min(1cqw, .75cqh);--px: 1px}.media-text{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;flex-direction:column;gap:calc(2.5 * var(--u));padding:calc(14 * var(--u)) calc(6 * var(--u)) calc(7 * var(--u));background:linear-gradient(transparent,#000a 35%,#000d);color:#fff;pointer-events:none;text-shadow:0 1px 3px #000}.media-subtitles{margin:0;align-self:center;max-width:100%;padding:.4em .7em;border-radius:.4em;background:#000b;font-size:clamp(calc(15 * var(--px)),calc(4.4 * var(--u)),calc(30 * var(--px)));line-height:1.3;text-align:center;white-space:pre-line}.media-caption{display:flex;flex-direction:column;gap:calc(1.2 * var(--u))}.media-caption strong{font-size:clamp(calc(16 * var(--px)),calc(5 * var(--u)),calc(34 * var(--px)));line-height:1.2}.media-caption p{margin:0;font-size:clamp(calc(13 * var(--px)),calc(3.6 * var(--u)),calc(24 * var(--px)));line-height:1.4;opacity:.92}.media-caption small{font-size:clamp(calc(11 * var(--px)),calc(2.8 * var(--u)),calc(17 * var(--px)));opacity:.7}.media-overlay-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.media-overlay-html{position:absolute;inset:0}.demo-live-badge .media-overlay-html{inset:4% auto auto 4%;display:flex;align-items:center;gap:.6em;padding:.45em .8em;color:#fff;background:#080b18cc;border:1px solid #ff526d88;border-radius:6px;font:600 clamp(.6rem,1.4vw,1.1rem) "DM Mono",monospace;letter-spacing:.08em}.demo-live-badge strong{color:#ff7188}.demo-live-badge span{color:#c9cfe6;font-weight:400}.media-placeholder{color:#7e8593;font:.8rem DM Mono,monospace}.media-overlay{z-index:5;pointer-events:none}.media-blackout{z-index:10;opacity:0;background:#000}.media-blocked{position:absolute;z-index:20;left:50%;bottom:2rem;transform:translate(-50%);border-color:#ffb55f;background:#25180eec;color:#ffd6a5;white-space:nowrap}.audio-visual{position:absolute;inset:0;display:grid;place-items:center;background-size:cover;background-position:center}.audio-visual:after{content:"";position:absolute;inset:0;background:#05060a66;backdrop-filter:blur(2px)}.audio-pulse{z-index:1;width:70px;height:70px;border:2px solid #fff8;border-radius:50%;animation:pulse 1.6s ease-out infinite}@keyframes pulse{to{transform:scale(1.8);opacity:0}}.connection-pill{position:fixed;z-index:30;top:1rem;right:1rem;padding:.45rem .7rem;color:var(--green);background:#07130fcc;border:1px solid #4ce0a044;border-radius:20px;font:.65rem DM Mono,monospace}.connection-pill.offline{color:#ffc071;border-color:#ffc07144}.connection-pill{transition:opacity .6s}.connection-pill.online{opacity:0;transition-delay:2s}.restore-gate{position:fixed;z-index:40;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:0 1rem calc(2.5rem + env(safe-area-inset-bottom));border:0;border-radius:0;background:transparent}.restore-gate[hidden]{display:none}.restore-gate:hover:not(:disabled){background:transparent}.restore-gate.urgent:hover:not(:disabled){background:#000a}.restore-gate span{padding:.6rem .95rem;color:#e7e9ef;background:#11141dcc;border:1px solid #ffffff2a;border-radius:999px;backdrop-filter:blur(8px);font-size:.8rem}.restore-gate.urgent{background:#000a;align-items:center}.restore-gate.urgent span{padding:.9rem 1.3rem;color:#ffd6a5;border-color:#ffb55f;background:#25180eee;font-size:1rem}.show-shell .media-blocked{display:none}.download-progress{position:fixed;z-index:30;left:0;right:0;bottom:0;height:2px;background:#ffffff10}.download-progress{transition:opacity .6s 1s}.download-progress.done{opacity:0}.download-progress span{display:block;width:0;height:100%;background:var(--primary);transition:width .2s}.welcome{position:fixed;z-index:25;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(1.5rem,5vmin,3rem);padding:calc(3.5rem + env(safe-area-inset-top)) 1rem calc(2rem + env(safe-area-inset-bottom));background:radial-gradient(circle at 50% -10%,var(--bg-glow),#080a10 55%);text-align:center;transition:opacity .8s}.welcome.gone{opacity:0;pointer-events:none}.welcome-hints{width:min(30rem,100%);animation:welcome-in .8s both}.welcome-hints[hidden]{display:none}@keyframes welcome-in{0%{opacity:0;transform:translateY(.6rem)}}.welcome h2{margin:0 0 clamp(1rem,4vmin,2rem);color:var(--primary-light);text-transform:uppercase;letter-spacing:.15em;font:500 clamp(.72rem,2.6vmin,.9rem) "DM Mono",monospace}.welcome ul{display:grid;gap:clamp(1rem,4vmin,1.8rem);margin:0;padding:0;list-style:none;text-align:left}.welcome li{display:grid;grid-template-columns:clamp(3.5rem,15vmin,5rem) 1fr;align-items:center;gap:1rem}.welcome li p{margin:0;color:#e6e8ee;font-size:clamp(1rem,4.2vmin,1.3rem);line-height:1.35}.welcome svg{width:100%;height:auto;fill:none;stroke:var(--primary-light);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;overflow:visible}.welcome-status{display:flex;align-items:center;gap:.8rem;margin:0;color:#aab0bd;font-size:clamp(.9rem,3.6vmin,1.1rem)}.welcome-status .spinner{flex:none;width:28px;height:28px;border-width:3px}.welcome.ready .welcome-status{color:var(--green)}.welcome.ready .spinner{animation:none;border-color:var(--green);border-top-color:var(--green)}@media(orientation:landscape)and (max-height:560px){.welcome-hints{width:min(52rem,100%)}.welcome ul{grid-template-columns:repeat(3,1fr)}.welcome li{grid-template-columns:1fr;justify-items:center;text-align:center;gap:.6rem}.welcome li svg{width:clamp(2.6rem,12vh,4rem)}.welcome li p{font-size:clamp(.85rem,3.6vh,1.1rem)}}.welcome .bell{transform-origin:32px 12px;animation:bell 4s ease-in-out infinite}.welcome .waves{animation:waves 4s infinite}.welcome .slash{stroke-dasharray:1;animation:slash 4s infinite}@keyframes bell{0%,40%,to{transform:rotate(0)}5%,15%,25%{transform:rotate(14deg)}10%,20%,30%{transform:rotate(-14deg)}}@keyframes waves{0%,32%{opacity:1}40%,to{opacity:0}}@keyframes slash{0%,40%{stroke-dashoffset:1}55%,92%{stroke-dashoffset:0}to{stroke-dashoffset:1}}.welcome .glow{fill:var(--primary);stroke:none;animation:glow 3s ease-in-out infinite}.welcome .rays{animation:rays 3s ease-in-out infinite}@keyframes glow{0%,to{opacity:.35}50%{opacity:.75}}@keyframes rays{0%,to{opacity:.25}50%{opacity:1}}.welcome .final{fill:var(--primary-light);stroke:none}.welcome .staff{opacity:.45}.welcome .note ellipse{fill:var(--primary-light)}.welcome .note{animation:note 4s ease-in-out infinite}.welcome .burst{opacity:0;animation:burst 4s infinite}@keyframes note{0%{transform:translate(0);opacity:0}8%{opacity:1}55%{transform:translate(24px);opacity:1}65%,to{transform:translate(24px);opacity:0}}@keyframes burst{0%,58%{opacity:0;transform:scale(.6)}66%,85%{opacity:1;transform:scale(1)}to{opacity:0}}.welcome .burst{transform-origin:50px 22px}@media(prefers-reduced-motion:reduce){.welcome *,.welcome-hints{animation:none!important}.welcome .slash{stroke-dashoffset:0}.welcome .waves{opacity:0}.welcome .burst{opacity:1}.welcome .note{transform:translate(24px)}}.control-shell{height:100vh;height:100dvh;display:grid;grid-template:58px minmax(0,1fr) 76px / 270px minmax(0,1fr) 320px;background:#090b11}.control-header{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;border-bottom:1px solid var(--line);background:#0e1118;font-size:.8rem}.control-header>div{display:flex;align-items:center;gap:.7rem}.command-feedback[hidden]{display:none}.command-feedback{padding:.3rem .6rem;color:#ffd6a5;background:#25180e;border:1px solid #ffb55f66;border-radius:6px;font-size:.72rem}.connection-state.online+.operator,.connection-state.online{color:var(--green)}.connection-state.online~.operator{color:#f4f5f8}.cue-panel,.status-panel{overflow-y:auto;padding:1rem;background:#0d1017}.cue-panel{border-right:1px solid var(--line)}.status-panel{border-left:1px solid var(--line)}.cue-panel h2,.status-panel h2{margin:0 0 1rem;text-transform:uppercase;letter-spacing:.12em;color:#858c9c;font-size:.68rem}.cue-groups h3{margin:1.1rem .5rem .5rem;color:#676e7e;font-size:.7rem}.cue-item{position:relative;width:100%;display:flex;align-items:center;gap:.6rem;margin:.25rem 0;padding:.45rem .55rem;text-align:left;background:transparent;border-color:transparent}.cue-item.selected{background:var(--primary-tint);border-color:var(--primary-line)}.cue-item.live{box-shadow:inset 3px 0 #ff526d}.cue-item.live .cue-number{color:#ff7188}.cue-item.scheduled{box-shadow:inset 3px 0 #ffb547}.cue-item.scheduled .cue-number{color:#ffd078}.cue-item strong{min-width:0;flex:1;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.82rem;font-weight:500;line-height:1.3}.cue-thumb{position:relative;flex:none;width:64px;height:44px;overflow:hidden;display:grid;place-items:center;border-radius:6px;background:#05070b;box-shadow:0 0 0 1px #ffffff14;color:#6c7486;font-size:.9rem}.cue-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.cue-thumb img.fit-cover{object-fit:cover}.cue-thumb small{position:absolute;left:3px;bottom:3px;padding:0 .25rem;border-radius:3px;background:#000b;color:#e7e9ef;font:.55rem DM Mono,monospace}.cue-number{color:#626a7b;font:.68rem DM Mono,monospace}.preview-panel{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 64px;padding:1rem;background:#07090e}.monitors{min-height:0;container-type:size;display:flex;align-items:center;justify-content:center;gap:1rem}.monitor{--stage-h: min(100cqh - 2.6rem, (50cqw - .5rem) * 16 / 9);width:calc(var(--stage-h) * 9 / 16);display:flex;flex-direction:column;gap:.5rem}.monitor-stage{position:relative;width:100%;height:var(--stage-h);overflow:hidden;background:#000;border:1px solid #2a2f3c;border-radius:10px;box-shadow:0 15px 50px #000}.monitor-head{min-width:0;flex-direction:column;gap:.2rem}.monitor-head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-monitor .monitor-stage{border-color:#ff526d99;box-shadow:0 0 0 1px #ff526d44,0 15px 50px #000}.live-monitor .monitor-head span:first-child{color:#ff7188}.monitor-head{display:flex;justify-content:space-between;color:#868d9e;font:.68rem DM Mono,monospace}.monitor-head span:first-child{color:var(--primary-light)}.monitor-stage .media-renderer{position:absolute;--px: calc(100cqw / 390)}.monitor-stage .media-blocked{display:none}.transport{display:flex;align-items:center;justify-content:center;gap:.55rem}.transport .take{min-width:110px;padding:.85rem 1.5rem;letter-spacing:.08em}.status-panel section{padding-bottom:1.4rem;margin-bottom:1.4rem;border-bottom:1px solid var(--line)}.stats{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:0}.stats>div{display:grid;gap:.3rem;padding:.6rem .7rem;background:#080a10;border:1px solid #202532;border-radius:8px}.stats>div:first-child{grid-column:1 / -1}.stats>div.warn{border-color:#ff657d88}.stats dt{color:#6f7788;font-size:.62rem;text-transform:uppercase;letter-spacing:.06em}.stats dd{display:flex;align-items:baseline;flex-wrap:wrap;gap:.1rem .45rem;margin:0}.stats strong{color:#e7e9ef;font:500 1.05rem DM Mono,monospace}.stats>div:first-child strong{font-size:1.6rem}.stats>div.warn strong{color:#ff7188}.stats small{color:#737b8c;font:.6rem DM Mono,monospace}.command-bar{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;gap:.45rem;padding:.7rem;border-top:1px solid var(--line);background:#0e1118}.command-bar button{padding:.6rem .75rem;font-size:.7rem}.command-gap{width:.9rem}.command-bar #pause-command.active{color:var(--primary-light);border-color:var(--primary);background:var(--primary-soft)}.command-bar button.active{color:#fff;border-color:#ff526d;background:#8b1025}.command-bar label{display:flex;align-items:center;gap:.7rem;margin-left:.5rem;color:#848b9b;font-size:.7rem}.command-bar input{accent-color:var(--primary)}.live-command-label{color:#ff657d;font:700 .65rem DM Mono,monospace;letter-spacing:.12em}.live-status{padding:.25rem .45rem;color:#8b93a5;border:1px solid #343a49;border-radius:4px;font:600 .58rem DM Mono,monospace}.live-status.playing{color:#ff7188;border-color:#ff526d}.live-status.armed{color:#ffd078;border-color:#b77b25}.live-status.paused{color:var(--primary-light);border-color:var(--primary)}.live-details{display:grid;gap:.4rem;margin:0}.live-details div{display:grid;grid-template-columns:90px 1fr;gap:.5rem}.live-details dt{color:#6f7788;font-size:.65rem}.live-details dd{overflow:hidden;margin:0;color:#d8dbe3;font:.65rem DM Mono,monospace;text-overflow:ellipsis;white-space:nowrap}@media(max-width:420px){.start-gate{padding:1rem}.glass-card{padding:1.6rem 1.2rem}.language-switch button{font-size:.88rem}}@media(max-width:900px){.control-shell{height:auto;min-height:100vh;grid-template:58px auto auto auto auto / 1fr}.control-header{grid-row:1}.preview-panel{grid-row:2}.cue-panel{grid-row:3;border-right:0}.preview-panel{grid-template-rows:auto 64px}.monitors{container-type:inline-size}.monitor{--stage-h: calc((50cqw - .5rem) * 16 / 9)}.status-panel{grid-row:4;border-left:0}.command-bar{grid-row:5;position:sticky;bottom:0}.operator{display:none!important}}a.button{display:inline-flex;align-items:center;color:inherit;text-decoration:none;border:1px solid var(--line);border-radius:8px;padding:.4rem .7rem}a.button:hover{border-color:var(--hover-border);background:var(--hover)}button.tiny{padding:.2rem .5rem;font-size:.72rem}button.danger{border-color:#ff526d;color:#ff8c9c}.warn{color:#f2b84b}.moved{color:#7aa7f5}.spacer{flex:1}.seg{display:inline-flex;flex-wrap:wrap}.seg button{border-radius:0;padding:.35rem .7rem;font-size:.78rem}.seg button+button{border-left-width:0}.seg button:first-child{border-radius:8px 0 0 8px}.seg button:last-child{border-radius:0 8px 8px 0}.seg button[aria-pressed=true],button.toggle[aria-pressed=true]{color:#fff;background:#3a2d7a;border-color:var(--primary)}.toggles{display:inline-flex;flex-wrap:wrap;gap:.35rem}button.toggle{padding:.35rem .7rem;font-size:.78rem;border-radius:999px}.editor-shell{height:100vh;display:grid;grid-template-rows:58px minmax(0,1fr)}.editor-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1rem;border-bottom:1px solid var(--line);background:#0e1118;font-size:.8rem}.editor-header>div{display:flex;align-items:center;gap:.7rem}.save-state{color:#868d9e;font:.72rem DM Mono,monospace}.save-state[data-state=pending],.save-state[data-state=saving]{color:#c5b9ff}.save-state[data-state=error]{color:#ff8c9c}.editor-body{min-height:0}.library{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr)}.library-toolbar{padding:.7rem 1rem .5rem;border-bottom:1px solid var(--line);background:#0b0e14}.toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem}.library-stats{color:#9299a9;font-size:.8rem}.library-stats b{color:#f4f5f8}.library-search{width:15rem;padding:.4rem .7rem;color:#fff;background:#080a10;border:1px solid var(--line);border-radius:8px;font-size:.8rem}.library-hint{margin:.5rem 0 0;color:#6f7686;font-size:.74rem}.menu{position:relative}.menu summary{list-style:none;cursor:pointer;padding:.35rem .7rem;border:1px solid var(--line);border-radius:8px;font-size:.78rem}.menu summary::-webkit-details-marker{display:none}.menu-panel{position:absolute;right:0;top:calc(100% + .4rem);z-index:10;display:grid;gap:.5rem;width:18rem;padding:.8rem;background:#141824;border:1px solid var(--line);border-radius:10px;box-shadow:0 15px 50px #000a}.menu-panel button{text-align:left;font-size:.8rem;padding:.5rem .7rem}.menu-languages{display:grid;gap:.3rem;color:#9299a9;font-size:.74rem}.menu-languages input{padding:.45rem;color:#fff;background:#080a10;border:1px solid var(--line);border-radius:6px}.library-main{min-height:0;display:grid;grid-template-columns:minmax(0,1fr)}.library-main.with-detail{grid-template-columns:minmax(0,1fr) 460px}.library-content{overflow-y:auto;padding:0 1rem 4rem}.library-section h2{display:flex;align-items:baseline;gap:.7rem;margin:1.6rem 0 .8rem;font-size:.95rem}.library-section h2 small{color:#868d9e;font:.72rem DM Mono,monospace}.category-names{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.78rem;font-weight:400}.category-names label{display:flex;align-items:center;gap:.3rem;color:#9299a9}.category-names input{padding:.35rem .5rem;color:#fff;background:#080a10;border:1px solid var(--line);border-radius:6px}.category-names button{padding:.35rem .8rem}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.9rem;min-height:80px;border-radius:10px}.library-grid.drop-end{outline:2px dashed var(--primary);outline-offset:4px}.library-empty{grid-column:1 / -1;padding:1.5rem;color:#6f7686;font-size:.8rem;text-align:center;border:1px dashed var(--line);border-radius:10px}.library-unit{position:relative;cursor:grab}.library-unit.dragging{opacity:.3}.library-unit.drop-before:before,.library-unit.drop-after:after{content:"";position:absolute;top:0;bottom:0;z-index:3;width:4px;border-radius:2px;background:var(--primary)}.library-unit.drop-before:before{left:-8px}.library-unit.drop-after:after{right:-8px}.library-unit.pair{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.5rem;border:1px dashed #8a6a2a;border-radius:10px;background:#2a210f55}.pair-label{position:absolute;top:-.6rem;left:.6rem;z-index:2;padding:0 .4rem;border-radius:4px;background:#8a6a2a;color:#fff;font-size:.66rem}.library-card{display:flex;flex-direction:column;overflow:hidden;background:#121620;border:2px solid var(--line);border-radius:9px;transition:opacity .15s,border-color .15s}.library-card.on{border-color:#3fb47f}.library-card.off{opacity:.45}.library-card.off:hover{opacity:.8}.library-card.active{box-shadow:0 0 0 2px var(--primary)}.library-thumb{position:relative;display:block;width:100%;padding:0;aspect-ratio:4 / 3;overflow:hidden;border:0;border-radius:0;background:#000}.library-thumb:hover:not(:disabled){background:#000}.library-thumb img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.no-thumb{display:grid;place-items:center;height:100%;color:#6f7686}.library-thumb .check{position:absolute;top:.45rem;right:.45rem;display:grid;place-items:center;width:1.5rem;height:1.5rem;border:2px solid #fff;border-radius:50%;background:#0008;color:#fff;font-weight:700;font-size:.8rem}.library-card.on .check{background:#3fb47f}.library-thumb .badge{position:absolute;left:.45rem;bottom:.45rem;padding:.05rem .4rem;border-radius:4px;background:#000b;color:#fff;font-size:.66rem}.library-thumb .badge.cc{left:auto;right:.45rem}.library-meta{display:flex;flex-direction:column;gap:.2rem;padding:.5rem .6rem .6rem;text-align:left;border:0;border-radius:0;background:none}.library-meta:hover:not(:disabled){background:#1a1f2b}.library-meta strong{font-size:.8rem;line-height:1.3}.library-meta strong.missing{color:#ff8c9c;font-weight:400;font-style:italic}.library-meta small{color:#868d9e;font-size:.7rem}.language-dots{display:flex;gap:.25rem;margin-top:.15rem}.language-dots i{padding:0 .3rem;border-radius:3px;background:#1f3a2e;color:#7fe0b2;font: .6rem DM Mono,monospace}.language-dots i.missing{background:#3a1f25;color:#ff8c9c}.library-detail{min-height:0;display:flex;flex-direction:column;border-left:1px solid var(--line);background:#0d1017}.detail-head{display:flex;align-items:center;gap:.3rem;padding:.5rem .7rem;border-bottom:1px solid var(--line)}.detail-id{flex:1;overflow:hidden;color:#c5b9ff;font:.75rem DM Mono,monospace;text-overflow:ellipsis;white-space:nowrap}.detail-scroll{overflow-y:auto;padding:1rem}.detail-preview{display:grid;grid-template-columns:200px minmax(0,1fr);gap:.5rem 1rem;align-items:start}.editor-stage{position:relative;width:200px;aspect-ratio:9 / 16;overflow:hidden;container-type:size;background:#000;border:1px solid var(--line);border-radius:8px}.editor-stage,.editor-stage .media-renderer{--px: calc(100cqw / 390)}.editor-stage.landscape{width:min(100%,360px);aspect-ratio:16 / 9}.editor-stage.landscape,.editor-stage.landscape .media-renderer{--px: calc(100cqw / 844)}.detail-preview:has(.editor-stage.landscape){grid-template-columns:minmax(0,1fr)}.editor-stage audio{position:absolute;left:5%;right:5%;top:40%;width:90%}.editor-stage video.media-content{z-index:1}.detail-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;min-width:0}.detail-actions .categories{flex-wrap:wrap}.select-toggle{min-width:9rem}.detail-preview .categories button{margin-top:-1px}.detail-texts,.detail-subtitles{display:grid;gap:.4rem;margin:1rem 0 0;padding:.7rem .8rem .8rem;border:1px solid var(--line);border-radius:10px}.detail-texts legend,.detail-subtitles legend{padding:0 .3rem;color:#a897ff;font:500 .7rem DM Mono,monospace;text-transform:uppercase;letter-spacing:.1em}.detail-texts label{display:grid;grid-template-columns:2rem minmax(0,1fr);align-items:start;gap:.5rem}.detail-texts label span,.subtitle-row>span:first-child{padding-top:.45rem;color:#868d9e;font:.7rem DM Mono,monospace}.detail-texts input,.detail-texts textarea{width:100%;padding:.45rem .55rem;color:#fff;background:#080a10;border:1px solid var(--line);border-radius:6px;font:inherit;font-size:.82rem;line-height:1.4;resize:vertical}.detail-texts input:focus,.detail-texts textarea:focus,.library-search:focus{outline:none;border-color:var(--primary)}.subtitle-row{display:flex;align-items:center;gap:.6rem;font-size:.8rem}.subtitle-row a{color:#c5b9ff}.detail-info{display:grid;gap:.35rem;margin:1rem 0 0;font-size:.78rem}.detail-info div{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:.5rem}.detail-info dt{color:#868d9e}.detail-info dd{margin:0;overflow-wrap:anywhere}.detail-info a{color:#c5b9ff}.source-text{margin-top:1rem;color:#9299a9;font-size:.76rem;line-height:1.5}.source-text summary{cursor:pointer;color:#868d9e}.detail-preview .editor-stage{cursor:zoom-in}.library-large{position:fixed;z-index:50;inset:0;display:flex;flex-direction:column;background:#05070bf2;backdrop-filter:blur(6px)}.library-large[hidden]{display:none}.large-head{display:flex;align-items:center;gap:1rem;padding:.6rem 1rem;border-bottom:1px solid var(--line)}.large-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.large-head strong.missing{color:#ff8c9c}.large-head .muted{flex:1;font-size:.72rem}.large-controls{display:flex;align-items:center;gap:.6rem}.large-body{flex:1;min-height:0;display:grid;place-items:center;padding:1.2rem;cursor:zoom-out}.large-body .editor-stage{width:auto;height:min(100%,calc((100vw - 2.4rem) * 16 / 9));max-width:100%;cursor:default}.large-body .editor-stage.landscape{width:min(100%,calc((100vh - 6rem) * 16 / 9));height:auto}@media(max-width:1000px){.library-main.with-detail{grid-template-columns:minmax(0,1fr)}.library-detail{position:fixed;inset:58px 0 0 auto;z-index:20;width:min(460px,100vw);box-shadow:-20px 0 60px #000a}.library-search{width:100%}}.library-content,.detail-scroll{scrollbar-color:#2a2f3c transparent}.library-meta small{overflow-wrap:anywhere}.seg.categories{gap:.35rem}.seg.categories button{border-left-width:1px;border-radius:999px}.editor-body>div{height:100%}.editor-message{padding:2rem}.create-show{margin:3rem auto}.show-editor{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr)}.show-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;padding:.55rem 1rem;border-bottom:1px solid var(--line);background:#0b0e14;font-size:.8rem}.show-time{color:#9299a9;font:.75rem DM Mono,monospace}.warnings summary{border-color:#8a6a2a}.warnings .menu-panel{width:26rem;max-height:60vh;overflow-y:auto}.warnings .menu-panel button{color:#f2b84b}.show-columns{--picker-width: 270px;min-height:0;display:grid;grid-template-columns:clamp(200px,var(--picker-width),calc(100% - 720px)) minmax(0,1fr) 400px}.show-columns.resizing{cursor:col-resize;user-select:none}.show-columns>*{min-height:0;overflow-y:auto;scrollbar-color:#2a2f3c transparent}.picker{position:relative;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--line);background:#0b0e14}.column-resizer{position:absolute;z-index:5;top:0;right:0;bottom:0;width:7px;cursor:col-resize;touch-action:none}.column-resizer:hover,.column-resizer:focus-visible,.resizing .column-resizer{background:var(--primary-line);outline:none}.picker-head{display:grid;gap:.5rem;padding:.7rem;border-bottom:1px solid var(--line)}.picker-head .library-search,.picker-search{width:100%;padding:.4rem .6rem;color:#fff;background:#080a10;border:1px solid var(--line);border-radius:8px;font-size:.78rem}.picker-head .seg.categories button{padding:.2rem .55rem;font-size:.7rem}.add-picked{padding:.5rem;font-size:.78rem}.picker-grid{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));align-content:start;gap:.5rem;padding:.7rem;scrollbar-color:#2a2f3c transparent}.pick{position:relative;display:flex;flex-direction:column;padding:0;overflow:hidden;text-align:left;border:2px solid transparent;border-radius:7px;background:#121620;cursor:grab}.pick:hover:not(:disabled){background:#1a1f2b;border-color:#3a4152}.pick.picked{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.pick img,.pick .no-thumb{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;background:#000;pointer-events:none}.pick small{padding:.25rem .4rem .35rem;overflow:hidden;color:#a9afbc;font-size:.66rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.pick-type,.pick-used{position:absolute;top:.3rem;padding:0 .3rem;border-radius:3px;background:#000b;color:#fff;font-size:.6rem}.pick-type{left:.3rem}.pick-used{right:.3rem;background:#3fb47f}.program{padding:.8rem 1rem 4rem}.show-card{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;width:100%;margin-bottom:1rem;padding:.6rem .8rem;text-align:left;font-size:.8rem}.show-card>span:first-child{font-weight:600}.targeted{box-shadow:0 0 0 2px var(--primary)!important}.chips{display:inline-flex;flex-wrap:wrap;gap:.25rem}.chips i{padding:.05rem .4rem;border-radius:4px;background:#1f2433;color:#c5b9ff;font: .66rem DM Mono,monospace}.section{position:relative;margin-bottom:1.2rem;padding:.6rem;border:1px solid var(--line);border-radius:12px;background:#0d1017}.section.drop-before:before,.section.drop-after:after,.sequence.drop-before:before,.sequence.drop-after:after{content:"";position:absolute;left:0;right:0;height:3px;border-radius:2px;background:var(--primary)}.section.drop-before:before,.sequence.drop-before:before{top:-.45rem}.section.drop-after:after,.sequence.drop-after:after{bottom:-.45rem}.section-head,.sequence-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.section-head{margin-bottom:.5rem}.section-head small,.sequence-head small{color:#868d9e;font:.7rem DM Mono,monospace}.section-loose{color:#868d9e;font-size:.85rem}.grip{cursor:grab;padding:.1rem .25rem;color:#6f7686;user-select:none}.section-title,.sequence-name{min-width:8rem;padding:.3rem .45rem;color:#fff;background:transparent;border:1px solid transparent;border-radius:6px;font:inherit}.section-title{flex:1;font-size:.95rem;font-weight:600}.sequence-name{width:14rem;font-size:.85rem;font-weight:600}.section-title:hover,.sequence-name:hover{border-color:var(--line)}.section-title:focus,.sequence-name:focus{outline:none;border-color:var(--primary);background:#080a10}.sequence-list{display:grid;gap:.7rem;min-height:2.5rem}.sequence-empty,.items-empty{padding:.9rem;color:#6f7686;font-size:.75rem;text-align:center;border:1px dashed var(--line);border-radius:8px}.sequence{position:relative;padding:.5rem .6rem .7rem;border:1px solid var(--line);border-radius:10px;background:#121620}.sequence.active{border-color:#4b4470}.items{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;min-height:3rem}.items.drop-after,.items.drop-before{outline:2px dashed var(--primary);outline-offset:2px;border-radius:8px}.section.drop-into{outline:2px dashed var(--primary);outline-offset:2px}.items-empty{flex:1}.tile{position:relative;width:112px;overflow:hidden;border:2px solid transparent;border-radius:7px;background:#0b0e14;cursor:pointer;user-select:none}.tile:hover{border-color:#3a4152}.tile.selected{border-color:var(--primary);background:#1b1733}.keyboard[data-key-area=picker] .pick.cursor,.keyboard[data-key-area=program] .tile.cursor{outline:2px solid var(--primary-light);outline-offset:2px}.tile.broken{border-color:#ff526d}.tile.dragging{opacity:.35}.tile.drop-before:before,.tile.drop-after:after{content:"";position:absolute;top:0;bottom:0;z-index:3;width:3px;background:var(--primary)}.tile.drop-before:before{left:0}.tile.drop-after:after{right:0}.tile-thumb{position:relative;aspect-ratio:4 / 3;background:#000}.tile-thumb img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.tile-no{position:absolute;top:.2rem;left:.2rem;padding:0 .3rem;border-radius:3px;background:#000b;color:#fff;font:.6rem DM Mono,monospace}.tile-clip{position:absolute;top:.2rem;right:.2rem;padding:0 .3rem;border-radius:3px;background:#3fb47f;color:#fff;font-size:.65rem}.tile-clip.pending{background:#b07a1f}.tile-info{display:flex;flex-wrap:wrap;gap:.25rem;padding:.25rem .35rem 0;color:#868d9e;font:.6rem DM Mono,monospace}.tile-info .own{color:#c5b9ff}.tile-title{display:block;padding:.1rem .35rem .3rem;overflow:hidden;color:#c9cdd6;font-size:.64rem;text-overflow:ellipsis;white-space:nowrap}.add-section{width:100%;padding:.6rem;border-style:dashed;color:#a9afbc}.inspector{padding:1rem;border-left:1px solid var(--line);background:#0d1017;font-size:.8rem}.inspector h3{margin:0 0 .3rem;font-size:1rem}.inspector h4{margin:1.2rem 0 .2rem;color:#a897ff;font:500 .7rem DM Mono,monospace;text-transform:uppercase;letter-spacing:.1em}.inspector .muted{margin:.2rem 0 .6rem;font-size:.74rem}.field{display:grid;gap:.3rem;margin:.7rem 0;color:#9299a9;font-size:.74rem}.field input,.field textarea{padding:.45rem .55rem;color:#fff;background:#080a10;border:1px solid var(--line);border-radius:6px;font:inherit;font-size:.82rem}.field input:focus,.field textarea:focus{outline:none;border-color:var(--primary)}.theme-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.swatch{display:inline-flex;align-items:center;gap:.35rem;color:#c3c8d4}.field .swatch input{width:2.2rem;height:1.7rem;padding:2px;cursor:pointer}.sample-button{display:inline-block;padding:.35rem .9rem;border-radius:8px;color:var(--on-primary);background:linear-gradient(135deg,var(--primary),var(--accent));box-shadow:0 4px 16px var(--primary-glow);font-weight:700}.settings{display:grid;gap:.7rem;margin-top:.6rem}.setting{display:grid;gap:.3rem;margin-top:.6rem}.settings .setting{margin-top:0}.setting-label{color:#9299a9;font-size:.74rem}.setting .seg button{padding:.3rem .55rem;font-size:.74rem}.setting .seg button:first-child{color:#9299a9}.setting .seg button:first-child[aria-pressed=true]{color:#fff}.seg.sub{margin-top:.1rem}.seg.sub button{padding:.2rem .5rem;font-size:.7rem}.inline{display:inline-flex;align-items:center;gap:.3rem;color:#868d9e;font-size:.72rem}.inline input{width:4.5rem;padding:.25rem .4rem;color:#fff;background:#080a10;border:1px solid var(--line);border-radius:6px}.volume{display:flex;align-items:center;gap:.6rem}.volume input{flex:1;accent-color:var(--primary)}.inspector-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.8rem 0}.inspector-actions button{padding:.4rem .7rem;font-size:.76rem}.inspector-preview{display:flex;flex-direction:column;align-items:center;gap:.4rem;margin:.6rem 0}.inspector-preview .editor-stage{width:220px}.inspector-preview .editor-stage.landscape{width:100%}.preview-transport{display:flex;align-items:center;gap:.4rem}.preview-position{color:#868d9e;font:.7rem DM Mono,monospace}.clip-editor{display:grid;gap:.4rem;margin-top:.9rem;padding:.7rem;border:1px solid var(--line);border-radius:10px}.clip-player{width:100%;max-height:200px;background:#000;border-radius:6px}.clip-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.clip-row input{width:6rem;padding:.3rem .45rem;color:#fff;background:#080a10;border:1px solid var(--line);border-radius:6px;font:.76rem DM Mono,monospace}.clip-row input.invalid{border-color:#ff526d}.clip-row button{padding:.3rem .55rem;font-size:.74rem}.poster-row{display:flex;align-items:center;gap:.5rem}.poster-row img{width:64px;aspect-ratio:4 / 3;object-fit:cover;border-radius:4px}@media(max-width:1200px){.show-columns{--picker-width: 220px;grid-template-columns:clamp(200px,var(--picker-width),calc(100% - 660px)) minmax(0,1fr) 340px}}.picker-grid{grid-auto-rows:max-content}.inspector h3,.inspector p{overflow-wrap:anywhere}
