:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{color:#eee;background:#000;height:100%;margin:0}.scene-stage{aspect-ratio:16/9;background:#070707;width:100%;position:relative;overflow:hidden}.scene-stage__live{isolation:isolate;background:#000;outline:1px solid #333;position:absolute;inset:15%}.scene-stage__deadzone-label{letter-spacing:1px;text-transform:uppercase;color:#555;pointer-events:none;font-size:10px;position:absolute;top:1%;left:15%}.scene-asset{pointer-events:none;-webkit-user-select:none;user-select:none;touch-action:none;position:absolute;transform:translate(-50%,-50%)scale(1)}.scene-asset video,.scene-asset img{object-fit:contain;width:100%;height:100%;display:block}.scene-stage[data-interactive=true] .scene-asset{pointer-events:auto;cursor:grab}.scene-asset--selected{outline:2px solid #4af}.scene-asset--marquee-preview{outline-offset:2px;outline:2px dashed #4af}.scene-asset__resize-handle{cursor:nwse-resize;background:#4af;border:2px solid #fff;border-radius:4px;width:16px;height:16px;padding:0;position:absolute;bottom:-8px;right:-8px}.scene-stage__marquee{pointer-events:none;background:#44aaff1a;border:1px solid #4af}.control{flex-direction:column;height:100%;display:flex}.control__topbar{background:#0b0b0b;border-bottom:1px solid #222;align-items:center;gap:16px;padding:8px 16px;display:flex}.control__topbar h1{letter-spacing:2px;margin:0;font-size:16px}.control__audio{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.control__audio-manual{align-items:center;gap:6px;font-size:13px;display:flex}.control__undo-redo{gap:4px;display:flex}.control__audio-manual input{width:64px}.control__audio-error{color:#f66;font-size:12px}.control__footer{color:#555;background:#0b0b0b;border-top:1px solid #222;justify-content:center;padding:6px 16px;font-size:11px;display:flex}.control__main{flex:1;grid-template-columns:280px 1fr 260px;gap:12px;min-height:0;padding:12px;display:grid}.control__left{background:#0b0b0b;border:1px solid #222;border-radius:8px;flex-direction:column;min-height:0;display:flex}.control__tabs{gap:4px;padding:8px 8px 0;display:flex}.control__tab{white-space:nowrap;text-overflow:ellipsis;border-color:#0000;border-bottom-right-radius:0;border-bottom-left-radius:0;flex:1;min-width:0;padding:6px 4px;font-size:12px;overflow:hidden}.control__tab--active{background:#161616;border-color:#333}.control__panel{flex-direction:column;flex:1;min-height:0;padding:10px;display:flex}.control__panel[hidden]{display:none}.control__stage{flex-direction:column;gap:10px;min-height:0;display:flex}.control__stage-canvas{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:auto}.control__stage .scene-stage{max-width:100%;max-height:100%}button{color:#eee;cursor:pointer;background:#1a1a1a;border:1px solid #333;border-radius:6px;padding:6px 12px}button:hover:not(:disabled){background:#262626}button:disabled{opacity:.5;cursor:default}input,select{color:#eee;background:#111;border:1px solid #333;border-radius:6px;padding:6px 8px}.favorites{flex-direction:column;flex:1;min-height:0;display:flex}.favorites input{width:100%}.favorites__empty{color:#777;margin:10px 0 0;font-size:12px}.favorites__grid{flex:1;grid-template-columns:repeat(2,1fr);align-content:start;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid;overflow-y:auto}.favorites__slot{border:1px solid #222;border-radius:6px;padding:4px}.favorites__slot--dragging{opacity:.5}.favorites__slot--drop-target{border-color:#fd4}.search-panel{flex-direction:column;flex:1;min-height:0;display:flex}.search-panel form{gap:6px;display:flex}.search-panel input{flex:1;min-width:0}.search-error{color:#f66;margin:8px 0 0;font-size:12px}.search-results{flex:1;margin-top:10px;overflow-y:auto}.search-results__grid{align-items:flex-start;gap:6px;display:flex}.search-results__column{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.search-results__more{width:100%;margin-top:10px}.search-result{background:#111;border-radius:6px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.search-result__star{z-index:2;color:#fff;cursor:pointer;background:#0009;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;font-size:16px;line-height:1;display:flex;position:absolute;top:4px;right:4px}.search-result__star[aria-pressed=true]{color:#fd4}.search-result img,.search-result video{object-fit:cover;width:100%;height:100%;display:block}.scene-bar{background:#0b0b0b;border:1px solid #222;border-radius:8px;flex:none;align-items:center;gap:10px;min-height:84px;padding:8px 10px;display:flex}.scene-bar__label{text-transform:uppercase;letter-spacing:1px;color:#777;flex-direction:column;flex:none;align-items:center;font-size:10px;display:flex}.scene-bar__label span{letter-spacing:0;color:#ddd;font-size:15px}.scene-bar__empty{color:#777;text-align:center;flex:1;margin:0;font-size:12px}.scene-bar__items{flex:1;gap:10px;min-width:0;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.scene-bar__row{flex:none;position:relative}.scene-tile{border-radius:6px;width:74px;height:58px;padding:0;position:relative;overflow:hidden}.scene-tile--selected{border-color:#4af}.scene-tile__thumb{object-fit:cover;width:100%;height:100%;display:block}.scene-tile__badge{text-transform:uppercase;letter-spacing:1px;border-radius:3px;padding:1px 4px;font-size:9px;position:absolute;bottom:2px;left:2px}.scene-tile__badge--live{color:#4c4;background:#0d1a0d}.scene-tile__badge--staged{color:#da6;background:#1a1408}.scene-bar__remove{color:#f99;background:#141014;border-color:#633;border-radius:50%;width:18px;height:18px;padding:0;font-size:13px;line-height:1;position:absolute;top:-5px;right:-5px}.library-transfer{flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0;display:flex}.library-transfer__status,.library-transfer__error{width:100%;margin:0;font-size:11px}.library-transfer__status{color:#777}.library-transfer__error{color:#f66}.presets{flex-direction:column;flex:1;min-height:0;display:flex}.presets__hint{color:#777;margin:0 0 10px;font-size:11px}.presets__new{margin-bottom:10px}.presets__list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.presets__slot{border:1px solid #222;border-radius:6px;flex-direction:column;gap:6px;padding:8px;display:flex}.scene-thumb{aspect-ratio:16/9;background:#000;border-radius:4px;width:100%;position:relative;overflow:hidden}.scene-thumb__asset{position:absolute;transform:translate(-50%,-50%)}.scene-thumb__asset img{object-fit:contain;width:100%;height:100%;display:block}.presets__slot-info{justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.presets__name{flex:1;min-width:0;padding:4px 8px;font-size:12px}.presets__key{color:#888;border:1px solid #333;border-radius:4px;flex:none;padding:2px 6px;font-size:10px}.presets__slot--dragging{opacity:.4}.presets__slot--drop-target{border-color:#4af}.presets__empty{color:#666}.presets__slot-actions{flex-wrap:wrap;gap:6px;display:flex}.presets__slot-actions button{padding:4px 10px;font-size:12px}.inspector{background:#0b0b0b;border:1px solid #222;border-radius:8px;flex-direction:column;gap:10px;padding:10px;display:flex;overflow-y:auto}.inspector__empty{color:#777;font-size:13px}.inspector__title{overflow-wrap:anywhere;margin:0;font-size:14px}.inspector label{color:#aaa;flex-direction:column;gap:4px;font-size:12px;display:flex}.inspector__z{gap:6px;display:flex}.inspector__section{color:#aaa;text-transform:uppercase;letter-spacing:1px;margin:6px 0 0;font-size:12px}.inspector__hint{color:#666;margin:0;font-size:11px}.inspector__effects{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.inspector__effect{border:1px solid #222;border-radius:6px;flex-direction:column;gap:6px;padding:8px;display:flex}.inspector__effect-remove{align-self:flex-start;padding:4px 8px;font-size:12px}.inspector__effect--draft{border-style:dashed;border-color:#4af}.inspector__draft-note{color:#4af;margin:0;font-size:11px}.inspector__draft-actions{gap:6px;display:flex}.inspector__actions{flex-direction:column;gap:6px;display:flex}.inspector__remove{color:#f99;border-color:#633}.inspector__warning{color:#da6;margin:0;font-size:12px}.beat-monitor{align-items:center;gap:10px;margin-left:auto;padding:4px 8px;font-size:13px;display:flex;position:relative}.beat-monitor__dot{background:#555;border-radius:50%;width:10px;height:10px}.beat-monitor__dot--online{background:#4c4}.beat-monitor__bpm{font-variant-numeric:tabular-nums;min-width:64px}.beat-monitor__bands{gap:4px;display:flex}.beat-monitor__band{background:#1a1a1a;border-radius:3px;width:40px;height:6px;display:block;overflow:hidden}.beat-monitor__bar{background:#4af;width:0;height:100%;display:block}.beat-monitor__flash{opacity:0;pointer-events:none;background:#4af;border-radius:6px;position:absolute;inset:0}.projector{background:#000;justify-content:center;align-items:center;height:100%;display:flex;position:relative;overflow:hidden}.projector .scene-stage{width:min(100vw,177.778vh);height:auto}.projector .scene-stage__live{outline:none;inset:0}.projector__overlay{background:#0a0a0ad9;border:1px solid #333;border-radius:10px;max-width:420px;padding:14px;position:absolute;bottom:16px;left:16px}.projector__overlay h1{margin:0 0 6px;font-size:15px}.projector__overlay p{color:#999;margin:0 0 12px;font-size:12px}.projector__overlay-warning{font-weight:600;color:#fc6!important}.projector__overlay-buttons{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.projector__manual{align-items:center;gap:6px;font-size:13px;display:flex}.projector__manual input{width:64px}.projector__error{color:#f66;margin:10px 0 0;font-size:12px}.projector__gear{opacity:.25;position:absolute;bottom:12px;right:12px}.projector__gear:hover{opacity:1}.perf{max-width:900px;margin:0 auto;padding:20px}.perf__controls{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.perf__stats{font-variant-numeric:tabular-nums;white-space:pre-wrap;border:1px solid #333;border-radius:8px;margin-bottom:12px;padding:10px 14px;font-size:13px;line-height:1.7}.perf__stage{aspect-ratio:16/9;background:#000;width:100%;position:relative;overflow:hidden}.perf-asset{pointer-events:none;position:absolute;transform:translate(-50%,-50%)}.perf-asset video,.perf-asset canvas{object-fit:contain;width:100%;height:100%;display:block}.api-key-modal__backdrop{z-index:1000;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.api-key-modal{color:#eee;background:#0b0b0b;border:1px solid #333;border-radius:12px;width:90%;max-width:500px;padding:24px;box-shadow:0 8px 32px #00000080}.api-key-modal::backdrop{background:#000c}.api-key-modal h2{text-align:center;margin:0 0 12px;font-size:18px;font-weight:600}.api-key-modal__instructions{color:#aaa;text-align:center;margin:0 0 16px;font-size:13px;line-height:1.5}.api-key-modal__instructions a{color:#4af}.api-key-modal__instructions a:hover{color:#6cf}.api-key-modal__label{flex-direction:column;gap:6px;margin-bottom:12px;font-size:13px;font-weight:500;display:flex}.api-key-modal__input{color:#eee;background:#161616;border:1px solid #333;border-radius:6px;outline:none;padding:8px 12px;font-size:13px}.api-key-modal__input:focus{border-color:#4af}.api-key-modal__input::placeholder{color:#666}.api-key-modal__error{color:#f66;text-align:center;margin:0 0 12px;font-size:13px}.api-key-modal__buttons{justify-content:center;gap:12px;display:flex}.api-key-modal__button{color:#eee;cursor:pointer;background:#161616;border:1px solid #333;border-radius:6px;padding:8px 16px;font-size:13px}.api-key-modal__button:not(:disabled):hover{background:#222;border-color:#555}.api-key-modal__button:disabled{opacity:.5;cursor:not-allowed}.api-key-modal__button--primary{color:#000;background:#4af;border-color:#4af;font-weight:600}.api-key-modal__button--primary:not(:disabled):hover{background:#6cf;border-color:#6cf}.help-modal__backdrop{z-index:1000;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.help-modal{color:#eee;background:#0b0b0b;border:1px solid #333;border-radius:12px;width:90%;max-width:560px;max-height:80vh;padding:24px;overflow-y:auto;box-shadow:0 8px 32px #00000080}.help-modal h2{margin:0 0 16px;font-size:18px;font-weight:600}.help-modal h3{color:#4af;letter-spacing:.5px;text-transform:uppercase;margin:0 0 6px;font-size:13px;font-weight:600}.help-modal section{margin-bottom:14px}.help-modal ul{margin:0;padding-left:18px}.help-modal li{color:#ccc;margin-bottom:4px;font-size:13px;line-height:1.5}.help-modal__buttons{justify-content:flex-end;gap:8px;display:flex}.help-modal__button--secondary{color:#eee;background:#161616;border-color:#333;font-weight:400}.help-modal__button--secondary:hover{background:#222;border-color:#555}.help-modal__button--danger{color:#ff9f9f;background:#2a1212;border-color:#6b2020;font-weight:400}.help-modal__button--danger:hover{background:#3a1616;border-color:#8b2a2a}.welcome{background:#000;justify-content:center;align-items:center;height:100%;display:flex}.welcome__card{background:#0b0b0b;border:1px solid #222;border-radius:12px;width:90%;max-width:460px;padding:32px;box-shadow:0 8px 32px #00000080}.welcome__title{letter-spacing:2px;margin:0;font-size:40px;font-weight:700}.welcome__tagline{color:#eee;margin:8px 0 0;font-size:18px}.welcome__steps{color:#999;margin:20px 0 24px;padding-left:18px;font-size:13px;line-height:1.8}.welcome__label{display:block}.welcome__input{color:#eee;background:#161616;border:1px solid #333;border-radius:6px;outline:none;width:100%;padding:10px 12px;font-size:13px}.welcome__input:focus{border-color:#4af}.welcome__input::placeholder{color:#666}.welcome__error{color:#f66;margin:10px 0 0;font-size:13px}.welcome__buttons{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.welcome__link{color:#4af;font-size:13px}.welcome__link:hover{color:#6cf}.welcome__submit{color:#000;background:#4af;border-color:#4af;padding:8px 20px;font-weight:600}.welcome__submit:not(:disabled):hover{background:#6cf;border-color:#6cf}.tour{z-index:1500;pointer-events:none;position:fixed;inset:0}.tour__spotlight{border:1px solid #4af;border-radius:8px;box-shadow:0 0 0 9999px #000000bf}.tour__card{pointer-events:auto;background:#0b0b0b;border:1px solid #333;border-radius:12px;padding:16px;animation:.16s cubic-bezier(.16,1,.3,1) tour-card-in;box-shadow:0 8px 32px #00000080}@keyframes tour-card-in{0%{opacity:0}to{opacity:1}}.tour__card:focus{outline:1px solid #4af}.tour__counter{letter-spacing:1px;text-transform:uppercase;color:#999;margin:0 0 6px;font-size:10px}.tour__title{margin:0 0 8px;font-size:18px;font-weight:600}.tour__body{color:#999;margin:0 0 14px;font-size:13px;line-height:1.5}.tour__actions{justify-content:space-between;gap:8px;display:flex}.tour__actions button:last-child{color:#000;background:#4af;border-color:#4af;font-weight:600}.tour__actions button:last-child:hover{background:#6cf;border-color:#6cf}.projector__overlay .projector__tour-hint{color:#4af;margin:0 0 12px;font-weight:600}.help-modal__button{color:#000;cursor:pointer;background:#4af;border:1px solid #4af;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600}.help-modal__button:hover{background:#6cf;border-color:#6cf}
