:root{--bg-primary: #0c1018;--bg-sidebar: #0e121c;--bg-card: #151b28;--bg-card-elevated: #1a2232;--bg-toolbar: #121824;--bg-surface: #161d2c;--accent: #12c9a0;--accent-hover: #2ee8be;--accent-dim: rgba(18, 201, 160, .14);--accent-glow: rgba(18, 201, 160, .38);--status-online: #34d17a;--status-online-dim: rgba(52, 209, 122, .16);--status-online-border: rgba(52, 209, 122, .55);--status-offline: #f05252;--status-offline-dim: rgba(240, 82, 82, .16);--status-offline-border: rgba(240, 82, 82, .5);--text: #e8e8ee;--text-dim: #8a8a9c;--text-muted: #5a5a6e;--border: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .13);--border-subtle: rgba(255, 255, 255, .05);--danger: #d45a4a;--danger-dim: rgba(212, 90, 74, .12);--timeline-tick-major: rgba(180, 182, 198, .62);--timeline-tick-minor: rgba(130, 132, 150, .28);--pb-pill-grad-0: #1a9a82;--pb-pill-grad-1: #127a68;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--shadow-chrome: 0 1px 0 rgba(255, 255, 255, .03), 0 2px 8px rgba(0, 0, 0, .32);--shadow-elevated: 0 12px 40px rgba(0, 0, 0, .48);--shadow-modal: 0 20px 56px rgba(0, 0, 0, .58);--tile-border: rgba(255, 255, 255, .07);--tile-border-active: rgba(255, 255, 255, .18);--badge-bg: var(--bg-card);--font-caption: 10px;--font-label: 11px;--font-body: 12px;--font-title: 13px;--font-value: 12px;--recording-green: #36c96a;--recording-green-dim: #1e9e4a;--playhead-teal: #5eb8b0;--progress-amber: #d4a04a;--transition-fast: .15s ease;--transition-ui: .15s ease;--focus-ring: 0 0 0 2px var(--bg-primary), 0 0 0 4px rgba(120, 140, 180, .45)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;background:var(--bg-primary);color:var(--text);height:100vh;overflow:hidden;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--font-body);line-height:1.45;letter-spacing:.01em}body:before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(ellipse 90% 55% at 50% -8%,rgba(36,72,120,.28) 0%,transparent 55%),radial-gradient(ellipse 60% 40% at 100% 100%,rgba(18,201,160,.08) 0%,transparent 50%),linear-gradient(175deg,#101828,#0c1018 45%,#080c14);pointer-events:none}body:after{content:"";position:fixed;inset:0;z-index:-1;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");background-repeat:repeat;background-size:128px 128px;pointer-events:none;mix-blend-mode:overlay}#cam-list,.layout-menu,.help-modal-body{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}#cam-list::-webkit-scrollbar,.layout-menu::-webkit-scrollbar,.help-modal-body::-webkit-scrollbar{width:5px;height:5px}#cam-list::-webkit-scrollbar-thumb,.layout-menu::-webkit-scrollbar-thumb,.help-modal-body::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:var(--radius-sm)}#cam-list::-webkit-scrollbar-thumb:hover,.layout-menu::-webkit-scrollbar-thumb:hover,.help-modal-body::-webkit-scrollbar-thumb:hover{background:#fff3}button:focus-visible,input:focus-visible{outline:none;box-shadow:var(--focus-ring)}.app-boot-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;background:#08080e9e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,visibility .28s ease}.app-boot-overlay.visible{opacity:1;visibility:visible;pointer-events:auto}.app-boot-card{width:min(340px,92vw);padding:22px 24px;border-radius:var(--radius-xl);background:var(--bg-card-elevated);border:1px solid var(--border);box-shadow:var(--shadow-modal)}.app-boot-label{font-size:var(--font-body);font-weight:500;color:var(--text-dim);margin-bottom:14px;text-align:center;letter-spacing:.02em}.app-boot-bar-track{height:3px;border-radius:var(--radius-sm);background:#ffffff0d;overflow:hidden}.app-boot-bar-fill{width:38%;height:100%;border-radius:var(--radius-sm);background:linear-gradient(90deg,transparent,rgba(140,150,170,.5),rgba(180,190,210,.7),transparent);animation:appBootBarSlide 1.1s ease-in-out infinite}@keyframes appBootBarSlide{0%{transform:translate(-130%)}to{transform:translate(300%)}}.topbar{--topbar-pill-h: 28px;display:flex;align-items:center;gap:10px;padding:5px 14px;background:linear-gradient(180deg,var(--bg-toolbar) 0%,#0e121a 100%);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-chrome);flex-shrink:0;min-height:40px}.topbar-title{font-weight:600;font-size:13px;letter-spacing:.01em;margin-right:auto;color:var(--text);flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(260px,28vw)}.topbar-stop-btn{height:var(--topbar-pill-h);box-sizing:border-box;margin-right:6px;padding:0 12px;font-size:11px;font-weight:600;font-family:inherit;border:1px solid rgba(232,93,76,.65);border-radius:var(--radius-md);background:var(--danger);color:#fff;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),filter var(--transition-fast),box-shadow var(--transition-fast);flex-shrink:0;white-space:nowrap}.topbar-stop-btn:hover{filter:brightness(1.06);border-color:var(--danger)}.topbar-stop-btn:active{filter:brightness(.92)}.mode-toggle{display:flex;align-items:stretch;height:var(--topbar-pill-h);box-sizing:border-box;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-subtle);background:#0003}.machine-tz-indicator{height:var(--topbar-pill-h);box-sizing:border-box;display:inline-flex;align-items:center;padding:0 9px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-muted);font-size:10px;font-weight:500;letter-spacing:.02em;line-height:1;white-space:nowrap;flex-shrink:0;cursor:default;-webkit-user-select:none;user-select:none}.sys-stats-panel{display:flex;align-items:stretch;gap:8px;margin-right:8px;flex-shrink:0}.sys-stat-card{max-width:100%;height:var(--topbar-pill-h);box-sizing:border-box;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-card);padding:0 8px 0 9px;box-shadow:inset 0 1px #ffffff08;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.sys-stat-card:not(.sys-stat-card--ram){min-width:108px;flex-shrink:0}.sys-stat-card--ram{box-sizing:border-box;width:max-content;max-width:100%;min-width:0;padding:0 8px;flex-shrink:1}.sys-stat-card--ram .sys-stat-head{line-height:1;gap:4px;width:auto;min-width:0}.sys-stat-card--ram .sys-stat-values{flex:0 0 auto;align-items:center;gap:4px;overflow:visible;min-width:0}.sys-stat-card--ram .sys-stats-label{font-size:10px}.sys-stat-card--ram .sys-stats-value{flex-shrink:0;min-width:0;font-size:10px;font-weight:600;max-width:none;overflow:visible;text-overflow:clip}.sys-stat-card--ram .sys-stats-bytes{flex:0 1 auto;font-size:9px;font-weight:500;letter-spacing:-.02em;white-space:nowrap}.sys-stat-card--ram .sys-stats-label,.sys-stat-card--ram .sys-stats-value,.sys-stat-card--ram .sys-stats-bytes{line-height:1}.sys-stat-head{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;width:100%}.sys-stat-values{display:flex;align-items:baseline;justify-content:flex-end;gap:4px;flex:1;min-width:0}.sys-stats-bytes{font-size:10px;font-weight:500;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;font-variant-numeric:tabular-nums}.sys-stats-label{font-size:11px;color:var(--text-dim);flex-shrink:0}.sys-stats-value{font-size:12px;font-weight:600;color:var(--text);flex-shrink:0}.sys-stat-card:not(.sys-stat-card--ram) .sys-stats-value{text-align:right}.mode-btn{height:100%;box-sizing:border-box;padding:0 12px;font-size:11px;font-weight:600;letter-spacing:.02em;border:none;cursor:pointer;background:transparent;color:var(--text-dim);transition:background var(--transition-ui),color var(--transition-ui);display:flex;align-items:center;gap:6px}.mode-btn.active-live{background:linear-gradient(180deg,var(--accent-hover) 0%,var(--accent) 100%);color:#fff;box-shadow:0 0 12px var(--accent-glow)}.mode-btn.active-playback{background:linear-gradient(180deg,#f06a5a 0%,var(--danger) 100%);color:#fff;box-shadow:0 0 12px #d45a4a59}.mode-btn:hover:not(.active-live):not(.active-playback){background:#ffffff0d;color:var(--text)}.live-layout-wrap{position:relative;display:none;align-items:center}.live-layout-wrap.visible{display:flex}.layout-menu-btn{height:var(--topbar-pill-h);box-sizing:border-box;padding:0 11px;font-size:11px;font-weight:600;border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;background:var(--bg-card);color:var(--text-dim);transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);display:inline-flex;align-items:center}.layout-menu-btn:hover{border-color:var(--border-strong);color:var(--text);background:#ffffff0a}.layout-menu{display:none;position:absolute;top:calc(100% + 5px);right:0;z-index:300;background:var(--bg-card-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:8px;box-shadow:var(--shadow-elevated);min-width:280px;max-height:min(70vh,420px);overflow-y:auto}.layout-menu.open{display:block}.layout-menu-title{font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;padding:0 4px}.layout-menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.layout-option{display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 6px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-dim);cursor:pointer;font-size:10px;font-weight:500;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.layout-option:hover{border-color:var(--border-strong);color:var(--text)}.layout-option.active{border-color:var(--border-strong);background:#ffffff0d;color:var(--text)}.layout-option svg{color:var(--text-dim);opacity:.85}.layout-option.active svg{opacity:1}.layout{display:flex;flex:1;overflow:hidden}.sidebar{width:210px;min-width:210px;background:linear-gradient(180deg,var(--bg-sidebar) 0%,#0c1018 100%);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;min-height:0;overflow:hidden;transition:width var(--transition-ui),min-width var(--transition-ui),border-color var(--transition-ui)}.layout.sidebar-collapsed .sidebar{width:52px;min-width:52px}.sidebar-collapse-btn{flex-shrink:0;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px #ffffff0a;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast),transform .1s}.sidebar-collapse-btn:hover{border-color:var(--border-strong);color:#fff;background:var(--bg-card-elevated);box-shadow:inset 0 1px #ffffff0f,0 2px 8px #0003}.sidebar-collapse-btn:active{transform:scale(.96)}.sidebar-collapse-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.sidebar-collapse-ico{width:18px;height:18px;display:block;opacity:.92}.sidebar-collapse-ico-restore{display:none}.layout.sidebar-collapsed .sidebar-collapse-ico-restore{display:block}.layout.sidebar-collapsed .sidebar-collapse-ico-narrow{display:none}#cam-list{flex:1;min-height:0;overflow-y:auto}.sidebar-footer{flex-shrink:0;padding:8px 10px 10px;border-top:1px solid var(--border-subtle);background:linear-gradient(180deg,transparent,rgba(0,0,0,.18));position:relative}.browser-download-panel{--download-panel-left: 10px;--download-panel-width: 190px;--download-panel-slide-ms: 1.8s;position:fixed;left:var(--download-panel-left);bottom:50px;width:var(--download-panel-width);max-height:0;padding-block:0;padding-inline:9px;opacity:0;transform:translate(calc(100vw - var(--download-panel-left) + var(--download-panel-width)));overflow:hidden;pointer-events:none;border-radius:var(--radius-md);border:1px solid transparent;background:#0e121cf5;box-shadow:0 4px 14px #00000047;z-index:90;transition:opacity .3s ease,max-height .35s ease,padding-block .35s ease,transform .35s ease,border-color .25s ease,left var(--transition-ui),width var(--transition-ui)}.browser-download-panel.visible{opacity:1;max-height:96px;padding-block:8px;border-color:var(--border-subtle);pointer-events:auto;animation:browser-download-panel-in var(--download-panel-slide-ms) cubic-bezier(.22,1,.36,1) both}@keyframes browser-download-panel-in{0%{transform:translate(calc(100vw - var(--download-panel-left) + var(--download-panel-width)))}to{transform:translate(0)}}.layout.sidebar-collapsed~.browser-download-panel{--download-panel-left: 6px;--download-panel-width: 40px}.layout.sidebar-collapsed~.browser-download-panel.visible{padding-block:6px;padding-inline:6px}@media(prefers-reduced-motion:reduce){.browser-download-panel{transition:none}.browser-download-panel.visible{animation:none;transform:translate(0)}}.browser-download-panel-inner{display:flex;flex-direction:column;align-items:stretch;gap:6px}.browser-download-panel-text{min-width:0}.browser-download-panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:2px}.browser-download-panel-title{font-size:10px;font-weight:600;color:var(--text);line-height:1.25;min-width:0;flex:1}.browser-download-panel-spinner{width:10px;height:10px;flex-shrink:0;border:1.5px solid rgba(18,201,160,.22);border-top-color:var(--accent);border-radius:50%;display:none;animation:browser-download-spinner-spin .75s linear infinite}.browser-download-panel-spinner.visible{display:block}@keyframes browser-download-spinner-spin{to{transform:rotate(360deg)}}.browser-download-panel-sub{font-size:9px;color:var(--text-dim);line-height:1.3}.browser-download-panel-track{width:100%;height:7px;border-radius:999px;background:#00000059;box-shadow:inset 0 1px 2px #00000059;overflow:hidden;position:relative}.browser-download-panel-fill{height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,#1a9a82 0%,var(--accent) 50%,#12c9a0 100%);transition:width .2s ease-out}.browser-download-panel-fill.indeterminate{position:absolute;left:0;top:0;width:38%;animation:browser-download-indeterminate 1.35s ease-in-out infinite}@keyframes browser-download-indeterminate{0%{transform:translate(-105%)}to{transform:translate(320%)}}.layout.sidebar-collapsed~.browser-download-panel .browser-download-panel-text{display:none}.sidebar-info-btn{display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;width:100%;padding:7px 9px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-toolbar);color:var(--text-dim);font-size:10px;font-weight:500;font-family:inherit;line-height:1.2;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.sidebar-info-btn:hover{color:var(--text);border-color:var(--border-strong);background:#ffffff0a;box-shadow:none}.sidebar-info-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.sidebar-info-icon{width:18px;height:18px;border-radius:50%;background:#ffffff0f;color:var(--text-dim);display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-info-icon svg{width:12px;height:12px;display:block}.sidebar-header{padding:8px 10px 6px 11px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebar-header-main{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:6px}.layout.sidebar-collapsed .sidebar-header{justify-content:center;padding:10px 6px 8px}.layout.sidebar-collapsed .sidebar-header-main,.layout.sidebar-collapsed .site-group,.layout.sidebar-collapsed .cam-status-btn,.layout.sidebar-collapsed .cam-label{display:none}.layout.sidebar-collapsed .cam-item{padding:9px 8px;justify-content:center;gap:0}.layout.sidebar-collapsed .cam-item.selected{padding-left:5px}.layout.sidebar-collapsed .sidebar-info-text{display:none}.layout.sidebar-collapsed .sidebar-info-btn{justify-content:center;padding:8px 6px}.layout.sidebar-collapsed .sidebar-footer{padding:8px 6px 10px}.sidebar-header #cam-count{background:#ffffff0f;color:var(--text-dim);padding:1px 6px;border-radius:var(--radius-sm);font-size:var(--font-caption);font-weight:600;font-variant-numeric:tabular-nums;border:1px solid var(--border-subtle)}.site-group{padding:3px 12px 5px;font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:6px}.site-icon{width:14px;height:14px;border-radius:3px;background:#ffffff0f;display:flex;align-items:center;justify-content:center;font-size:9px;color:var(--text-muted)}.cam-item{display:flex;align-items:center;gap:7px;padding:7px 12px 7px 26px;cursor:pointer;transition:background var(--transition-fast);font-size:12px;position:relative}.cam-item:hover{background:#ffffff09}.cam-item.selected{background:#ffffff0d;border-left:2px solid rgba(255,255,255,.22);padding-left:24px}.cam-dot{width:7px;height:7px;border-radius:50%;background:var(--status-online);flex-shrink:0;box-shadow:0 0 6px #34d17a73}.cam-dot.offline{background:var(--status-offline);box-shadow:0 0 6px #f0525266}.cam-status-btn{flex-shrink:0;border:1px solid transparent;font-size:var(--font-caption);font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;border-radius:var(--radius-sm);cursor:default;font-family:inherit;line-height:1.2;transition:opacity var(--transition-fast)}.cam-status-btn.online{background:var(--status-online-dim);color:var(--status-online);border-color:var(--status-online-border)}.cam-status-btn.offline{background:var(--status-offline-dim);color:var(--status-offline);border-color:var(--status-offline-border)}.cam-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.main-view{flex:1;display:flex;flex-direction:column;background:linear-gradient(180deg,#060810,#04060c);position:relative;min-height:0}.live-grid{flex:1;display:grid;gap:2px;padding:2px;overflow:auto;min-height:0;align-content:stretch;background:#05070c}.stream-cell{position:relative;background:#0a0a0e;display:flex;align-items:stretch;justify-content:stretch;overflow:hidden;border:1px solid var(--tile-border);border-radius:6px;transition:border-color var(--transition-ui),box-shadow var(--transition-ui);min-height:0;min-width:0;box-shadow:inset 0 0 0 1px #00000059}.stream-cell-video{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;background:#000;overflow:hidden}.stream-cell.active-border{border-color:var(--tile-border-active);box-shadow:inset 0 0 0 1px #ffffff0a}.stream-cell img,.stream-cell-video img,.stream-cell video,.stream-cell-video video{width:100%;height:100%;object-fit:contain;object-position:center center;display:block;background:#000}.stream-bottom-controls{position:absolute;bottom:8px;right:8px;z-index:3;display:flex;align-items:center;gap:6px}.stream-lag{font-size:11px;font-variant-numeric:tabular-nums;line-height:1.4;padding:1px 6px;border-radius:4px;background:#0000008c;color:#8ef58e;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.8)}.stream-lag.pending{opacity:.55}.stream-quality,.stream-fps{min-width:46px;text-align:center;font-variant-numeric:tabular-nums;padding:2px 7px;font-size:11px;font-weight:600;letter-spacing:.04em;border:1px solid rgba(255,255,255,.3);border-radius:4px;background:#0000008c;color:#ddd;cursor:pointer}.stream-fps{min-width:52px}.stream-quality:hover,.stream-fps:hover{background:#000000bf;color:#fff}.stream-quality.hd,.stream-fps.hd{color:#fff;border-color:var(--accent, #4da3ff);background:var(--accent, #1f6feb)}.stream-lag.warn{color:#ffd166}.stream-lag.bad{color:#ff6b6b}.stream-live-status{position:absolute;top:8px;left:8px;z-index:3;display:flex;align-items:center;gap:6px;pointer-events:none}.stream-live-label{display:none;font-size:12px;color:#ff6b6b;text-shadow:0 1px 3px rgba(0,0,0,.8)}.stream-live-status.buffering .stream-live-label{display:inline}.stream-live-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 1px #00000080}.stream-live-status.live .stream-live-dot{background:var(--status-online)}.stream-live-status.buffering .stream-live-dot{background:#ff6b6b}.stream-live-status.pending .stream-live-dot{background:#888;opacity:.7}.stream-overlay{position:absolute;top:8px;left:10px;font-size:12px;color:#ccc;text-shadow:0 1px 3px rgba(0,0,0,.8);pointer-events:none;z-index:2}.stream-cell:has(.stream-live-status) .stream-overlay{top:28px}.playback-tile-btn{height:24px;min-width:40px;font-size:11px;border:1px solid var(--accent);color:var(--accent);background:#00b89426;border-radius:4px;cursor:pointer;padding:0 8px}.playback-tile-btn.stop{border-color:var(--danger);color:var(--danger);background:#e74c3c26}.stream-close{position:absolute;top:6px;right:8px;width:22px;height:22px;background:#0000008c;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);color:#c8c8d0;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.stream-close:hover{background:#e74c3c99;color:#fff}.stream-fullscreen-btn{position:absolute;bottom:8px;left:8px;z-index:10;width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid rgba(255,255,255,.25);border-radius:4px;background:#0000008c;color:#e8e8ec;cursor:pointer;opacity:0;transition:opacity var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.stream-cell:hover .stream-fullscreen-btn,.stream-fullscreen-btn:focus-visible,.stream-fullscreen-btn.active{opacity:1}.stream-fullscreen-btn:hover{background:#000000c7;color:#fff}.stream-cell:fullscreen,.stream-cell:-webkit-full-screen{width:100%;height:100%;max-width:none;max-height:none;border-radius:0;border-color:transparent;background:#000}.stream-cell:fullscreen .stream-cell-video,.stream-cell:-webkit-full-screen .stream-cell-video{position:absolute;inset:0}.stream-cell:fullscreen>video,.stream-cell:fullscreen>img,.stream-cell:-webkit-full-screen>video,.stream-cell:-webkit-full-screen>img{position:absolute;inset:0;width:100%;height:100%}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-dim);gap:10px;font-size:13px;text-align:center;padding:24px}.empty-state-steps{margin:4px 0 0;padding-left:1.25em;text-align:left;font-size:12px;line-height:1.55;color:var(--text-muted);max-width:360px}.empty-state-steps li{margin-bottom:4px}.empty-state-help-link{margin-top:4px;padding:6px 12px;font-size:var(--font-label);font-weight:600;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:#ffffff08;color:var(--text-dim);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.empty-state-help-link:hover{background:#ffffff0f;border-color:var(--border-strong);color:var(--text)}.empty-icon{font-size:42px;opacity:.22;color:var(--text-muted)}.playback-view{flex:1;display:none;flex-direction:column;position:relative;min-height:0}.playback-view.visible{display:flex}.playback-view .stream-cell.playback-tile{min-height:0}.playback-view .stream-cell.playback-tile img,.playback-view .stream-cell.playback-tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;z-index:1}.playback-tile-shade{position:absolute;inset:0;z-index:5;display:none;align-items:center;justify-content:center;pointer-events:none;background:#0000006b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.playback-tile-shade.visible{display:flex}.playback-tile-shade.mode-loading{background:#08081094;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.playback-paused-badge{display:inline-flex;align-items:center;gap:8px;font-size:var(--font-label);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#e0e0e8;padding:8px 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:#14141ce0;box-shadow:0 4px 16px #00000059}@keyframes playbackSpin{to{transform:rotate(360deg)}}.playback-start-card{width:min(220px,86%);padding:14px 16px;border-radius:var(--radius-lg);border:1px solid var(--border);background:#14141ceb;box-shadow:0 8px 28px #00000073}.playback-start-label{display:flex;align-items:center;justify-content:center;gap:8px;font-size:var(--font-label);font-weight:600;letter-spacing:.04em;color:var(--text-dim);text-align:center;margin-bottom:12px}.playback-start-label:before{content:"";width:14px;height:14px;border:2px solid rgba(255,255,255,.15);border-top-color:#b4bed2e6;border-radius:50%;animation:playbackSpin .7s linear infinite;flex-shrink:0}.playback-start-track{height:3px;border-radius:var(--radius-sm);background:#ffffff0f;overflow:hidden}.playback-start-fill{width:36%;height:100%;border-radius:var(--radius-sm);background:linear-gradient(90deg,transparent,rgba(160,170,190,.6),rgba(200,210,225,.8),transparent);animation:playbackStartSlide .95s ease-in-out infinite}@keyframes playbackStartSlide{0%{transform:translate(-140%)}to{transform:translate(320%)}}.playback-tile-btn.secondary{border-color:#a29bfea6;color:#dcd6ff;background:#a29bfe1f}.playback-tile-btn:disabled{opacity:.45;cursor:not-allowed}.playback-stream{flex:1;background:#000;display:flex;align-items:center;justify-content:center;position:relative}.playback-stream img{max-width:100%;max-height:100%;object-fit:contain}.playback-title{position:absolute;top:10px;left:14px;font-size:13px;color:#ccc;text-shadow:0 1px 3px rgba(0,0,0,.8)}.playback-close{position:absolute;top:8px;right:10px;width:28px;height:28px;background:#0009;border:none;border-radius:4px;color:#ccc;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:background .15s}.playback-close:hover{background:#e74c3ccc;color:#fff}.playback-controls{background:linear-gradient(180deg,#141a28,#10141e);border-top:1px solid var(--border-subtle);padding:8px 14px 6px;display:flex;flex-direction:column;gap:6px}.playback-toolbar{display:flex;align-items:center;gap:12px}.pb-btn{padding:5px 12px;background:var(--accent-dim);border:1px solid var(--accent);border-radius:4px;color:var(--accent);font-size:12px;cursor:pointer;transition:background .15s}.pb-btn:hover{background:var(--accent);color:#fff}.pb-status{color:var(--text-dim);font-size:11px}.playback-chrome-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px 16px;margin-bottom:0}.playback-chrome-slot--left{justify-self:start;display:flex;align-items:center}.playback-chrome-slot--center{justify-self:center}.playback-chrome-slot--right{justify-self:end;display:flex;align-items:center}.pb-chrome-action-group{display:inline-flex;align-items:center;gap:7px}.playback-chrome-row .pb-pill,.playback-chrome-row .pb-scale-btn,.playback-chrome-row .pb-icon-btn{flex-shrink:0}.pb-pill{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 16px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:linear-gradient(180deg,var(--pb-pill-grad-0) 0%,var(--pb-pill-grad-1) 100%);color:#f0faf6;font-size:var(--font-body);font-weight:600;letter-spacing:.015em;cursor:pointer;box-shadow:inset 0 1px #ffffff1f,0 0 14px #12c9a040;transition:filter var(--transition-ui),transform .12s}.pb-pill:hover{filter:brightness(1.06)}.pb-pill:active{transform:scale(.99)}.pb-pill-icon{font-size:14px;line-height:1;opacity:.95}.pb-pill-datetime{font-variant-numeric:tabular-nums;letter-spacing:.02em}.pb-scale-btn{padding:5px 10px;font-size:var(--font-caption);font-weight:600;letter-spacing:.05em;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:#ffffff08;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.pb-scale-btn:hover{color:var(--text);border-color:var(--border-strong);background:#ffffff0f}.playback-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-dim);gap:12px;text-align:center;padding:24px}.playback-empty .empty-state-steps{margin:4px 0 0;padding-left:1.25em;text-align:left;font-size:13px;line-height:1.55;max-width:400px}.pb-icon-btn--labeled{width:auto;min-width:0;height:32px;padding:0 10px 0 8px;gap:6px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.22);background:#ffffff0a;box-shadow:inset 0 0 0 1px #ffffff0a}.pb-icon-btn--labeled:hover{border-color:#12c9a080;background:#ffffff14;box-shadow:0 0 0 1px #12c9a02e}.pb-icon-btn-label{font-size:var(--font-caption);font-weight:600;letter-spacing:.03em;color:var(--text-dim);white-space:nowrap}.pb-icon-btn--labeled:hover .pb-icon-btn-label{color:var(--text)}.playback-chrome-row .pb-icon-btn.pb-icon-btn--nav{width:auto!important;height:32px!important;min-height:32px!important;min-width:62px!important;padding:0 10px 0 8px!important;margin-left:4px;gap:6px;border:1px solid rgba(18,201,160,.7)!important;background:#1e2837f2!important;color:#ffffffeb;box-shadow:inset 0 1px #ffffff1a,0 2px 6px #00000059;transition:background var(--transition-ui),border-color var(--transition-ui),box-shadow var(--transition-ui),transform .1s,color var(--transition-ui)}.playback-chrome-row .pb-icon-btn.pb-icon-btn--nav svg{width:15px;height:15px;color:#12c9a0f2;flex-shrink:0}.playback-chrome-row .pb-icon-btn.pb-icon-btn--nav .pb-icon-btn-label{font-size:12px;font-weight:700;letter-spacing:.04em;color:#ffffffeb}.playback-chrome-row .pb-icon-btn.pb-icon-btn--nav:hover{color:#fff;border-color:#12c9a0;background:#233446fa;box-shadow:inset 0 1px #ffffff24,0 0 16px #12c9a059,0 3px 8px #0006}.playback-chrome-row .pb-icon-btn.pb-icon-btn--nav:hover .pb-icon-btn-label{color:#fff}.playback-chrome-row .pb-icon-btn.pb-icon-btn--nav:hover svg{color:#12c9a0}.playback-chrome-row .pb-icon-btn.pb-icon-btn--nav:active{transform:scale(.98);background:#192330fa}.playback-chrome-row .pb-icon-btn.pb-icon-btn--nav:focus-visible{outline:none;box-shadow:inset 0 1px #ffffff1a,0 0 0 2px #12c9a073,0 2px 6px #00000059}.pb-icon-btn--corner{height:36px;min-height:36px;padding:0 12px 0 10px;gap:7px;border:1.5px solid rgba(255,255,255,.28);background:#ffffff0f}.pb-icon-btn--corner svg{width:17px;height:17px}.pb-icon-btn--corner .pb-icon-btn-label{font-size:12px;color:var(--text)}.pb-icon-btn--corner:hover{border-color:#12c9a08c;background:#ffffff1a}.spotify-timeline{background:linear-gradient(180deg,#141a28,#10141e);border-top:1px solid var(--border-subtle);padding:6px 12px 4px;-webkit-user-select:none;user-select:none}.timeline-track-area{position:relative;height:34px;margin-bottom:0;cursor:grab}.timeline-rail{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:6px;border-radius:var(--radius-sm);background:linear-gradient(180deg,#262a36d9,#14161ef2);box-shadow:inset 0 1px 2px #0006;pointer-events:none}.timeline-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-bottom:5px;font-size:9px;font-weight:500;letter-spacing:.03em;color:var(--text-muted);-webkit-user-select:none;user-select:none}.timeline-legend-item{display:inline-flex;align-items:center;padding:3px 5px;border-radius:var(--radius-sm);background:#ffffff0a;border:1px solid var(--border-subtle)}.timeline-legend-swatch{display:inline-block;width:12px;height:5px;border-radius:var(--radius-sm);flex-shrink:0}.timeline-legend-swatch--recording{background:linear-gradient(180deg,var(--recording-green) 0%,var(--recording-green-dim) 100%);box-shadow:none}.timeline-legend-swatch--range{border:1px solid rgba(46,184,92,.55);background:#2eb85c14;height:7px;width:14px}.timeline-legend-swatch--playhead{width:1px;height:8px;border-radius:0;background:var(--playhead-teal);box-shadow:none}.timeline-hint{margin-top:3px;text-align:center;font-size:9px;color:var(--text-muted);letter-spacing:.02em;-webkit-user-select:none;user-select:none}.timeline-segments-layer{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:9px;z-index:2}.timeline-segment{position:absolute;top:50%;transform:translateY(-50%);height:9px;min-width:4px;border-radius:var(--radius-sm);background:linear-gradient(180deg,#3dd06a 0%,var(--recording-green) 45%,var(--recording-green-dim) 100%);box-shadow:inset 0 1px #ffffff2e,0 0 6px #2eb85c38;cursor:ew-resize;pointer-events:auto;touch-action:none;transition:filter var(--transition-fast)}.timeline-segment:hover{filter:brightness(1.08)}.timeline-segment:active{cursor:col-resize}.timeline-experiments-layer{position:absolute;left:0;right:0;top:calc(50% + 12px);height:8px;z-index:6;pointer-events:none}.timeline-experiment-bar{position:absolute;top:0;height:100%;min-width:4px;border-radius:9999px;background:linear-gradient(180deg,#3b82f6,#1d4ed8);box-shadow:0 0 8px #3b82f659,inset 0 1px #fff3;cursor:pointer;pointer-events:auto;touch-action:manipulation;transition:filter .12s,transform .12s}.timeline-experiment-bar:hover{filter:brightness(1.12)}.timeline-experiment-tooltip{position:absolute;bottom:calc(100% + 8px);transform:translate(-50%);padding:4px 8px;border-radius:6px;border:1px solid rgba(59,130,246,.45);background:#0a0e16f5;color:var(--text);font-size:10px;white-space:pre-line;box-shadow:0 6px 16px #00000059;z-index:7;display:none;pointer-events:none;max-width:min(320px,90vw);text-align:left;line-height:1.35}.timeline-experiment-tooltip.visible{display:block}.timeline-range-bracket{position:absolute;left:0;top:0;bottom:0;border-radius:var(--radius-sm);border:2px solid rgba(120,255,160,1);background:#46dc7361;box-shadow:0 0 0 1px #64f08c99,0 0 18px #50e678a6;pointer-events:none;z-index:8;display:none;box-sizing:border-box}.timeline-range-bracket.visible{display:block}.timeline-playhead{position:absolute;top:50%;left:0;width:3px;height:40.5px;margin-left:-1.5px;transform:translateY(-50%);border-radius:1.5px;background:#3ee8dc;box-shadow:0 0 8px #3ee8dce6,0 0 18px #3ee8dc80;pointer-events:none;z-index:9;transition:left .08s ease-out}.timeline-progress-marker{position:absolute;top:50%;left:0;width:3px;height:40.5px;margin-left:-1.5px;transform:translateY(-50%);border-radius:1.5px;background:var(--progress-amber);box-shadow:0 0 6px #d4a04a80;z-index:10;display:none;cursor:help}.timeline-progress-marker.visible{display:block}.timeline-progress-fill{position:absolute;top:50%;transform:translateY(-50%);height:8px;border-radius:var(--radius-sm);background:#2eb85c2e;z-index:2;display:none;pointer-events:none}.timeline-progress-fill.visible{display:block}.timeline-progress-tooltip{position:absolute;bottom:calc(100% + 8px);transform:translate(-50%);padding:3px 7px;border-radius:6px;border:1px solid var(--border);background:#0a0e16f5;color:var(--text);font-size:10px;white-space:nowrap;box-shadow:0 6px 16px #00000059;z-index:6;display:none;pointer-events:none}.timeline-progress-tooltip.visible{display:block}.timeline-segment-tooltip{position:absolute;bottom:calc(100% + 8px);transform:translate(-50%);padding:3px 7px;border-radius:6px;border:1px solid rgba(46,184,92,.45);background:#0a0e16f5;color:var(--text);font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap;box-shadow:0 6px 16px #00000059;z-index:8;display:none;pointer-events:none}.timeline-segment-tooltip.visible{display:block}.timeline-axis{position:relative;min-height:32px;height:auto;margin-top:0;padding:0 0 4px;box-sizing:border-box;cursor:grab;touch-action:none}.timeline-axis.timeline-panning{cursor:grabbing;background:#0a101c40}.timeline-tick{position:absolute;bottom:0;transform:translate(-50%);text-align:center;pointer-events:none;min-width:1px}.timeline-tick--major{z-index:1}.timeline-tick--major:before{content:"";position:absolute;bottom:15px;left:50%;width:1px;height:10px;border-radius:1px;background:var(--timeline-tick-major);box-shadow:0 0 4px #c8cdf01f;transform:translate(-50%)}.timeline-tick--major span{font-size:10px;font-weight:500;color:#b8b8d0;white-space:nowrap;letter-spacing:.02em}.timeline-tick--minor{z-index:0}.timeline-tick--minor:before{content:"";position:absolute;bottom:15px;left:50%;width:1px;height:6px;border-radius:1px;background:var(--timeline-tick-minor);transform:translate(-50%)}.playback-pill-cluster{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.pb-pill-day-arrow{width:32px;height:32px;padding:0;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:#ffffff08;color:var(--text-dim);font-size:16px;font-weight:500;line-height:1;font-family:inherit;cursor:pointer;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;transition:background var(--transition-ui),border-color var(--transition-ui),transform .1s,color var(--transition-ui)}.pb-pill-day-arrow:hover:not(:disabled){background:#ffffff0f;border-color:var(--border-strong);color:var(--text)}.pb-pill-day-arrow:active:not(:disabled){transform:scale(.96)}.pb-pill-day-arrow:disabled{opacity:.32;cursor:not-allowed}.pb-pill-day-arrow:focus-visible{outline:none;box-shadow:var(--focus-ring)}.timeline-track-area.timeline-panning{cursor:grabbing!important}.timeline-track-area.timeline-panning .timeline-segment{cursor:grabbing}.help-modal-backdrop{position:fixed;inset:0;z-index:8000;display:flex;align-items:center;justify-content:center;padding:20px 16px;background:#080812b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}.help-modal-backdrop.visible{opacity:1;visibility:visible;pointer-events:auto}.help-modal{width:min(400px,100%);max-height:min(72vh,520px);display:flex;flex-direction:column;border-radius:var(--radius-xl);background:var(--bg-card-elevated);border:1px solid var(--border-subtle);box-shadow:var(--shadow-modal);overflow:hidden}.help-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:#ffffff05;border-bottom:1px solid var(--border)}.help-modal-header h2{font-size:14px;font-weight:600;color:var(--text);letter-spacing:.01em}.help-modal-close{width:30px;height:30px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-toolbar);color:var(--text-dim);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.help-modal-close:hover{color:var(--text);border-color:var(--text-dim)}.help-modal-body{padding:16px 18px 20px;overflow-y:auto;font-size:12px;line-height:1.55;color:var(--text-dim)}.help-modal-body p{margin-bottom:12px}.help-modal-list{margin:0 0 0 2px;padding-left:1.15em;color:var(--text-dim)}.help-modal-list li{margin-bottom:.7em;padding-left:2px}.help-modal-list li:last-child{margin-bottom:0}.help-modal-list li::marker{color:var(--text-muted)}.help-modal-foot{margin-top:16px;padding-top:14px;border-top:1px solid var(--border);font-size:11px;color:var(--text-dim)}.help-modal-foot code{font-size:10px;padding:1px 5px;border-radius:4px;background:var(--bg-toolbar);color:var(--text)}.timeline-no-data-banner{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;font-size:10px;color:var(--text-dim);pointer-events:none;z-index:1;line-height:1.45;padding:0 8px}.timeline-no-data-banner .timeline-no-data-action{pointer-events:auto;margin:0 2px;padding:2px 8px;font-size:10px;border-radius:6px;border:1px solid rgba(0,184,148,.35);background:#00b8941f;color:var(--accent);cursor:pointer;transition:background .15s,border-color .15s}.timeline-no-data-banner .timeline-no-data-action:hover{background:#00b89438;border-color:#00b89480}.timeline-coach-banner{display:none;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:#ffffff08;font-size:var(--font-body);color:var(--text-dim);line-height:1.45}.timeline-coach-banner.visible{display:flex}.timeline-coach-banner-text{flex:1;min-width:0}.timeline-coach-dismiss{flex-shrink:0;padding:5px 12px;font-size:var(--font-label);font-weight:600;border-radius:var(--radius-md);border:1px solid var(--border);background:#ffffff0a;color:var(--text);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.timeline-coach-dismiss:hover{background:#ffffff12;border-color:var(--border-strong)}.help-modal-section{margin-bottom:16px}.help-modal-section h3{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--text)}.help-modal-section:last-child{margin-bottom:0}.warning-toast{display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#261818;border:1px solid rgba(232,93,76,.55);border-radius:var(--radius-lg);padding:18px 20px;z-index:250;max-width:420px;width:90%;box-shadow:var(--shadow-elevated)}.warning-toast.visible{display:block}.warning-toast.toast-info{background:#16221f;border-color:var(--accent)}.warning-toast.toast-info .warning-toast-title{color:var(--accent)}.warning-toast.toast-info .warning-toast-close{border-color:#00b89473;color:var(--accent)}.warning-toast.toast-info .warning-toast-close:hover{background:var(--accent);color:#0a0a12}.warning-toast-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.warning-toast-title{font-size:14px;font-weight:600;color:var(--danger)}.warning-toast-close{width:24px;height:24px;background:transparent;border:1px solid rgba(231,76,60,.4);border-radius:4px;color:var(--danger);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.warning-toast-close:hover{background:var(--danger);color:#fff}.warning-toast-body{font-size:13px;color:var(--text);line-height:1.5}.warning-toast.toast-download{background:linear-gradient(165deg,#152a26,#131820 55%,#0f141c);border:1px solid rgba(30,220,180,.4);box-shadow:0 0 0 1px #00000040 inset,0 16px 48px #00000080,0 0 32px #14c8a014}.warning-toast.toast-download .warning-toast-header{justify-content:center;margin-bottom:6px}.warning-toast.toast-download .warning-toast-title{color:#b8f5e8;font-size:15px;font-weight:600;letter-spacing:.02em}.warning-toast.toast-download .warning-toast-close{display:none}.warning-toast.toast-download .warning-toast-body{text-align:center;color:#c8c8d8;font-size:14px;line-height:1.55}.download-dialog{display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(420px,92%);background:var(--bg-card-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);z-index:140;padding:14px}.download-dialog.visible{display:block}#goto-time-dialog{z-index:150}.goto-time-panel.download-dialog{width:min(300px,92vw);padding:0;overflow:hidden;border-radius:var(--radius-lg);border:1px solid rgba(18,201,160,.25);background:linear-gradient(165deg,#1a2232 0%,var(--bg-toolbar) 100%);box-shadow:var(--shadow-modal),0 0 24px #12c9a014}.goto-time-panel-header{padding:12px 14px 10px;border-bottom:1px solid var(--border-subtle);background:#ffffff05}.goto-time-panel-title{margin:0;font-size:14px;font-weight:600;color:var(--text);letter-spacing:.02em}.goto-time-panel-fields--compact{display:grid;grid-template-columns:1fr;gap:10px;padding:10px 14px 6px}.goto-time-field--time-row{min-width:0}.goto-time-tz-label{font-weight:400;color:var(--text-dim);font-size:.85em}.goto-time-hm{display:flex;align-items:center;justify-content:flex-start;gap:4px}.goto-time-hm input{width:2.75em;min-width:0;height:34px;padding:0 4px;border-radius:var(--radius-md);border:1px solid var(--border);background:#00000047;color:var(--text);font:inherit;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;text-align:center;letter-spacing:.04em;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.goto-time-hm input::placeholder{color:var(--text-muted);font-weight:500;opacity:.65}.goto-time-hm input:hover{border-color:var(--border-strong)}.goto-time-hm input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.goto-time-hm span{font-size:16px;font-weight:600;color:var(--text-dim);line-height:1;-webkit-user-select:none;user-select:none}.goto-time-error{display:none;margin-bottom:10px;padding:8px 10px;border-radius:8px;font-size:12px;line-height:1.45;color:#ffb4b4;background:#dc35451f;border:1px solid rgba(220,53,69,.35)}.goto-time-error.visible{display:block}.goto-time-digital{display:flex;align-items:center;justify-content:center;gap:4px;padding:10px 12px;border-radius:var(--radius-lg);background:#00000047;border:1px solid var(--border-subtle)}.goto-time-seg{font:inherit;font-size:32px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.04em;min-width:2.4ch;padding:4px 6px;border:none;border-radius:8px;background:transparent;color:var(--text-dim);cursor:pointer;transition:color .15s,background .15s,box-shadow .15s}.goto-time-seg:hover{color:var(--text);background:#ffffff0f}.goto-time-seg--active{color:var(--text);background:#ffffff14;box-shadow:0 0 0 1px var(--border-strong) inset}.goto-time-seg-input{width:2.6ch;font:inherit;font-size:32px;font-weight:600;font-variant-numeric:tabular-nums;text-align:center;padding:4px 2px;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:#00000059;color:var(--text);box-shadow:var(--focus-ring)}.goto-time-colon{font-size:28px;font-weight:300;color:var(--text-dim);-webkit-user-select:none;user-select:none;line-height:1;margin:0 2px}.goto-time-hint{margin:8px 0 0;text-align:center;font-size:11px;color:var(--text-dim);line-height:1.4}.goto-time-dial-wrap{display:flex;justify-content:center;padding:8px 0 4px;touch-action:none}.goto-time-dial{width:min(220px,72vw);height:auto;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none}.goto-time-dial-face{fill:#00000038;stroke:#ffffff14;stroke-width:1}.goto-time-dial-tick{stroke:#ffffff2e;stroke-width:1.5;stroke-linecap:round}.goto-time-dial-tick--major{stroke:#ffffff59;stroke-width:2}.goto-time-dial-num{fill:var(--text-dim);font-size:11px;font-family:inherit;font-variant-numeric:tabular-nums;pointer-events:none}.goto-time-dial-hand{stroke:#a8b0c0;stroke-width:2;stroke-linecap:round;pointer-events:none}.goto-time-dial-dot{fill:#c0c8d4;pointer-events:none}.goto-time-dial-hub{fill:#1a1a22;stroke:var(--border-strong);stroke-width:1.5;pointer-events:none}@media(max-width:420px){.goto-time-panel-fields{grid-template-columns:1fr}.goto-time-seg,.goto-time-seg-input{font-size:28px}}.goto-time-field label{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:6px}.goto-time-field input{width:100%;min-width:0;height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--border);background:#00000040;color:var(--text);font-family:inherit;font-size:14px;font-variant-numeric:tabular-nums;transition:border-color .15s,box-shadow .15s}.goto-time-field input:hover{border-color:#ffffff1f}.goto-time-field input:focus{outline:none;border-color:var(--border-strong);box-shadow:var(--focus-ring)}.goto-time-panel-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:8px 14px 12px;margin-top:0;border-top:1px solid var(--border-subtle);background:#0000001f}.goto-time-btn{font:inherit;font-size:12px;font-weight:600;padding:8px 16px;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),transform .1s}.goto-time-btn:active{transform:scale(.98)}.goto-time-btn--ghost{border:1px solid var(--border);background:transparent;color:var(--text-dim)}.goto-time-btn--ghost:hover{color:var(--text);border-color:#fff3;background:#ffffff0d}.goto-time-btn--primary{border:1px solid var(--accent);background:linear-gradient(180deg,var(--accent-hover) 0%,var(--accent) 100%);color:#fff;box-shadow:0 0 12px var(--accent-glow)}.goto-time-btn--primary:hover{filter:brightness(1.06);border-color:var(--accent-hover)}.pb-icon-btn{padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:var(--text-dim);cursor:pointer;flex-shrink:0;transition:color var(--transition-ui),border-color var(--transition-ui),background var(--transition-ui),box-shadow var(--transition-ui),transform .1s}.pb-icon-btn:not(.pb-icon-btn--labeled){width:32px;height:32px}.pb-icon-btn svg{width:16px;height:16px;display:block}.pb-icon-btn:hover:not(.pb-icon-btn--nav){color:var(--text);border-color:var(--border-subtle);background:#ffffff0d}.pb-icon-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.download-dialog-title{font-size:15px;font-weight:600;margin-bottom:6px}.download-dialog-sub{font-size:12px;color:var(--text-dim);margin-bottom:10px}.download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.download-field{display:flex;flex-direction:column;gap:4px}.download-field label{font-size:11px;color:var(--text-dim)}.download-grid input{width:100%;min-width:0;background:var(--bg-card);border:1px solid var(--border);color:var(--text);border-radius:6px;height:32px;padding:0 8px;font-family:inherit;font-size:12px}.download-actions{display:flex;justify-content:flex-end;gap:8px}.download-dialog--confirm{background:var(--bg-card-elevated);border:1px solid rgba(18,201,160,.32);box-shadow:var(--shadow-modal),0 0 28px #12c9a014}.download-dialog--enter{animation:download-confirm-in .22s ease-out}@keyframes download-confirm-in{0%{opacity:.6;transform:translate(-50%,-48%) scale(.98)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.download-confirm-hero{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:14px;text-align:center}.download-confirm-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#12c9a026;border:1px solid rgba(18,201,160,.35);color:var(--accent)}.download-confirm-icon svg{width:20px;height:20px}.download-confirm-headline{margin:0;font-size:16px;font-weight:600;color:var(--text);letter-spacing:.01em}.download-confirm-card{margin-bottom:16px;padding:14px;border-radius:var(--radius-md);background:#00000080;border:1px solid var(--border)}.download-confirm-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.download-confirm-chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:500;color:var(--text);background:#ffffff0f;border:1px solid rgba(255,255,255,.1)}.download-confirm-time-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.download-confirm-range{flex:1;min-width:0;font-size:13px;line-height:1.45;color:var(--text)}.download-confirm-duration-badge{flex-shrink:0;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--accent);background:#12c9a01f;border:1px solid rgba(18,201,160,.3);white-space:nowrap}.download-confirm-output{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-subtle);font-size:12px;line-height:1.45}.download-confirm-output-file{display:block;color:var(--text);font-variant-numeric:tabular-nums;word-break:break-all}.download-confirm-output-hint{display:block;margin-top:4px;font-size:11px;color:var(--text-dim)}.download-actions--confirm{padding-top:2px}.download-btn--primary{border:1px solid #1a8f5c;background:linear-gradient(180deg,#1e9a62,#1a8f5c);color:#fff;box-shadow:0 0 10px #1a8f5c40;font-weight:600;min-width:100px;height:28px;font-size:12px}.download-btn--primary:hover{background:linear-gradient(180deg,#24a86e,#1e9a62);border-color:#22a86e}.storage-info{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:8px;margin-right:8px;flex:0 1 auto;min-width:0}.storage-badge{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);height:var(--topbar-pill-h, 28px);box-sizing:border-box;display:inline-flex;align-items:center;padding:0 9px;color:var(--text-muted);font-size:10px;line-height:1;white-space:nowrap;flex-shrink:0;box-shadow:inset 0 1px #ffffff08}#retention-details{display:inline-flex;align-items:center;flex-shrink:0}.bandwidth-badge{gap:6px}.bandwidth-badge .bandwidth-label{color:var(--text-dim);font-size:11px;font-weight:400}.bandwidth-badge .bandwidth-value{font-size:12px;font-weight:600;color:var(--text)}.storage-disk-chip{flex:1 1 auto;min-width:0;max-width:220px;height:var(--topbar-pill-h, 28px);box-sizing:border-box;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-card);padding:0 8px;display:inline-flex;align-items:center;gap:6px;box-shadow:inset 0 1px #ffffff08}.storage-disk-label{font-size:10px;font-weight:600;color:var(--text);white-space:nowrap;flex-shrink:0}.storage-disk-bar-track{flex:1;min-width:28px;height:6px;border-radius:999px;background:#ffffff14;overflow:hidden}.storage-disk-bar{display:block;height:100%;width:100%}.storage-disk-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5a6a7a,#6a7a8a);min-width:0}.storage-disk-figures{font-size:10px;color:var(--text-dim);white-space:nowrap;flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.storage-disk-used{color:var(--text);font-weight:600}.storage-disk-sep{opacity:.5;margin:0 1px}.storage-disk-total{color:var(--text-dim)}.storage-disk-unit{margin-left:2px;font-size:10px;opacity:.85}@media(max-width:900px){.pb-icon-btn-label{display:none}.pb-icon-btn--labeled:not(.pb-icon-btn--nav){width:32px;padding:0;justify-content:center}}@media(max-width:640px){.sidebar{width:160px;min-width:160px}.layout.sidebar-collapsed .sidebar{width:48px;min-width:48px}.cam-item{padding-left:16px;font-size:12px}}
