@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--bg:#0a0c0f;--bg-2:#11141a;--bg-3:#181c24;--border:#1e2430;--border-lit:#2a3142;--text:#c8d0dc;--text-dim:#5a6478;--text-bright:#eef0f4;--accent:#f59e0b;--green:#22c55e;--green-bg:#14532d;--green-border:#16a34a;--red:#ef4444;--red-bg:#6b0f0f;--red-border:#991b1b;--cell-empty:#1a1f2a;--font-ui:"Barlow Condensed", sans-serif;--font-mono:"JetBrains Mono", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:16px}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-wrap{flex-direction:column;height:100%;display:flex;overflow:hidden}.app-header{background:var(--bg-2);border-bottom:2px solid var(--accent);flex-shrink:0;align-items:center;gap:16px;height:52px;padding:0 20px;display:flex}.header-branding{opacity:.9;filter:brightness(1.1);width:auto;height:28px;margin-left:auto}.header-logo{font-family:var(--font-mono);color:var(--accent);letter-spacing:.12em;font-size:18px;font-weight:700}.header-client{letter-spacing:.1em;text-transform:uppercase;color:var(--text-bright);background:var(--bg-3);border:1px solid var(--border-lit);padding:3px 10px;font-size:13px;font-weight:600}.header-subtitle{color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;font-size:12px}.app-main{flex-direction:column;flex:1;min-height:0;padding-bottom:28px;display:flex;overflow:hidden}.app-loading{height:100vh;font-family:var(--font-mono);color:var(--accent);letter-spacing:.2em;justify-content:center;align-items:center;font-size:22px;display:flex}.app-error{color:var(--red);font-family:var(--font-mono);padding:40px;font-size:13px}.gv-wrap{flex-direction:column;height:100%;display:flex;overflow:hidden}.gv-header{background:var(--bg-2);border-bottom:2px solid var(--border-lit);flex-shrink:0;align-items:stretch;height:72px;display:flex}.gv-page-nav{border-right:1px solid var(--border-lit);flex-shrink:0;align-items:center;gap:2px;padding:6px 8px;display:flex}.gv-page-btn{background:var(--bg-3);border:1px solid var(--border);color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.1em;cursor:pointer;border-radius:6px;height:100%;padding:0 20px;font-size:12px;font-weight:700;transition:all .15s}.gv-page-btn:hover{color:var(--text-bright);border-color:var(--border-lit);background:#151a24}.gv-page-btn.active{color:var(--accent);border-color:var(--accent);background:#0d1a2a}.gv-stats-right{border-left:1px solid var(--border-lit);flex-shrink:0;align-items:center;gap:4px;margin-left:auto;padding:6px 8px;display:flex}.gv-stat{border:1px solid var(--border);box-sizing:border-box;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;min-width:80px;height:100%;padding:4px 16px;display:flex}.gv-stat.not-committed{background:#3d0a22;border-color:#7a1644}.gv-stat.committed{background:var(--green-bg);border-color:var(--green-border)}.gv-stat.total{background:var(--bg-3);border-color:var(--border-lit)}.gv-stat-label{color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.gv-stat-value{font-family:var(--font-mono);color:var(--text-bright);font-size:22px;font-weight:700;line-height:1}.gv-stat.not-committed .gv-stat-value{color:#f9a8d4}.gv-stat.committed .gv-stat-value{color:var(--green)}.gv-status{text-align:center;color:var(--text-dim);padding:40px;font-size:13px}.gv-status.error{color:var(--red)}.gv-scroll{flex:1;overflow:auto}.gv-table{border-collapse:separate;border-spacing:4px;width:100%;min-width:600px}.gv-table thead{z-index:10;position:sticky;top:0}.gv-th-date{background:var(--bg-2);color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border);white-space:nowrap;width:110px;padding:8px 12px;font-size:11px;font-weight:600}.gv-th-channel{background:var(--bg-2);font-family:var(--font-mono);color:var(--text-bright);letter-spacing:.08em;border:1px solid var(--border);text-align:center;white-space:nowrap;padding:8px 16px;font-size:12px;font-weight:700}.gv-td-date{background:var(--bg-2);font-family:var(--font-mono);color:var(--text-dim);border:1px solid var(--border);white-space:nowrap;width:110px;padding:5px 10px;font-size:11px;font-weight:600}.gv-td-date.today{color:var(--accent);background:#1a1500}.today-row .gv-cell{border-top:1px solid var(--accent)!important;border-bottom:1px solid var(--accent)!important}.gv-cell{border:1px solid var(--border);text-align:center;font-family:var(--font-mono);vertical-align:middle;white-space:nowrap;height:32px;padding:4px 8px;font-size:13px;font-weight:700}.gv-cell.empty{background:var(--cell-empty)}.gv-cell.none-done{background:var(--red-bg);color:#fca5a5;border-color:var(--red-border);cursor:pointer}.gv-cell.none-done:hover{background:#7f1d1d}.gv-cell.all-done{background:var(--green-bg);color:var(--green);border-color:var(--green-border);cursor:pointer}.gv-cell.all-done:hover{background:#166534}.vo-list-panel{flex-direction:column;height:100%;display:flex;overflow:hidden}.panel-header{background:var(--bg-2);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:16px;padding:10px 16px;display:flex}.back-btn{border:1px solid var(--border-lit);color:var(--text-dim);font-family:var(--font-ui);letter-spacing:.1em;cursor:pointer;background:0 0;flex-shrink:0;padding:5px 12px;font-size:12px;font-weight:600;transition:all .15s}.back-btn:hover{color:var(--accent);border-color:var(--accent)}.panel-title{flex:1}.panel-channel{font-family:var(--font-mono);color:var(--accent);letter-spacing:.1em;margin-right:12px;font-size:14px;font-weight:700}.panel-date{color:var(--text-bright);font-size:14px;font-weight:500}.panel-count{font-family:var(--font-mono);color:var(--text-dim);font-size:12px}.panel-status{text-align:center;color:var(--text-dim);padding:40px;font-size:13px}.panel-status.error{color:var(--red)}.vo-list{flex-direction:column;flex:1;gap:1px;padding:8px;display:flex;overflow:auto}.vo-row{background:var(--bg-2);border:1px solid var(--border);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:10px 14px;transition:background .12s,border-color .12s;display:flex}.vo-row:hover{background:var(--bg-3);border-color:var(--border-lit)}.vo-row.committed{border-left:3px solid var(--green)}.vo-row-left{flex-direction:column;gap:3px;min-width:0;display:flex}.vo-matid{font-family:var(--font-mono);color:var(--text-bright);letter-spacing:.06em;font-size:12px;font-weight:700}.vo-detail{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.vo-row-right{flex-shrink:0;align-items:center;gap:14px;display:flex}.vo-dur{font-family:var(--font-mono);color:var(--text-dim);text-align:right;min-width:38px;font-size:12px}.vo-flags{gap:4px;display:flex}.flag{width:20px;height:20px;font-family:var(--font-mono);border-radius:3px;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.flag.on{background:var(--green-bg);color:var(--green)}.flag.off{background:var(--border);color:var(--text-dim)}.coming-soon{color:var(--text-dim);flex-direction:column;gap:16px;padding:40px;font-size:14px;display:flex}.coming-soon strong{color:var(--accent);font-family:var(--font-mono)}.gv-nav{flex:1;justify-content:center;align-items:center;gap:6px;padding:0 16px;display:flex}.gv-nav-btn{background:var(--bg-3);border:1px solid var(--border-lit);color:var(--text);font-family:var(--font-mono);letter-spacing:.1em;cursor:pointer;border-radius:6px;padding:6px 18px;font-size:12px;font-weight:700;transition:all .15s}.gv-nav-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.gv-nav-btn:disabled{opacity:.3;cursor:default}.gv-nav-btn.today{color:var(--accent);border-color:var(--accent)}.gv-row.is-past .gv-td-date{color:var(--text-dim);background:var(--bg-2)}.gv-cell.none-done.is-past{color:#c490a8;background:#2a0e1e;border-color:#4a1a32}.gv-cell.all-done.is-past{color:#4a9960;background:#0a2e14;border-color:#0f4a1e}.gv-cell.empty.is-past{background:#0d0f14}.gv-row.is-today .gv-td-date{color:var(--accent);border-left:3px solid var(--accent);border-right:3px solid var(--accent);background:#1a1500}.gv-cell.is-today{border-top:1px solid var(--accent)!important;border-bottom:1px solid var(--accent)!important}.gv-cell.none-done.is-today{color:#f9a8d4;background:#4a0a2a;border-color:#8b1a50}.gv-cell.all-done.is-today{background:var(--green-bg);color:var(--green);border-color:var(--green-border)}.gv-row.is-future .gv-td-date{color:var(--text);background:#13161f}.gv-cell.none-done.is-future{color:#f9a8d4;background:#3d0a22;border-color:#7a1644}.gv-cell.all-done.is-future{background:var(--green-bg);color:var(--green);border-color:var(--green-border)}.gv-cell.empty.is-future{background:#13161f}.vl-wrap{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.vl-header{background:var(--bg-2);border-bottom:2px solid var(--border-lit);flex-shrink:0;align-items:center;gap:16px;height:72px;padding:0;display:flex}.vl-header .gv-page-nav,.vl-header .gv-page-btn{height:100%}.vl-header .vl-title{padding-left:16px}.vl-page-btn-fixed{text-align:center;justify-content:center;align-items:center;width:96px;display:flex}.vl-header .gv-stats-right{height:100%}.vl-back-btn{background:var(--bg-3);border:1px solid var(--border-lit);color:var(--text);font-family:var(--font-ui);letter-spacing:.1em;cursor:pointer;flex-shrink:0;padding:6px 14px;font-size:12px;font-weight:700;transition:all .15s}.vl-back-btn:hover{color:var(--accent);border-color:var(--accent)}.vl-title{flex:1;align-items:baseline;gap:12px;display:flex}.vl-channel{font-family:var(--font-mono);color:var(--accent);letter-spacing:.1em;font-size:16px;font-weight:700}.vl-date{color:var(--text-bright);font-size:14px;font-weight:500}.vl-stats{font-family:var(--font-mono);align-items:center;gap:10px;font-size:12px;display:flex}.vl-stat-item.not-committed{color:#fca5a5}.vl-stat-item.committed{color:var(--green)}.vl-stat-divider{color:var(--text-dim)}.vl-status{text-align:center;color:var(--text-dim);padding:40px;font-size:13px}.vl-status.error{color:var(--red)}.vl-scroll{flex:1;overflow:auto}.vl-table{border-collapse:collapse;width:100%;min-width:800px}.vl-table thead{z-index:10;position:sticky;top:0}.vl-th{background:var(--bg-3);color:var(--text-bright);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--border);text-align:center;white-space:nowrap;padding:10px 14px;font-size:13px;font-weight:700}.vl-th-detail{text-align:left}.vl-row{cursor:pointer;transition:background .1s}.vl-row:hover td{background:#1a1f2e!important}.vl-row.committed td{background:#0d1f12}.vl-row.committed:hover td{background:#122818!important}.vl-td{border:1px solid var(--border);vertical-align:middle;background:var(--bg-2);padding:8px 12px;font-size:15px}.vl-matid{font-family:var(--font-mono);color:var(--text-bright);white-space:nowrap;text-align:center;font-size:13px;font-weight:700}.vl-detail-cell{align-items:center;gap:6px;min-width:300px;padding:6px 10px;display:flex}.vl-row-num{font-family:var(--font-mono);color:var(--text-dim);text-align:right;flex-shrink:0;min-width:16px;font-size:10px}.vl-dur-badge{font-family:var(--font-mono);color:var(--text-bright);white-space:nowrap;background:#1e2d3d;border:1px solid #2a4060;border-radius:2px;flex-shrink:0;padding:1px 5px;font-size:12px;font-weight:700}.vl-detail-text{font-size:15px;font-family:var(--font-ui);letter-spacing:.02em;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.vl-audio-dots{flex-shrink:0;gap:2px;display:flex}.audio-dot{font-size:26px;line-height:1;transition:color .15s}.audio-dot.local{color:#3a5a3a}.audio-dot.local.active{color:#22c55e;filter:drop-shadow(0 0 5px #22c55e99)}.audio-dot.server{color:#3a5a3a}.audio-dot.server.active{color:#22c55e;filter:drop-shadow(0 0 5px #22c55e99)}.vl-date{font-family:var(--font-mono);color:var(--text);text-align:center;white-space:nowrap;font-size:14px}.vl-dur{font-family:var(--font-mono);color:var(--text-dim);text-align:center;white-space:nowrap;font-size:14px}.vl-action{text-align:center;white-space:nowrap;padding:4px 8px}.vl-play-btn{color:#7ab8e8;font-family:var(--font-ui);letter-spacing:.06em;cursor:pointer;background:#1e2d3d;border:1px solid #2a4a6a;border-radius:2px;width:64px;padding:4px 14px;font-size:12px;font-weight:700;transition:all .15s}.vl-play-btn:hover{color:#a0d0ff;background:#264060}.vl-commit-btn{border:1px solid var(--red-border);color:#fca5a5;font-family:var(--font-ui);letter-spacing:.06em;cursor:pointer;background:#2a1a1a;border-radius:2px;width:90px;padding:4px 14px;font-size:12px;font-weight:700;transition:all .15s}.vl-commit-btn:hover:not(:disabled){background:var(--red-bg)}.vl-commit-btn.is-committed{background:var(--green-bg);border-color:var(--green-border);color:var(--green)}.vl-commit-btn.is-committed:hover{background:#166534}.vl-commit-btn:disabled{opacity:.5;cursor:default}.vl-empty{text-align:center;color:var(--text-dim);padding:40px;font-size:13px}.vd-wrap{flex-direction:column;height:100%;display:flex;overflow:hidden}.vd-header{background:var(--bg-2);border-bottom:2px solid var(--border-lit);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;min-height:72px;padding:0 16px;display:flex}.vd-title{flex-wrap:wrap;flex:1;align-items:baseline;gap:14px;display:flex}.vd-matid{font-family:var(--font-mono);color:var(--accent);letter-spacing:.08em;font-size:16px;font-weight:700}.vd-network{font-family:var(--font-mono);color:var(--text-bright);background:var(--bg-3);border:1px solid var(--border-lit);padding:2px 8px;font-size:13px;font-weight:700}.vd-date{font-family:var(--font-mono);color:var(--text-dim);font-size:13px}.vd-dur{font-family:var(--font-mono);color:var(--accent);font-size:13px}.vd-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.vd-flag{font-family:var(--font-mono);letter-spacing:.06em;border-radius:2px;padding:3px 8px;font-size:11px;font-weight:700}.vd-flag.on{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}.vd-flag.off{background:var(--border);color:var(--text-dim);border:1px solid var(--border)}.vd-status{text-align:center;color:var(--text-dim);padding:40px;font-size:14px}.vd-status.error{color:var(--red)}.vd-body{flex-direction:column;flex:1;gap:20px;padding:20px 24px;display:flex;overflow:auto}.vd-detail-bar{color:var(--text-bright);background:var(--bg-2);border-left:3px solid var(--accent);border:1px solid var(--border-lit);border-left:3px solid var(--accent);padding:12px 16px;font-size:16px;font-weight:500}.vd-script-wrap{flex:1}.vd-cues{flex-direction:column;gap:2px;display:flex}.vd-cue{border:1px solid var(--border);overflow:hidden}.vd-cue-label{background:var(--bg-3);color:var(--accent);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--border);padding:6px 14px;font-size:14px;font-weight:700}.vd-cue-lines{background:var(--bg-2);flex-direction:column;gap:4px;padding:10px 14px;display:flex}.vd-cue-line{color:var(--text-bright);font-size:22px;line-height:1.5;font-family:var(--font-ui);font-weight:500}.vd-cue-line.is-note{color:var(--text-dim);font-size:13px;font-style:italic;font-family:var(--font-mono)}.vd-plain-script{font-family:var(--font-ui);color:var(--text-bright);white-space:pre-wrap;background:var(--bg-2);border:1px solid var(--border);padding:16px 20px;font-size:22px;font-weight:500;line-height:1.7}.vd-no-script{color:var(--text-dim);text-align:center;padding:20px;font-size:14px;font-style:italic}.vd-notes{background:var(--bg-2);border:1px solid var(--border);border-left:3px solid var(--blue);gap:12px;padding:10px 14px;font-size:14px;display:flex}.vd-notes-label{font-family:var(--font-mono);color:var(--blue);letter-spacing:.1em;text-transform:uppercase;flex-shrink:0;padding-top:2px;font-size:11px;font-weight:700}.vd-notes-text{color:var(--text);font-size:18px;line-height:1.5}.vd-nav-btns{border-left:1px solid var(--border-lit);align-items:center;gap:6px;margin-left:8px;padding-left:12px;display:flex}.vd-nav-btn{background:var(--bg-3);border:1px solid var(--border-lit);color:var(--text);cursor:pointer;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;transition:all .15s;display:flex}.vd-nav-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.vd-nav-btn:disabled{opacity:.3;cursor:default}.vd-nav-pos{font-family:var(--font-mono);color:var(--text-dim);text-align:center;min-width:44px;font-size:12px}.cell-bar-wrap{flex-direction:column-reverse;gap:3px;width:100%;padding:4px 6px;display:flex}.cell-bar-track{border-radius:3px;flex-shrink:0;width:100%;height:6px;overflow:hidden}.cell-bar-fill{border-radius:3px;min-width:0;height:100%;transition:width .3s}.cell-bar-label{font-family:var(--font-mono);justify-content:center;align-items:baseline;gap:1px;font-size:13px;font-weight:700;line-height:1;display:flex}.cell-bar-sep{color:var(--text-dim);margin:0 1px;font-size:11px}.cell-bar-total{color:var(--text-dim)}.gv-cell.none-done.is-past .cell-bar-committed{color:#c490a8}.gv-cell.none-done.is-today .cell-bar-committed,.gv-cell.none-done.is-future .cell-bar-committed{color:#f9a8d4}.gv-cell.all-done .cell-bar-committed{color:var(--green)}.gv-cell.all-done .cell-bar-total{color:var(--green);opacity:.7}.gv-cell:not(.all-done):not(.none-done) .cell-bar-committed{color:var(--accent)}.rec-panel{border-top:2px solid var(--accent);z-index:100;background:#080a0d;flex-direction:column;height:220px;animation:.25s ease-out slideUp;display:flex;position:fixed;bottom:28px;left:0;right:0;box-shadow:0 -8px 32px #0009}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.rec-panel-header{background:var(--bg-2);border-bottom:1px solid var(--border-lit);flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:8px;height:60px;padding:0 20px;display:flex;overflow:hidden}.rec-panel-title{font-family:var(--font-mono);color:var(--accent);letter-spacing:.08em;white-space:nowrap;font-size:11px;font-weight:700}.rec-trim-dur{font-family:var(--font-mono);color:var(--green);font-size:12px}.rec-close-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:16px;line-height:1}.rec-close-btn:hover{color:var(--text-bright)}.rec-body{flex-direction:column;flex:1;gap:0;padding:4px 20px 0;display:flex;overflow:hidden}.rec-main{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.rec-waveform-wrap{border:1px solid var(--border-lit);background:#0a0c0f;border-radius:2px;flex-shrink:0;height:110px;position:relative;overflow:hidden}.rec-waveform{width:100%;height:110px;display:block}.rec-waveform-placeholder{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.1em;pointer-events:none;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;inset:0}.rec-waveform-placeholder.recording{color:var(--red);animation:1s step-end infinite blink}@keyframes blink{50%{opacity:.4}}.rec-controls{flex-shrink:0;gap:8px;display:flex}.rec-btn{font-family:var(--font-mono);letter-spacing:.08em;cursor:pointer;border:1px solid;border-radius:2px;padding:6px 18px;font-size:12px;font-weight:700;transition:all .15s}.rec-btn.record{color:#fca5a5;background:#2a0808;border-color:#991b1b}.rec-btn.record:hover{background:var(--red-bg)}.rec-btn.stop{color:var(--accent);background:#1a0a00;border-color:#92400e}.rec-btn.stop:hover{background:#2a1200}.rec-btn.play{color:#93c5fd;background:#0a1a2a;border-color:#1e40af}.rec-btn.play:hover{background:#0d2040}.rec-btn.send{background:var(--green-bg);border-color:var(--green-border);color:var(--green)}.rec-btn.send:hover{background:#166534}.rec-btn.sent{border-color:var(--green-border);color:var(--green);opacity:.7;background:#0a2010}.rec-btn:disabled{opacity:.5;cursor:default}.rec-error{font-family:var(--font-mono);color:var(--red);font-size:11px}.app-main.panel-open{padding-bottom:220px}.rec-recording-time{font-family:var(--font-mono);color:var(--red);font-size:13px;font-weight:700;animation:1s step-end infinite blink}.rec-tc-info{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.08em;font-size:12px}.rec-tc-dur{font-family:var(--font-mono);color:var(--green);letter-spacing:.08em;font-size:13px;font-weight:700}.rec-transport{flex-shrink:0;align-items:center;gap:6px;padding-bottom:4px;display:flex}.trans-btn{cursor:pointer;width:80px;height:52px;font-family:var(--font-mono);border:2px solid;border-radius:4px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;transition:all .12s;display:flex}.trans-icon{font-size:18px;line-height:1}.trans-label{letter-spacing:.1em;font-size:9px;font-weight:700}.trans-btn.play-all{color:#60a5fa;background:#0a1520;border-color:#1e3a5f}.trans-btn.play-all:hover:not(:disabled){color:#93c5fd;background:#0d1e30;border-color:#3b82f6}.trans-btn.play{color:#60a5fa;background:#0a1520;border-color:#1e3a5f}.trans-btn.play:hover:not(:disabled){color:#93c5fd;background:#0d1e30;border-color:#3b82f6}.trans-btn.stop{color:#fbbf24;background:#1a1200;border-color:#78350f}.trans-btn.stop:hover:not(:disabled){color:#fde68a;background:#221800;border-color:#f59e0b}.trans-btn.record{color:#f87171;background:#1a0505;border-color:#7f1d1d}.trans-btn.record:hover:not(:disabled){color:#fca5a5;background:#250808;border-color:#dc2626}.trans-btn.record.active{color:#f66;background:#3a0808;border-color:#dc2626;animation:1s ease-in-out infinite pulse-red}@keyframes pulse-red{0%,to{border-color:#dc2626;box-shadow:0 0 #dc262600}50%{border-color:#f44;box-shadow:0 0 8px 2px #dc262666}}.trans-btn:disabled{opacity:.3;cursor:default}.trans-right{align-items:center;gap:8px;margin-left:12px;display:flex}.rec-live-timer{font-family:var(--font-mono);color:#fff;letter-spacing:.05em;pointer-events:none;text-shadow:0 0 30px #ffffff4d,0 2px 8px #000c;justify-content:center;align-items:center;font-size:52px;font-weight:700;display:flex;position:absolute;inset:0}.rec-waiting{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.1em;pointer-events:none;font-size:11px;animation:1.5s ease-in-out infinite blink;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.vl-player-bar{border-top:2px solid var(--accent);background:#080a0d;flex-shrink:0;padding:8px 16px;position:sticky;bottom:0}.ap-wrap{align-items:center;gap:12px;height:36px;display:flex}.ap-matid{font-family:var(--font-mono);color:var(--accent);letter-spacing:.08em;white-space:nowrap;min-width:140px;font-size:12px;font-weight:700}.ap-play-btn{background:var(--bg-3);border:1px solid var(--border-lit);color:var(--text-bright);cursor:pointer;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;transition:all .15s;display:flex}.ap-play-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.ap-play-btn:disabled{opacity:.3;cursor:default}.ap-progress{background:var(--bg-3);border:1px solid var(--border-lit);cursor:pointer;border-radius:4px;flex:1;height:8px;position:relative;overflow:visible}.ap-progress-fill{background:var(--accent);pointer-events:none;border-radius:4px;height:100%;transition:width 50ms linear}.ap-progress-head{border:2px solid var(--accent);pointer-events:none;background:#fff;border-radius:50%;width:14px;height:14px;position:absolute;top:50%;transform:translate(-50%,-50%)}.ap-time{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;min-width:110px;font-size:13px}.ap-current{color:var(--text-bright)}.ap-error{font-family:var(--font-mono);color:var(--red);font-size:11px}.ap-close-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:16px}.ap-close-btn:hover{color:var(--text-bright)}.vl-play-btn.active{border-color:var(--accent);color:var(--accent);background:#0d2040}.vl-play-btn:disabled{opacity:.3;cursor:default}.vl-play-btns{justify-content:center;align-items:center;gap:4px;display:flex}.vl-play-dot{cursor:pointer;border:1px solid;border-radius:3px;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;transition:all .15s;display:flex}.vl-play-dot:first-child{color:#3a5a3a;background:#0a1a0a;border-color:#1a3a1a}.vl-play-dot:first-child.available{color:#22c55e;border-color:#166534}.vl-play-dot:first-child.available:hover{background:#0d2a0d;border-color:#22c55e}.vl-play-dot:first-child.active{color:#22c55e;background:#0d2a0d;border-color:#22c55e;box-shadow:0 0 6px #22c55e66}.vl-play-dot:last-child{color:#2a2a5a;background:#0a0a1a;border-color:#1a1a3a}.vl-play-dot:last-child.available{color:#60a5fa;border-color:#1e3a5f}.vl-play-dot:last-child.available:hover{background:#0a1a30;border-color:#60a5fa}.vl-play-dot:last-child.active{color:#60a5fa;background:#0a1a30;border-color:#60a5fa;box-shadow:0 0 6px #60a5fa66}.vl-play-dot:disabled{opacity:.25;cursor:default}.ap-label{letter-spacing:.12em;vertical-align:middle;border-radius:2px;margin-left:8px;padding:1px 6px;font-size:10px;font-weight:700}.vl-search-bar{border-top:2px solid var(--accent);z-index:50;background:#080a0d;flex-shrink:0;align-items:center;gap:10px;padding:8px 16px;transition:transform .2s ease-out;display:flex;position:sticky;bottom:0;transform:translateY(100%)}.vl-search-bar.visible{transform:translateY(0)}.vl-search-icon{flex-shrink:0;font-size:16px}.vl-search-input{background:var(--bg-3);border:1px solid var(--border-lit);color:var(--text-bright);font-family:var(--font-mono);border-radius:2px;outline:none;flex:1;padding:6px 12px;font-size:15px}.vl-search-input:focus{border-color:var(--accent)}.vl-search-count{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;font-size:12px}.vl-search-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:16px}.vl-search-close:hover{color:var(--text-bright)}.vl-highlight{background:var(--accent);color:#000;border-radius:2px;padding:0 1px}.vl-no-results{text-align:center;color:var(--text-dim);padding:40px;font-size:13px}.gs-overlay{z-index:200;background:#0009;justify-content:center;align-items:flex-start;padding-top:80px;display:flex;position:fixed;inset:0}.gs-panel{border:1px solid var(--border-lit);background:#0d1017;border-radius:4px;flex-direction:column;width:min(720px,95vw);max-height:70vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #000c}.gs-search-row{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:12px 16px;display:flex}.gs-icon{flex-shrink:0;font-size:18px}.gs-input{color:var(--text-bright);font-family:var(--font-mono);caret-color:var(--accent);background:0 0;border:none;outline:none;flex:1;font-size:18px}.gs-loading{font-family:var(--font-mono);color:var(--text-dim);font-size:13px}.gs-count{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;font-size:12px}.gs-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:18px}.gs-close:hover{color:var(--text-bright)}.gs-hint{font-family:var(--font-mono);color:var(--text-dim);text-align:center;padding:20px 16px;font-size:13px}.gs-results{flex:1;overflow-y:auto}.gs-row{cursor:pointer;border-bottom:1px solid var(--border);grid-template-columns:160px 60px 70px 1fr 20px 90px;align-items:center;gap:12px;padding:10px 16px;transition:background .1s;display:grid}.gs-row:hover,.gs-row.selected{background:#151a24}.gs-matid{font-family:var(--font-mono);color:var(--accent);font-size:13px;font-weight:700}.gs-channel{font-family:var(--font-mono);color:var(--text-dim);font-size:11px}.gs-date{font-family:var(--font-mono);color:var(--text-dim);font-size:12px}.gs-detail{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.gs-dot{color:#1a3a1a;text-align:center;font-size:14px}.gs-dot.on{color:#22c55e}.gs-committed{font-family:var(--font-mono);color:var(--text-dim);text-align:right;font-size:10px}.gs-committed.on{color:var(--green)}.add-vo-btn{color:#00e5e5;font-family:var(--font-mono);letter-spacing:.1em;cursor:pointer;white-space:normal;text-align:center;background:#033;border:1px solid #00b3b3;border-radius:6px;flex-shrink:0;width:96px;height:100%;padding:0;font-size:11px;font-weight:700;line-height:1.3;transition:all .15s}.add-vo-btn:hover{color:#fff;background:#055;border-color:#00e5e5}.add-vo-section{border-left:1px solid var(--border-lit);flex-shrink:0;align-self:stretch;align-items:stretch;padding:6px 8px;display:flex}.modal-overlay{z-index:300;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-panel{border:1px solid var(--border-lit);background:#0d1017;border-radius:6px;flex-direction:column;width:min(560px,95vw);max-height:90vh;display:flex;overflow:hidden;box-shadow:0 24px 64px #000c}.modal-header{border-bottom:1px solid var(--border-lit);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.modal-title{font-family:var(--font-mono);color:#00e5e5;letter-spacing:.15em;font-size:14px;font-weight:700}.modal-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px}.modal-close:hover{color:var(--text-bright)}.modal-body{flex-direction:column;flex:1;gap:14px;padding:20px;display:flex;overflow-y:auto}.modal-field{flex-direction:column;flex:1;gap:5px;display:flex}.modal-field-sm{max-width:110px}.modal-row{align-items:flex-start;gap:12px;display:flex}.modal-label{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.modal-input{background:var(--bg-3);border:1px solid var(--border-lit);color:var(--text-bright);font-family:var(--font-ui);box-sizing:border-box;border-radius:4px;outline:none;width:100%;padding:8px 10px;font-size:14px}.modal-input:focus{border-color:#00b3b3}.modal-input-mono{font-family:var(--font-mono);font-size:13px}.modal-matid-row{gap:6px;display:flex}.modal-matid-row .modal-input{flex:1}.modal-auto-btn{background:var(--bg-3);border:1px solid var(--border-lit);color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.08em;cursor:pointer;white-space:nowrap;border-radius:4px;flex-shrink:0;padding:0 10px;font-size:10px;font-weight:700}.modal-auto-btn.active{color:#00e5e5;border-color:#00b3b3}.modal-auto-btn:hover{border-color:var(--border-lit);color:var(--text-bright)}.modal-textarea{resize:vertical;min-height:80px;font-family:var(--font-ui);line-height:1.5}select.modal-input{cursor:pointer}.modal-error{font-family:var(--font-mono);color:#f87171;background:#2a0808;border:1px solid #991b1b;border-radius:4px;padding:8px 12px;font-size:12px}.modal-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.modal-cancel-btn{background:var(--bg-3);border:1px solid var(--border-lit);color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.08em;cursor:pointer;border-radius:4px;padding:8px 20px;font-size:12px;font-weight:700}.modal-cancel-btn:hover{color:var(--text-bright)}.modal-save-btn{color:#00e5e5;font-family:var(--font-mono);letter-spacing:.1em;cursor:pointer;background:#033;border:1px solid #00b3b3;border-radius:4px;padding:8px 24px;font-size:12px;font-weight:700;transition:all .15s}.modal-save-btn:hover:not(:disabled){color:#fff;background:#055}.modal-save-btn:disabled{opacity:.5;cursor:default}.settings-panel{width:min(680px,95vw)}.settings-section{border:1px solid var(--border);background:#090c10;border-radius:4px;flex-direction:column;gap:10px;padding:14px;display:flex}.settings-section-title{font-family:var(--font-mono);letter-spacing:.12em;color:var(--accent);text-transform:uppercase;margin-bottom:2px;font-size:11px;font-weight:700}.settings-path{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.04em;font-size:10px}.settings-saved{font-family:var(--font-mono);color:var(--green);margin-right:auto;font-size:11px}.login-overlay{z-index:500;background:#060810;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.login-panel{border:1px solid var(--border-lit);background:#0d1017;border-radius:8px;flex-direction:column;gap:20px;width:min(400px,92vw);padding:32px;display:flex;box-shadow:0 32px 80px #000000e6}.login-logo{flex-direction:column;align-items:center;gap:4px;display:flex}.login-bcxtv{font-family:var(--font-mono);color:var(--accent);letter-spacing:.2em;font-size:32px;font-weight:700}.login-subtitle{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.15em;text-transform:uppercase;font-size:11px}.login-mode-badge{text-align:center;font-family:var(--font-mono);color:#00e5e5;letter-spacing:.1em;background:#033;border:1px solid #00b3b3;border-radius:4px;padding:4px 12px;font-size:11px;font-weight:700}.header-remote-badge{align-items:center;gap:8px;margin-left:auto;padding:0 12px;display:flex}.header-remote-user{font-family:var(--font-mono);color:#00e5e5;letter-spacing:.08em;font-size:11px}.header-logout-btn{border:1px solid var(--border-lit);color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.08em;cursor:pointer;background:0 0;border-radius:3px;padding:3px 8px;font-size:10px}.header-logout-btn:hover{color:var(--text-bright);border-color:var(--accent)}.admin-wrap{flex-direction:column;height:100%;display:flex;overflow:hidden}.admin-header{background:var(--bg-2);border-bottom:2px solid var(--border-lit);flex-shrink:0;align-items:center;gap:16px;height:72px;padding:0 16px;display:flex}.admin-title{font-family:var(--font-mono);color:var(--accent);letter-spacing:.15em;font-size:14px;font-weight:700}.admin-scroll{flex:1;padding:16px;overflow-y:auto}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;text-align:left;border-bottom:1px solid var(--border-lit);white-space:nowrap;padding:8px 12px;font-size:10px;font-weight:700}.admin-table td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;padding:10px 12px}.admin-row-inactive td{opacity:.45}.admin-username{font-family:var(--font-mono);color:var(--accent);font-weight:700}.admin-email{font-family:var(--font-mono);color:var(--text-dim);font-size:12px}.admin-date{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;font-size:11px}.admin-expired{color:#f87171}.admin-center{text-align:center}.admin-badge{font-family:var(--font-mono);background:var(--bg-3);color:var(--text-dim);border:1px solid var(--border);border-radius:3px;padding:2px 8px;font-size:10px;font-weight:700}.admin-badge-on{color:#c084fc;background:#1a0a2e;border-color:#7e22ce}.admin-toggle{font-family:var(--font-mono);cursor:pointer;border:1px solid;border-radius:3px;padding:3px 10px;font-size:10px;font-weight:700}.admin-toggle.on{background:var(--green-bg);color:var(--green);border-color:var(--green-border)}.admin-toggle.off{background:var(--red-bg);color:#fca5a5;border-color:var(--red-border)}.admin-actions{align-items:center;gap:6px;display:flex}.admin-edit-btn{font-family:var(--font-mono);cursor:pointer;background:var(--bg-3);border:1px solid var(--border-lit);color:var(--text);border-radius:3px;padding:4px 12px;font-size:11px;font-weight:700}.admin-edit-btn:hover{border-color:var(--accent);color:var(--accent)}.admin-del-btn{font-family:var(--font-mono);cursor:pointer;background:var(--bg-3);border:1px solid var(--border);color:var(--text-dim);border-radius:3px;padding:4px 12px;font-size:11px;font-weight:700}.admin-del-btn:hover{border-color:var(--red-border);color:#fca5a5}.admin-del-confirm{font-family:var(--font-mono);cursor:pointer;background:var(--red-bg);border:1px solid var(--red-border);color:#fca5a5;border-radius:3px;padding:4px 12px;font-size:11px;font-weight:700}.app-admin-overlay{background:var(--bg-1);z-index:400;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.header-admin-btn{color:#c084fc;font-family:var(--font-mono);letter-spacing:.1em;cursor:pointer;background:#1a0a2e;border:1px solid #7e22ce;border-radius:3px;padding:3px 10px;font-size:10px;font-weight:700}.header-admin-btn:hover{color:#e9d5ff;background:#2d1052}.rec-meters-header{flex-direction:column;flex:1;justify-content:center;gap:3px;min-width:0;padding:2px 8px;display:flex}.rec-transport-header{flex-shrink:0;gap:3px;display:flex}.rec-trans-btn{background:var(--bg-3);border:1px solid var(--border-lit);width:72px;height:52px;color:var(--text);cursor:pointer;border-radius:4px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:2px;transition:all .12s;display:flex}.rec-trans-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.rec-trans-btn:disabled{opacity:.3;cursor:default}.rec-trans-btn.record{color:#fca5a5;background:#1a0505;border-color:#991b1b}.rec-trans-btn.record:hover:not(:disabled){background:#2a0808}.rec-trans-btn.record.active{color:#ef4444;background:#3d0808;border-color:#ef4444}.rec-trans-icon{font-size:16px;line-height:1}.rec-trans-lbl{font-family:var(--font-mono);letter-spacing:.08em;font-size:10px;font-weight:700;line-height:1}.rec-header-info{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;display:flex}.rec-header-row1,.rec-header-row2{align-items:center;gap:10px;display:flex}.app-footer{border-top:1px solid var(--border);z-index:99;background:#050709;flex-shrink:0;justify-content:space-between;align-items:center;height:28px;padding:0 20px;display:flex;position:fixed;bottom:0;left:0;right:0}.footer-left,.footer-center,.footer-right{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.06em;align-items:center;gap:8px;font-size:10px;display:flex}.footer-center{flex:1;justify-content:center}.footer-right{justify-content:flex-end}.footer-divider{opacity:.3}.footer-copy{color:var(--text-dim)}.footer-version{color:var(--text-dim);opacity:.6}.footer-status-dot{font-size:8px}.footer-status-dot.ok{color:var(--green)}.footer-status-dot.err{color:#ef4444}.footer-status-dot.unknown{color:var(--text-dim)}.footer-status-text{color:var(--text)}.footer-mode{color:#00e5e5;letter-spacing:.12em;font-weight:700}.footer-server{color:var(--text-dim);opacity:.7}.footer-user{color:var(--accent)}
