:root{--app-bg:#08111f;--app-bg2:#0d1726;--panel:#111c2d;--panel2:#0d1726;--line:#26364b;--fg:#f8fafc;--muted:#91a4bd;--accent:#4bb7ff;--green:#22c55e;--amber:#f59e0b;--red:#ef4444;--radius:13px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:linear-gradient(180deg,var(--app-bg2),var(--app-bg));color:var(--fg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{min-height:100dvh}.hidden{display:none!important}.operator-body{overflow:auto}button,input,select,textarea{font:inherit}button,.button-link,.file-button{border:1px solid var(--line);background:#17263a;color:var(--fg);border-radius:9px;padding:8px 11px;cursor:pointer;transition:.12s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}button:hover,.button-link:hover,.file-button:hover{background:#21344d;border-color:#36516f}button:active{transform:translateY(1px)}button:disabled{opacity:.35;cursor:not-allowed;transform:none}.primary-btn{background:#1478b8;border-color:#2498dc;font-weight:800}.secondary-btn{font-weight:750}.ghost-btn{background:transparent}.danger-outline{border-color:#7b3038;color:#ffb3ba;background:rgba(149,46,53,.12)}
.topbar{min-height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;position:sticky;top:0;z-index:40;background:rgba(8,17,31,.95);backdrop-filter:blur(14px)}.topbar-brand{display:flex;align-items:center;gap:10px;flex:0 0 auto}.brand-logo{width:40px;height:40px;object-fit:contain}.brand-copy h1{font-size:1.15rem;margin:1px 0 0}.eyebrow,.panel-kicker,.control-subheading{font-size:.66rem;font-weight:900;letter-spacing:.15em;color:#6f8baa}.topbar-groups{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.topbar-group{display:flex;gap:6px;align-items:center;padding-right:8px;border-right:1px solid var(--line)}.topbar-group:last-of-type{border-right:0}.topbar-groups .button-link,.topbar-groups button{font-size:.72rem;padding:7px 9px;white-space:nowrap}.help-main-btn{background:#1d5f8e;border-color:#4bb7ff;font-weight:900}.icon-btn{min-width:36px;padding:7px}.status-pill{font-size:.69rem;padding:5px 8px;border-radius:999px;border:1px solid transparent;font-weight:850;white-space:nowrap}.status-pill.idle{background:#1c2a3c;color:#9fb1c8;border-color:#31445e}.status-pill.online,.status-pill.running{background:rgba(34,197,94,.13);color:#72e69c;border-color:rgba(34,197,94,.32)}.status-pill.offline,.status-pill.finished{background:rgba(239,68,68,.12);color:#ff8f8f;border-color:rgba(239,68,68,.3)}.status-pill.paused{background:rgba(245,158,11,.12);color:#ffc766;border-color:rgba(245,158,11,.3)}
.operator-grid{display:grid;grid-template-columns:minmax(280px,330px) minmax(480px,1fr) minmax(300px,390px);gap:10px;padding:10px;max-width:1800px;margin:0 auto}.left-stack,.center-stack,.right-stack{display:flex;flex-direction:column;gap:10px;min-width:0}.panel{background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:var(--radius);padding:12px;box-shadow:0 10px 26px rgba(0,0,0,.16)}.panel h2{font-size:.92rem;margin:2px 0 8px}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:9px}.panel-help{width:28px;height:28px;padding:0;border-radius:50%;font-weight:950;color:#b7dbf3}.inline-heading-actions,.warning-heading-actions{display:flex;gap:7px;align-items:center}.muted-copy{font-size:.75rem;line-height:1.45;color:var(--muted)}.muted-copy.small{font-size:.69rem}
input[type=text],input[type=number],select,textarea{width:100%;background:#0a1422;border:1px solid #30445f;color:var(--fg);border-radius:8px;padding:9px 10px;outline:none}textarea{resize:vertical;min-height:72px}input:focus,select:focus,textarea:focus{border-color:#4bb7ff;box-shadow:0 0 0 3px rgba(75,183,255,.12)}select{color-scheme:dark}select option{background:#0a1422;color:#f8fafc}.switch-label,.toggle{display:flex;align-items:center;gap:7px;color:#d9e4f0;font-size:.75rem}.switch-label input,.toggle input{accent-color:var(--accent)}.toggle{border:1px solid var(--line);background:#0b1726;border-radius:8px;padding:7px 8px}.toggle.slim{height:39px;white-space:nowrap}
.queue-input-grid{display:grid;grid-template-columns:110px 1fr auto;gap:7px;align-items:end}.queue-input-grid label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:.7rem}#queueList{list-style:none;padding:0;margin:9px 0;display:flex;flex-direction:column;gap:5px;max-height:280px;overflow:auto}.queue-item{display:grid;grid-template-columns:32px 28px 1fr 30px;align-items:center;gap:4px;border:1px solid var(--line);background:#0b1726;border-radius:8px;padding:5px}.queue-item.active{border-color:#4bb7ff;background:#0e2134}.queue-play,.queue-item>button:last-child{padding:4px 7px;min-width:28px}.queue-index{font-size:.71rem;color:#6f8baa}.queue-info{display:flex;flex-direction:column;min-width:0}.queue-info strong{font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-info span{font-size:.7rem;color:var(--muted);font-variant-numeric:tabular-nums}.queue-empty{text-align:center;color:var(--muted);padding:12px}.queue-actions{display:flex;justify-content:flex-end}
.appearance-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.appearance-grid label,.chroma-options label{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);background:#0b1726;padding:6px 8px;border-radius:8px;color:var(--muted);font-size:.72rem}.appearance-grid input[type=color],.chroma-options input[type=color]{width:30px;height:25px;border:0;background:transparent}.range-row{display:flex;flex-direction:column;gap:4px;margin-top:8px;color:var(--muted);font-size:.72rem}.range-row input{accent-color:var(--accent)}.size-preset-row,.appearance-mode-row,.font-buttons,.message-main-actions,.message-presets,.attention-row{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.size-preset-row button{font-size:.68rem;padding:6px 8px;flex:1}.appearance-mode-row button.active,#flashTimerBtn.active,#flashMessageBtn.active,#chromaInvertBtn.active{border-color:#4bb7ff;box-shadow:inset 0 0 0 1px #4bb7ff}.toggle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:7px}.chroma-options{margin-top:7px;display:grid;grid-template-columns:1fr 1fr;gap:6px}.font-controls{border-top:1px solid var(--line);margin-top:9px;padding-top:9px;display:grid;grid-template-columns:1.3fr .8fr;gap:7px}.font-controls label:not(.file-button){display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:.7rem}.font-buttons{grid-column:1/-1;margin-top:0}.file-button{font-size:.72rem}.file-button input{display:none}#fontStatus{grid-column:1/-1}
.warning-rules{display:flex;flex-direction:column;gap:6px}.warning-rules.rules-disabled{opacity:.42}.warning-rule{display:grid;grid-template-columns:24px 68px minmax(80px,1fr) 32px 28px;gap:5px;align-items:center;padding:6px;border:1px solid var(--line);background:#0b1726;border-radius:8px}.warning-rule>input[type=text]{padding:6px 7px;font-size:.69rem}.warning-rule>input[type=color]{width:30px;height:28px;padding:0;border:0;background:transparent}.warning-rule button{padding:5px 6px;font-size:.67rem}.warning-empty{border:1px dashed var(--line);border-radius:8px;padding:10px;color:var(--muted);text-align:center;font-size:.72rem}
.transport-panel{padding:14px}.transport-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.operator-timer{font-weight:900;font-variant-numeric:tabular-nums;font-size:clamp(4.3rem,8.6vw,8.8rem);line-height:.92;letter-spacing:.01em;margin-top:0;text-shadow:0 5px 25px rgba(0,0,0,.35)}.operator-timer.overtime{color:#ff3030!important}.operator-state-wrap{display:flex;flex-direction:column;gap:5px;align-items:flex-end}.operator-state{font-size:.68rem;font-weight:900;letter-spacing:.12em;border:1px solid var(--line);padding:6px 8px;border-radius:999px;color:var(--muted)}.operator-warning{max-width:230px;padding:5px 8px;border-radius:999px;border:1px solid var(--warning-chip,#ff3030);color:var(--warning-chip,#ff3030);font-size:.65rem;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timer-entry-row{display:grid;grid-template-columns:1fr auto auto;gap:7px;align-items:end;margin-top:10px}.duration-entry label{display:block;color:var(--muted);font-size:.69rem;margin:0 0 4px 3px}.time-input{font-weight:800;font-size:.95rem!important;font-variant-numeric:tabular-nums}.control-subheading{margin-top:10px}.preset-row{display:flex;gap:5px;flex-wrap:wrap;margin:6px 0}.preset-row button{padding:6px 9px;font-size:.73rem;font-weight:750}.transport-buttons{display:grid;grid-template-columns:1.35fr .8fr .8fr 1fr;gap:7px;margin-top:10px}.transport{min-height:45px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.transport.start{background:#138a4e;border-color:#22c55e}.transport.pause{background:#9a6409;border-color:#d99520}.transport.stop{background:#952e35;border-color:#d6525c}.transport.next{background:#245e98;border-color:#4bb7ff}.attention-row{justify-content:flex-end}.adjust-inline{border-top:1px solid var(--line);margin-top:10px;padding-top:8px}.adjust-block{display:grid;grid-template-columns:60px 1fr;gap:7px;align-items:center;margin-top:6px}.adjust-label{font-size:.63rem;font-weight:950;letter-spacing:.09em}.adjust-label.add{color:#77e69e}.adjust-label.subtract{color:#ff9c9c}.adjust-row{display:flex;gap:4px;flex-wrap:wrap}.adjust-row button{padding:6px 8px;font-size:.7rem;min-width:44px}
.presenter-panel textarea{margin-top:3px}.message-main-actions button,.message-presets button{font-size:.71rem}.message-presets button{padding:6px 8px}.presenter-panel .muted-copy{margin-top:7px}
.preview-frame-shell{aspect-ratio:16/9;background:#000;border:1px solid #31455e;border-radius:9px;overflow:hidden}.preview-frame-shell iframe{width:100%;height:100%;border:0;display:block}.display-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:7px}.display-actions.primary-row{grid-template-columns:1.4fr .8fr .8fr}.display-actions.single-action{grid-template-columns:1fr}.remote-placeholder{padding:10px}
.local-output-overlay{position:fixed;inset:0;z-index:1000;background:#000;cursor:none}.local-output-overlay iframe{width:100%;height:100%;border:0;display:block;pointer-events:none}
.help-backdrop,.mini-backdrop{position:fixed;inset:0;z-index:5000;background:rgba(2,8,18,.78);display:flex;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(8px)}.help-dialog{width:min(980px,96vw);max-height:90vh;display:flex;flex-direction:column;background:#0b1625;border:1px solid #30445f;border-radius:15px;overflow:hidden}.help-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;border-bottom:1px solid var(--line);background:#0d1a2b}.help-header h2{margin:0;font-size:1.05rem}.help-close{width:34px;height:34px;min-width:34px;padding:0;border-radius:50%;font-size:1.15rem}.help-layout{display:grid;grid-template-columns:190px 1fr;min-height:0}.help-index{padding:10px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:5px;overflow:auto}.help-index button{justify-content:flex-start;font-size:.7rem;padding:7px 8px}.help-scroll{overflow:auto;padding:14px 16px 18px}.help-section{padding:2px 0 15px;margin-bottom:14px;border-bottom:1px solid var(--line)}.help-section h3{font-size:.9rem;margin:0 0 7px}.help-section p{color:#cbd7e5;font-size:.76rem;line-height:1.5}.help-section code,.help-section kbd{background:#08111d;border:1px solid #24374e;border-radius:4px;padding:1px 4px;color:#b8daf1}.mini-dialog{width:min(520px,94vw);background:#0b1625;border:1px solid #30445f;border-radius:14px;overflow:hidden}.context-help-body{padding:15px;color:#d4dfeb;font-size:.8rem;line-height:1.55}.shortcut-grid{padding:15px;display:grid;grid-template-columns:1fr 1fr;gap:8px;color:#d4dfeb;font-size:.77rem}.shortcut-grid kbd{background:#08111d;border:1px solid #30445f;border-bottom-width:2px;border-radius:5px;padding:2px 5px}.bridge-address-label{display:block;margin-bottom:5px;color:var(--muted);font-size:.71rem}.bridge-address-row{display:grid;grid-template-columns:1fr auto auto;gap:6px;max-width:520px}.bridge-hint{margin-top:6px}.modal-open{overflow:hidden}
@media(max-width:1250px){.operator-grid{grid-template-columns:280px minmax(460px,1fr)}.right-stack{grid-column:1/-1;display:grid;grid-template-columns:1.4fr 1fr;align-items:start}.output-monitor-panel{grid-row:1/3}.topbar{align-items:flex-start}.topbar-groups{justify-content:flex-start}}
@media(max-width:900px){.operator-grid{display:flex;flex-direction:column}.right-stack{display:flex}.timer-entry-row{grid-template-columns:1fr 1fr}.duration-entry{grid-column:1/-1}.operator-timer{font-size:19vw}.help-layout{grid-template-columns:1fr}.help-index{display:none}}
@media(max-width:600px){.topbar{position:static}.topbar-group{border-right:0;padding-right:0}.queue-input-grid{grid-template-columns:1fr}.transport-buttons{grid-template-columns:1fr 1fr}.toggle-grid{grid-template-columns:1fr}.warning-rule{grid-template-columns:24px 62px 1fr 32px}.warning-test,.warning-delete{grid-row:2}.font-controls{grid-template-columns:1fr}.display-actions,.display-actions.primary-row{grid-template-columns:1fr 1fr}.shortcut-grid{grid-template-columns:1fr}}


/* v5.0.1 UI fixes */
.topbar{min-height:58px;padding:7px 12px;gap:10px}
.topbar-brand{gap:8px}.brand-logo{width:34px;height:34px}.brand-copy h1{font-size:1.02rem}.eyebrow{font-size:.6rem}
.topbar-groups{flex:1 1 auto;display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:nowrap;min-width:0}
.topbar-group{gap:5px;padding-right:6px;flex:0 0 auto}
.topbar-groups .button-link,.topbar-groups button{font-size:.67rem;padding:6px 8px;min-height:31px}
.status-pill{font-size:.63rem;padding:4px 7px}
.help-main-btn{padding-inline:9px!important}.icon-btn{min-width:31px!important}

.transport-buttons{display:grid!important;grid-template-columns:1.25fr .8fr .8fr 1fr!important;gap:7px!important}
.transport-buttons .transport.next{grid-column:auto!important;width:auto!important}

.output-monitor-panel .display-actions.primary-row{grid-template-columns:1.1fr .72fr .72fr!important}
.output-monitor-panel .display-actions button{min-height:38px!important;padding:7px 8px!important;font-size:.68rem!important;line-height:1.15!important;white-space:nowrap!important}

#messageInput{display:block!important;width:100%!important;max-width:none!important;min-height:96px!important;padding:11px 12px!important;background:#0a1422!important;color:#f8fafc!important;border:1px solid #30445f!important;border-radius:9px!important;resize:vertical!important;line-height:1.4!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:.83rem!important}
#messageInput::placeholder{color:#72869e!important;opacity:1!important}
#messageInput:focus{border-color:#4bb7ff!important;box-shadow:0 0 0 3px rgba(75,183,255,.12)!important;outline:none!important}
.presenter-panel .message-main-actions{display:grid!important;grid-template-columns:1.25fr 1fr .7fr 1.15fr!important;gap:6px!important}
.presenter-panel .message-main-actions button{width:100%!important;min-height:38px!important}
.presenter-panel .message-presets{display:flex!important;flex-wrap:wrap!important;gap:6px!important}

select,select option{background:#0a1422!important;color:#f8fafc!important}
select:disabled{color:#718096!important}

@media(max-width:1180px){.topbar-groups{flex-wrap:wrap;justify-content:flex-end}.topbar{align-items:flex-start}.topbar-group{border-right:0;padding-right:0}}
@media(max-width:700px){.presenter-panel .message-main-actions{grid-template-columns:1fr 1fr!important}.transport-buttons{grid-template-columns:1fr 1fr!important}.topbar-groups{justify-content:flex-start}}
