.console-app{height:100vh;display:grid;grid-template-rows:auto 1fr auto;min-width:0;background:var(--bg-app)}.chrome{display:flex;flex-direction:column;min-width:0}.alert-bar,.reader-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 20px;font-size:13px}.alert-bar{background:color-mix(in srgb,var(--danger) 16%,var(--bg-panel));color:var(--danger);border-bottom:1px solid color-mix(in srgb,var(--danger) 45%,var(--border))}.alert-bar__actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.reader-bar{background:color-mix(in srgb,var(--accent) 10%,var(--bg-panel));border-bottom:1px solid var(--border);color:var(--text-2)}.topbar{display:flex;align-items:center;gap:16px;padding:8px 20px;min-height:48px;border-bottom:1px solid var(--border);background:var(--bg-panel)}.topbar__brand{display:flex;align-items:center;gap:12px;min-width:0}.topbar__title{font-weight:600;white-space:nowrap}.topbar__state{color:var(--accent);font-weight:600;white-space:nowrap}.topbar__clock{font-variant-numeric:tabular-nums;color:var(--text-2);white-space:nowrap}.topbar__dots{margin-left:auto;color:var(--text-2);display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.status-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--bg-input);font-size:12px;white-space:nowrap}.status-chip.is-ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,var(--border))}.status-chip.is-off{color:var(--text-dim)}.status-chip.is-warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,var(--border))}.status-chip.is-mute{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}.dot-ok{color:var(--ok)}.dot-off{color:var(--text-dim)}.main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0}@media(max-width:1279px){.main{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.col-right{order:-1}}.col-left,.col-right{min-height:0;overflow:auto;padding:16px 20px;display:flex;flex-direction:column;gap:12px}.col-left{border-right:1px solid var(--border)}.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px 16px;box-shadow:var(--shadow-panel)}.panel h2{margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border);font-size:12px;color:var(--text-2);font-weight:600;letter-spacing:.04em;display:flex;align-items:center;justify-content:space-between;gap:8px}.panel h2 button.ghost{padding:3px 8px;font-size:12px;font-weight:500;letter-spacing:0}.panel--emergency{border-color:color-mix(in srgb,var(--danger) 32%,var(--border));background:color-mix(in srgb,var(--danger) 6%,var(--bg-panel));position:sticky;bottom:0;z-index:2}.panel--emergency h2{color:var(--danger);border-bottom-color:color-mix(in srgb,var(--danger) 28%,var(--border))}.form-row{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;column-gap:10px;row-gap:4px;margin-bottom:10px}.form-row:last-child{margin-bottom:0}.form-row label{color:var(--text-2);font-size:13px}.form-row input:not([type=radio]):not([type=checkbox]),.form-row select,.form-row textarea{width:100%;background:var(--bg-input);border:1px solid var(--border);padding:7px 10px}.form-row textarea{min-height:64px;resize:vertical;grid-column:2}.form-row .hint{grid-column:2}.form-row--split .hint{grid-column:3}.form-row--split{grid-template-columns:48px auto 1fr}.form-row--split select{width:auto;min-width:88px}.readonly-dl{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px 10px;margin:0}.readonly-dl dt{color:var(--text-2);font-size:13px}.readonly-dl dd{margin:0;min-width:0;word-break:break-word}.readonly-dl .muted{color:var(--text-dim)}.radio-group{display:flex;gap:4px;flex-wrap:wrap}.radio-group label{display:inline-flex;align-items:center;gap:6px;width:auto;padding:5px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);cursor:pointer;color:var(--text-2);font-size:13px}.radio-group label:has(input:checked){border-color:var(--accent);color:var(--text-1);background:color-mix(in srgb,var(--accent) 12%,var(--bg-input))}.radio-group label:has(input:disabled){cursor:not-allowed;opacity:.55}.radio-group input{accent-color:var(--accent);width:auto;margin:0}button.primary,button.ghost,button.danger,button.link{cursor:pointer}button.primary{background:var(--accent);color:var(--on-accent);border:0;padding:8px 14px;font-weight:600}button.primary:disabled{opacity:.45;color:var(--text-dim);cursor:not-allowed}button.ghost{background:var(--bg-input);border:1px solid var(--border);padding:6px 10px}button.ghost.is-copied{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,var(--border))}button.ghost:disabled,button.link:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.55;color:var(--text-dim);cursor:not-allowed}button.link{background:none;border:0;color:var(--accent);padding:0 4px}button.danger{background:var(--danger);color:var(--on-accent);border:0;padding:6px 10px;font-weight:600}button.danger:disabled{opacity:.45;cursor:not-allowed}.start-btn{width:100%;padding:10px 14px;font-size:15px}.dropzone{display:block;border:1px dashed var(--border);background:var(--bg-input);padding:18px 12px;text-align:center;color:var(--text-2);margin-bottom:10px;cursor:pointer;border-radius:var(--radius-sm)}.dropzone--over{border-color:var(--accent);color:var(--text-1);background:color-mix(in srgb,var(--accent) 10%,var(--bg-input))}.dropzone input{display:none}.upload-requirements{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 12px;margin-top:6px;color:var(--text-dim);font-size:12px;line-height:1.4}.empty{text-align:center;padding:20px 12px 8px;color:var(--text-2);line-height:1.7}.empty strong{display:block;color:var(--text-1);font-size:14px;margin-bottom:4px}.drag-handle{cursor:grab;color:var(--text-2);-webkit-user-select:none;user-select:none;width:14px;text-align:center}.drag-handle--off{cursor:default;opacity:.28}.asset-row--drop{outline:1px dashed var(--accent);outline-offset:-1px}.asset-row--dragging{opacity:.55}.asset-row--playing{background:color-mix(in srgb,var(--ok) 8%,transparent)}.chips{display:flex;gap:6px;margin-bottom:8px}.chips button{background:var(--bg-input);border:1px solid var(--border);padding:3px 10px;cursor:pointer;font-size:12px;border-radius:999px}.chips button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg-input))}.asset-list{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-input)}.asset-row{padding:8px 10px;border-bottom:1px solid var(--border)}.asset-row:last-child{border-bottom:0}.asset-row__main{display:grid;grid-template-columns:16px 18px auto minmax(0,1fr) auto;align-items:center;gap:8px}.asset-row__identity{display:flex;align-items:center;gap:8px;min-width:0}.asset-row__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-row__flags{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;font-size:12px}.asset-row__actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.asset-type{flex-shrink:0;font-size:11px;padding:1px 6px;border-radius:999px;border:1px solid var(--border);color:var(--text-2)}.asset-type--song{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.asset-type--dance{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,var(--border))}.asset-type--idle{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,var(--border))}.song-no{color:var(--accent);font-variant-numeric:tabular-nums}.asset-row__meta{color:var(--text-2);font-size:12px;margin:4px 0 0 46px}.progress{height:3px;margin:6px 0 0 46px;background:var(--border);border-radius:99px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent);width:var(--progress)}.status-ok{color:var(--ok)}.status-warn{color:var(--warn)}.status-err{color:var(--danger)}.summary{color:var(--text-2);font-size:12px;margin-top:10px}.card-form{margin-top:10px;padding:12px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:10px}.card-form__file{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;color:var(--text-2);font-size:12px}.card-form .req{color:var(--danger)}.field{display:flex;flex-direction:column;gap:4px}.field>label{color:var(--text-2);font-size:12px}.field input,.field textarea{background:var(--bg-input);border:1px solid var(--border);padding:7px 10px;width:100%}.tag-list{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tag-list input{width:120px;background:var(--bg-input);border:1px solid var(--border);padding:4px 8px}.tag{display:inline-flex;align-items:center;gap:2px;background:var(--bg-input);border:1px solid var(--border);padding:1px 4px 1px 8px;border-radius:999px;font-size:12px}.preview-box{width:min(260px,100%);margin:0 auto;aspect-ratio:1080 / 1920;background:var(--bg-app);border-radius:var(--radius-sm);overflow:hidden}.preview-box video,.preview-box img{width:100%;height:100%;object-fit:contain}.controls-disabled{opacity:.5;pointer-events:none}.controls-preview{display:grid;grid-template-columns:1fr 1fr;gap:8px}.controls-preview__item{padding:10px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);font-size:13px}.hint{color:var(--text-2);font-size:12px}.warn-line{color:var(--warn);margin-top:8px;font-size:13px}.preflight-list{display:flex;flex-direction:column;gap:2px}.preflight-item{display:grid;grid-template-columns:1.2em minmax(0,auto) minmax(0,1fr);gap:8px;align-items:baseline;padding:5px 6px;border-radius:var(--radius-sm)}.preflight-item.is-err{background:color-mix(in srgb,var(--danger) 8%,transparent)}.preflight-item .reason{color:var(--text-2);font-size:12px}.action-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0}.action-row--flush{margin:0}.preflight-actions{display:flex;gap:8px;margin:14px 0 10px}.log-panel{border-top:1px solid var(--border);background:var(--bg-panel);height:calc(6.75em + 2.4rem);display:flex;flex-direction:column;padding:6px 20px 8px}.log-panel__head{display:flex;justify-content:space-between;align-items:center;color:var(--text-2);font-size:12px;margin-bottom:2px}.log-panel__actions{display:inline-flex;align-items:center;gap:12px}.log-panel__sort{display:inline-flex;align-items:center;gap:2px}.log-panel__actions .icon-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-dim);cursor:pointer}.log-panel__actions .icon-btn:hover{color:var(--text-2);background:var(--bg-input)}.log-panel__actions .icon-btn.is-active{color:var(--accent);border-color:var(--border);background:var(--bg-input)}.log-panel__actions button.link{font-size:12px;color:var(--text-2)}.log-panel__actions button.link:disabled{opacity:.45}.log-panel__head label{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.log-panel__body{overflow:auto;flex:1;font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;line-height:1.35}.log-panel__body .warn{color:var(--warn)}.log-panel__body .error{color:var(--danger)}.overtime{color:var(--warn)}.plan-box{background:color-mix(in srgb,var(--bg-input) 70%,var(--bg-panel));border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:10px;display:grid;grid-template-columns:4.5em minmax(0,1fr);gap:6px 10px;align-items:baseline}.plan-box--paused{color:var(--warn);display:flex;flex-direction:column;gap:4px}.plan-k{color:var(--text-2);font-size:12px}.plan-v{min-width:0}.speech-log{display:flex;flex-direction:column;gap:6px;margin:0 0 10px;min-width:0}.speech-log__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;color:var(--text-2);font-size:12px}.speech-log__count{color:var(--text-3, var(--text-2));font-variant-numeric:tabular-nums}.speech-log__body{max-height:9.5em;overflow-x:hidden;overflow-y:auto;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg-input) 55%,var(--bg-panel));display:flex;flex-direction:column;gap:6px;min-width:0}.speech-log__body--empty{justify-content:center;min-height:2.5em}.speech-log__line{color:var(--text-2);font-size:13px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.speech-log__line--current{color:var(--text-1)}.field-block{display:flex;flex-direction:column;gap:4px;margin:0}.field-block textarea{min-height:48px;max-height:96px;resize:vertical;background:var(--bg-input);border:1px solid var(--border);padding:8px 10px}.compose{display:flex;flex-direction:column;gap:6px}.compose--split{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.compose__bar{display:flex;align-items:center;justify-content:space-between;gap:8px}.char-count{color:var(--text-dim);font-size:12px;font-variant-numeric:tabular-nums}.char-count--over{color:var(--danger)}.queue-list{margin:8px 0 12px;padding-left:20px;color:var(--text-2);max-height:116px;overflow:auto}.asset-requirements{display:grid;gap:5px;margin:0 0 10px;padding:8px 10px;border-left:2px solid var(--border);background:color-mix(in srgb,var(--bg-input) 55%,var(--bg-panel))}.asset-requirements__title{color:var(--text-2);font-size:12px}.asset-requirement{display:flex;align-items:baseline;gap:6px;font-size:13px}.asset-requirement__detail{color:var(--text-2);font-size:12px}.queue-list li+li{margin-top:2px}.cut-row{display:grid;grid-template-columns:1.5em minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:8px}.cut-row select{width:100%;background:var(--bg-input);border:1px solid var(--border);padding:6px 8px}.pending-row{margin:8px 0 0;padding:8px 10px;color:var(--warn);background:color-mix(in srgb,var(--warn) 10%,var(--bg-input));border:1px solid color-mix(in srgb,var(--warn) 30%,var(--border));border-radius:var(--radius-sm);display:flex;flex-wrap:wrap;align-items:center;gap:8px}.end-sep{border:0;border-top:1px solid color-mix(in srgb,var(--danger) 28%,var(--border));margin:12px 0}.emergency-row{margin-bottom:0}.live-stack{display:flex;flex-direction:column;gap:12px}
