:root,[data-theme=dark]{--bg-base: #1e2130;--bg-card: #252837;--bg-input: #1e2130;--bg-elevated: #2c3045;--bg-table-header: #222538;--bg-sidebar: #181b28;--border: #323650;--border-subtle: #282c40;--border-input: #3a3f58;--text: #e8eaf2;--text-dim: #f2f3f9;--text-muted: #7278a0;--text-dim2: #9298b8;--muted: #5a607a;--muted-dim: #3e4460;--accent: #5b8def;--accent-hover: #4a7de8;--accent-active-bg: #111e3a;--ok: #4ade80;--ok-dark: #16a34a;--ok-bg: #0d2318;--ok-border: #174d2a;--err: #f87171;--err-dark: #dc2626;--err-bg: #270f0f;--err-border: #4a1c1c;--warn: #fbbf24;--warn-dark: #d97706;--warn-bg: #251a06;--warn-border: #4a3510;--info: #60a5fa;--info-bg: #101d36;--info-border: #1e3a60;--drone: #38bdf8;--card-bg: #1c1e27;--avatar-bg: #1a2d50;--fc-cell-bg: #161820;--fc-card-bg: #1c1e27}[data-theme=drone-dark]{--bg-base: #060908;--bg-card: #0c1a0e;--bg-input: #080e08;--bg-elevated: #112215;--bg-table-header: #091108;--bg-sidebar: #050c06;--border: #1a3320;--border-subtle: #0e1e10;--border-input: #1e3a22;--text: #c8e6c0;--text-dim: #d4eacc;--text-muted: #567850;--text-dim2: #6a9460;--muted: #446640;--muted-dim: #334d30;--accent: #3ddc6a;--accent-hover: #2ec85a;--accent-active-bg: #061a09;--ok: #00ff88;--ok-dark: #00cc6a;--ok-bg: #002a14;--ok-border: #005028;--err: #ff5555;--err-dark: #e03333;--err-bg: #1a0808;--err-border: #4a1212;--warn: #ffb300;--warn-dark: #cc8800;--warn-bg: #1a1200;--warn-border: #4a3800;--info: #00d4ff;--info-bg: #001e26;--info-border: #00445a;--drone: #00d4ff;--card-bg: #0c1a0e;--avatar-bg: #0a2a10;--fc-cell-bg: #070e08;--fc-card-bg: #0a1a0c}[data-theme=light]{--bg-base: #f0f2f5;--bg-card: #ffffff;--bg-input: #f9fafb;--bg-elevated: #f3f4f6;--bg-table-header: #f8f9fa;--bg-sidebar: #1e293b;--border: #e2e8f0;--border-subtle: #edf0f4;--border-input: #d1d5db;--text: #111827;--text-dim: #1f2937;--text-muted: #6b7280;--text-dim2: #9ca3af;--muted: #9ca3af;--muted-dim: #d1d5db;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-active-bg: #eff6ff;--ok: #16a34a;--ok-dark: #15803d;--ok-bg: #f0fdf4;--ok-border: #bbf7d0;--err: #dc2626;--err-dark: #b91c1c;--err-bg: #fef2f2;--err-border: #fecaca;--warn: #d97706;--warn-dark: #b45309;--warn-bg: #fffbeb;--warn-border: #fde68a;--info: #2563eb;--info-bg: #eff6ff;--info-border: #bfdbfe;--drone: #0ea5e9;--card-bg: #ffffff;--avatar-bg: #dbeafe;--fc-cell-bg: #ffffff;--fc-card-bg: #f3f4f6;--heatmap-lv0: #e8edf4;--heatmap-lv0-border: #c8d3e0;--heatmap-lv1: #bae6fd;--heatmap-lv2: #7dd3fc;--heatmap-lv3: #38bdf8;--heatmap-lv4: #0ea5e9}[data-theme=sunrise]{--bg-base: #0f0a04;--bg-card: #1e1208;--bg-input: #150d05;--bg-elevated: #261806;--bg-table-header: #1a1006;--bg-sidebar: #0f0a04;--border: #3d2008;--border-subtle: #2a1506;--border-input: #4a2a0a;--text: #fef3e2;--text-dim: #fde68a;--text-muted: #92400e;--text-dim2: #b45309;--muted: #78350f;--muted-dim: #57200a;--accent: #f59e0b;--accent-hover: #d97706;--accent-active-bg: #1c0f00;--ok: #34d399;--ok-dark: #059669;--ok-bg: #022c22;--ok-border: #065f46;--err: #f87171;--err-dark: #dc2626;--err-bg: #2a0f0f;--err-border: #4a1a1a;--warn: #fb923c;--warn-dark: #ea580c;--warn-bg: #1c0a00;--warn-border: #431407;--info: #fbbf24;--info-bg: #1c1000;--info-border: #451a03;--drone: #fb923c;--card-bg: #1e1208;--avatar-bg: #431407;--fc-cell-bg: #120b03;--fc-card-bg: #1a1006}[data-theme=sunset]{--bg-base: #0e0818;--bg-card: #1a1028;--bg-input: #110c1e;--bg-elevated: #201535;--bg-table-header: #160d22;--bg-sidebar: #0c0618;--border: #2d1f4a;--border-subtle: #1e1335;--border-input: #3a2660;--text: #f0e6ff;--text-dim: #e8d5ff;--text-muted: #6b4fa0;--text-dim2: #8b6abf;--muted: #5b3a8f;--muted-dim: #3d2660;--accent: #f97316;--accent-hover: #ea580c;--accent-active-bg: #1c0a00;--ok: #34d399;--ok-dark: #059669;--ok-bg: #022c22;--ok-border: #065f46;--err: #f87171;--err-dark: #dc2626;--err-bg: #2a0f0f;--err-border: #4a1a1a;--warn: #fb923c;--warn-dark: #ea580c;--warn-bg: #1c0a00;--warn-border: #431407;--info: #c084fc;--info-bg: #1a0f30;--info-border: #3b1f6e;--drone: #e879f9;--card-bg: #1a1028;--avatar-bg: #2d1f4a;--fc-cell-bg: #0e0818;--fc-card-bg: #160d22}[data-theme=pastel]{--bg-base: #f6f4fc;--bg-card: #ffffff;--bg-input: #f9f8fe;--bg-elevated: #f0edf9;--bg-table-header: #f5f2fb;--bg-sidebar: #1e1535;--border: #e4ddf5;--border-subtle: #ede9f8;--border-input: #d5cced;--text: #1a1640;--text-dim: #2d2858;--text-muted: #7c6fa0;--text-dim2: #9b8ec0;--muted: #b8aecc;--muted-dim: #d5ceea;--accent: #8b5cf6;--accent-hover: #7c3aed;--accent-active-bg: #f3eeff;--ok: #16a34a;--ok-dark: #15803d;--ok-bg: #f0fdf4;--ok-border: #bbf7d0;--err: #e11d48;--err-dark: #be123c;--err-bg: #fff1f2;--err-border: #fecdd3;--warn: #d97706;--warn-dark: #b45309;--warn-bg: #fffbeb;--warn-border: #fde68a;--info: #0284c7;--info-bg: #f0f9ff;--info-border: #bae6fd;--drone: #7c3aed;--card-bg: #ffffff;--avatar-bg: #ede9ff;--fc-cell-bg: #ffffff;--fc-card-bg: #f5f2fb;--heatmap-lv0: #e8e3f5;--heatmap-lv0-border: #d5ceea}.theme-toggle{background:none;border:1px solid var(--border-subtle);border-radius:6px;color:var(--muted);font-size:15px;padding:4px 8px;cursor:pointer;transition:color .15s,border-color .15s;line-height:1;flex-shrink:0}.theme-toggle:hover{color:var(--text);border-color:var(--border)}[data-theme=drone-dark] .sidebar{background-color:var(--bg-sidebar);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='16' viewBox='0 0 28 16'%3E%3Cpath d='M14 0 L28 8 L14 16 L0 8 Z' fill='none' stroke='%231a3320' stroke-width='0.5'/%3E%3C/svg%3E");background-size:28px 16px}[data-theme=drone-dark] .drone-card.airborne{box-shadow:0 0 0 1px #00ff884d,0 0 16px #00ff881f}[data-theme=drone-dark] .signal-dot{background:var(--ok);box-shadow:0 0 6px var(--ok)}[data-theme=drone-dark] .signal-dot:after{background:var(--ok)}[data-theme=drone-dark] .stat-card:before{animation:gcsSweep 3s ease-in-out infinite}@keyframes gcsSweep{0%{opacity:1}40%{opacity:.4}60%{opacity:1}to{opacity:1}}[data-theme=drone-dark] .nav-item.active{text-shadow:0 0 8px rgba(61,220,106,.5)}[data-theme=drone-dark] .live-badge{color:var(--ok);letter-spacing:.15em}[data-theme=drone-dark] .live-dot{background:var(--ok)}[data-theme=light] .sidebar{background:var(--bg-sidebar);border-right-color:#2d3a4e}[data-theme=light] .sidebar-logo span,[data-theme=light] .sidebar-logo strong,[data-theme=light] .nav-section-label,[data-theme=light] .admin-name{color:#e2e8f0}[data-theme=light] .nav-item{color:#94a3b8}[data-theme=light] .nav-item:hover{color:#e2e8f0;background:#ffffff14}[data-theme=light] .nav-item.active{color:#93c5fd;background:#2563eb33}[data-theme=light] .nav-section{border-bottom-color:#2d3a4e}[data-theme=light] .sidebar-bottom{border-top-color:#2d3a4e}[data-theme=light] .admin-role,[data-theme=light] .btn-logout{color:#64748b}[data-theme=light] .btn-logout:hover{color:var(--err)}[data-theme=light] .sidebar-logo{border-bottom-color:#2d3a4e}[data-theme=light] .dashboard-live-thumb{background:linear-gradient(135deg,#0ea5e9bf,#0284c7e0)}[data-theme=light] .dashboard-live-thumb-badge{color:#e0f2fe}[data-theme=light] .hc.lv0{background:#e8edf4!important;border-color:#c8d3e0!important}[data-theme=light] .hc.lv1{background:#bae6fd}[data-theme=light] .hc.lv2{background:#7dd3fc}[data-theme=light] .hc.lv3{background:#38bdf8}[data-theme=light] .hc.lv4{background:#0ea5e9}[data-theme=light] .hc.lv-void{background:transparent}[data-theme=light] .fc .fc-button-primary{background:#5b8db8;border-color:#4a7aa5}[data-theme=light] .fc .fc-button-primary:hover{background:#4a7aa5;border-color:#3d6990}[data-theme=light] .fc .fc-button-primary:not(:disabled).fc-button-active{background:#3d6990;border-color:#335c7a}[data-theme=light] .fc .fc-day-today{background:#5b8db81a!important}[data-theme=light] .fc .fc-col-header-cell{background:#f1f5f9}[data-theme=light] .fc-theme-standard td,[data-theme=light] .fc-theme-standard th{border-color:#dde3ec}[data-theme=light] .fc .fc-daygrid-more-link{color:#5b8db8}[data-theme=light] .nav-badge{background:#b55a5a;animation:badgePulse 1.5s ease-in-out infinite}[data-theme=light] .nav-badge-green{background:#5a9e7a}[data-theme=light] .nav-badge-green-pulse{background:#5a9e7a;animation:badgePulse 1.5s ease-in-out infinite}[data-theme=light] .nav-badge-blue{background:#5b8db8}[data-theme=light] .live-grid-cell{background:var(--bg-card);border-color:var(--border)}[data-theme=light] .live-grid-cell--empty{background:var(--bg-base)}[data-theme=light] .live-grid-cell-ph,[data-theme=light] .live-thumb-placeholder{background:var(--bg-card);color:var(--text-muted)}[data-theme=light] .live-grid-cell-plus,[data-theme=light] .live-grid-cell-empty-label{color:var(--muted)}[data-theme=light] .live-grid-cell-empty:hover{background:var(--accent-active-bg)}[data-theme=light] .live-thumb-wrap{background:var(--bg-card);border-color:var(--border)}[data-theme=light] .live-grid-picker-drone{color:var(--text)}[data-theme=light] .live-grid-picker-stream,[data-theme=light] .live-grid-picker-none,[data-theme=light] .live-grid-picker-group,[data-theme=light] .live-layout-menu-label{color:var(--text-muted)}[data-theme=light] .live-grid-picker-group{border-top-color:var(--border)}[data-theme=light] .login-err{background:#fef2f2;border-color:#fecaca;color:var(--err)}[data-theme=light] .toast{background:var(--bg-card);border-color:var(--border);color:var(--text)}[data-theme=light] .modal{background:var(--bg-card)}[data-theme=light] .modal-header{border-bottom-color:var(--border)}[data-theme=light] .modal-footer{border-top-color:var(--border)}[data-theme=light] .badge-grey{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}[data-theme=light] .badge-green{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}[data-theme=light] .badge-amber{background:#fffbeb;color:#b45309;border:1px solid #fde68a}[data-theme=light] .badge-red{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}[data-theme=light] .badge-blue{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}[data-theme=light] .drone-card{box-shadow:0 1px 4px #00000014}[data-theme=light] .drone-card.airborne{box-shadow:0 0 0 2px var(--ok),0 2px 8px #15803d26}[data-theme=light] .timeline-item{background:var(--bg-input)}[data-theme=light] table th{background:var(--bg-table-header);color:var(--text-dim2)}[data-theme=light] table tr:hover td{background:#f8fafc}[data-theme=light] .admin-pill,[data-theme=light] .org-pill{background:#1e293be6}[data-theme=light] .timeline-item-label{color:var(--text)}[data-theme=light] .timeline-item-date{color:var(--text-muted)}[data-theme=light] .dashboard-live-title{color:var(--text)}[data-theme=light] .dashboard-live-subtext{color:var(--text-muted)}[data-theme=light] .live-thumb-wrap{background:#dce3ec;border-color:#c4cdd8}[data-theme=light] .live-thumb-placeholder{background:#dce3ec;color:#64748b}[data-theme=light] .btn-copy{background:var(--bg-input);border-color:var(--border-input);color:var(--text-dim2)}[data-theme=light] .btn-copy:hover{color:var(--text);border-color:var(--border)}[data-theme=light] .share-link-box{background:var(--ok-bg);border-color:var(--ok-border)}[data-theme=light] .info-banner-live{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok-dark)}[data-theme=light] .info-banner-live.info-banner-paused{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-dark)}[data-theme=light] .appearance-card:hover{box-shadow:0 8px 24px #0000001f}[data-theme=light] .btn-ghost{border-color:var(--border-input)}[data-theme=light] .viewer-bulk-bar{background:var(--info-bg);border-left-color:var(--accent)}[data-theme=light] .viewer-bulk-bar .vb-count{color:var(--accent)}[data-theme=light] .btn-revoke{border-color:#fca5a5;color:#dc2626}[data-theme=light] .btn-revoke:hover{background:#fef2f2;color:#b91c1c}[data-theme=light] .btn-reinstate{border-color:#86efac;color:#16a34a}[data-theme=light] .btn-reinstate:hover{background:#f0fdf4;color:#15803d}[data-theme=light] .alarm-bar--warning{background:#fffbeb;border-color:#fde68a;color:#92400e;box-shadow:0 2px 12px #d9770626}[data-theme=light] .alarm-bar--critical{background:#fef2f2;border-color:#fecaca;color:#991b1b;box-shadow:0 2px 12px #dc262626}[data-theme=light] .alarm-bar__btn{color:inherit;border-color:currentColor}[data-theme=light] .info-banner-live{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}[data-theme=light] .info-banner-live.info-banner-paused{background:#fffbeb;border-color:#fde68a;color:#92400e}[data-theme=sunrise] .sidebar{background:var(--bg-sidebar)}[data-theme=sunrise] .nav-item.active{text-shadow:0 0 8px rgba(245,158,11,.45)}[data-theme=sunrise] .live-badge{color:var(--warn)}[data-theme=sunrise] .live-dot{background:var(--warn)}[data-theme=sunset] .sidebar{background:var(--bg-sidebar)}[data-theme=sunset] .drone-card.airborne{box-shadow:0 0 0 1px #e879f94d,0 0 18px #e879f91f}[data-theme=sunset] .nav-item.active{text-shadow:0 0 8px rgba(249,115,22,.4)}[data-theme=sunset] .live-badge{color:var(--drone)}[data-theme=sunset] .live-dot{background:var(--drone)}[data-theme=pastel] .sidebar{background:var(--bg-sidebar);border-right-color:#2d1f4a}[data-theme=pastel] .sidebar-logo span,[data-theme=pastel] .sidebar-logo strong,[data-theme=pastel] .nav-section-label,[data-theme=pastel] .admin-name{color:#e9d5ff}[data-theme=pastel] .nav-item{color:#a78bfa}[data-theme=pastel] .nav-item:hover{color:#e9d5ff;background:#ffffff14}[data-theme=pastel] .nav-item.active{color:#c4b5fd;background:#8b5cf633;text-shadow:0 0 8px rgba(196,181,253,.5)}[data-theme=pastel] .nav-section{border-bottom-color:#2d1f4a}[data-theme=pastel] .sidebar-bottom{border-top-color:#2d1f4a}[data-theme=pastel] .sidebar-logo{border-bottom-color:#2d1f4a}[data-theme=pastel] .admin-role,[data-theme=pastel] .btn-logout{color:#7c6fa0}[data-theme=pastel] .btn-logout:hover{color:var(--err)}[data-theme=pastel] .hc.lv0{background:#e8e3f5!important;border-color:#d5ceea!important}[data-theme=pastel] .hc.lv1{background:#ddd6fe}[data-theme=pastel] .hc.lv2{background:#c4b5fd}[data-theme=pastel] .hc.lv3{background:#a78bfa}[data-theme=pastel] .hc.lv4{background:#8b5cf6}[data-theme=pastel] .hc.lv-void{background:transparent}[data-theme=pastel] .badge-grey{background:#f5f2fb;color:#6b5fa0;border:1px solid #d5cced}[data-theme=pastel] .badge-green{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}[data-theme=pastel] .badge-amber{background:#fffbeb;color:#d97706;border:1px solid #fde68a}[data-theme=pastel] .badge-red{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}[data-theme=pastel] .badge-blue{background:#f0f9ff;color:#0284c7;border:1px solid #bae6fd}[data-theme=pastel] .drone-card{box-shadow:0 1px 4px #8b5cf61a}[data-theme=pastel] .drone-card.airborne{box-shadow:0 0 0 2px var(--ok),0 2px 8px #16a34a26}[data-theme=pastel] table th{background:var(--bg-table-header);color:var(--text-dim2)}[data-theme=pastel] table tr:hover td{background:#f5f2fb}[data-theme=pastel] .timeline-item{background:var(--bg-input)}[data-theme=pastel] .timeline-item-label{color:var(--text)}[data-theme=pastel] .timeline-item-date{color:var(--text-muted)}[data-theme=pastel] .dashboard-live-title{color:var(--text)}[data-theme=pastel] .dashboard-live-subtext{color:var(--text-muted)}[data-theme=pastel] .live-thumb-wrap{background:#e9d5ff;border-color:#d8b4fe}[data-theme=pastel] .live-thumb-placeholder{background:#e9d5ff;color:#7c3aed}[data-theme=pastel] .info-banner-live{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok-dark)}[data-theme=pastel] .info-banner-live.info-banner-paused{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-dark)}[data-theme=pastel] .share-link-box{background:var(--ok-bg);border-color:var(--ok-border)}[data-theme=pastel] .login-err{background:#fff1f2;border-color:#fecdd3;color:var(--err)}[data-theme=pastel] .btn-copy{background:var(--bg-input);border-color:var(--border-input);color:var(--text-dim2)}[data-theme=pastel] .btn-copy:hover{color:var(--text);border-color:var(--border)}[data-theme=pastel] .btn-ghost{border-color:var(--border-input)}[data-theme=pastel] .viewer-bulk-bar{background:var(--info-bg);border-left-color:var(--accent)}[data-theme=pastel] .viewer-bulk-bar .vb-count{color:var(--accent)}[data-theme=pastel] .admin-pill,[data-theme=pastel] .org-pill{background:#1e1535e6}[data-theme=pastel] .appearance-card:hover{box-shadow:0 8px 24px #8b5cf626}[data-theme=pastel] .alarm-bar--warning{background:#fffbeb;border-color:#fde68a;color:#92400e;box-shadow:0 2px 12px #d977061f}[data-theme=pastel] .alarm-bar--critical{background:#fff1f2;border-color:#fecdd3;color:#9f1239;box-shadow:0 2px 12px #dc26261f}[data-theme=pastel] .btn-revoke{border-color:#fca5a5;color:#dc2626}[data-theme=pastel] .btn-revoke:hover{background:#fff1f2;color:#b91c1c}[data-theme=pastel] .btn-reinstate{border-color:#86efac;color:#16a34a}[data-theme=pastel] .btn-reinstate:hover{background:#f0fdf4;color:#15803d}[data-theme=pastel] .toast{background:var(--bg-card);border-color:var(--border);color:var(--text)}[data-theme=pastel] .modal{background:var(--bg-card)}[data-theme=pastel] .modal-header{border-bottom-color:var(--border)}[data-theme=pastel] .modal-footer{border-top-color:var(--border)}.theme-picker-wrap{position:relative}.theme-picker-panel{position:fixed;background:var(--bg-elevated);border:1px solid var(--border-input);border-radius:12px;padding:14px 12px 12px;z-index:10000;opacity:0;pointer-events:none;width:196px;box-shadow:0 6px 28px #00000080;transform:translateY(4px);transition:opacity .16s ease,transform .16s ease}.theme-picker-panel.open{opacity:1;pointer-events:auto;transform:translateY(0)}.theme-picker-title{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;padding:0 2px}.theme-picker-list{display:flex;flex-direction:column;gap:3px}.theme-card{display:flex;align-items:center;gap:9px;width:100%;padding:7px 8px;border-radius:7px;border:1px solid transparent;background:transparent;cursor:pointer;font-family:inherit;text-align:left;transition:background .13s,border-color .13s}.theme-card:hover{background:var(--bg-card);border-color:var(--border)}.theme-card.active{background:var(--accent-active-bg);border-color:var(--accent)}.theme-swatch{display:flex;gap:2px;width:38px;height:18px;border-radius:4px;overflow:hidden;flex-shrink:0;border:1px solid rgba(255,255,255,.06)}.theme-swatch-bar{flex:1}.theme-card-info{flex:1;display:flex;align-items:center;gap:5px;min-width:0}.theme-card-icon{font-size:13px;line-height:1}.theme-card-name{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap}.theme-card-check{margin-left:auto;font-size:11px;color:var(--accent);font-weight:700;opacity:0;flex-shrink:0}.theme-card.active .theme-card-check{opacity:1}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-base);color:var(--text);height:100dvh;display:flex;flex-direction:column;overflow-y:auto}#root{flex:1 1 0;min-height:0;display:flex;flex-direction:column}.player-root{flex:1 1 0;min-height:0;display:flex;flex-direction:column;padding:12px;overflow:hidden}.header{width:100%;display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;flex-shrink:0;padding:10px 16px;border-radius:14px;background:color-mix(in srgb,var(--bg-card) 70%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid color-mix(in srgb,var(--border) 60%,transparent);box-shadow:0 2px 16px #0000002e;transition:opacity .4s ease,transform .4s ease}.header.chrome-hidden{opacity:0;pointer-events:none;transform:translateY(-6px)}.logo{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:.15em;color:var(--text);white-space:nowrap;flex-shrink:0}.logo-img{width:32px;height:32px;border-radius:8px;object-fit:cover;flex-shrink:0;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 40%,transparent),0 0 10px color-mix(in srgb,var(--accent) 25%,transparent)}.logo-event{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:none;color:var(--text-dim2);padding:2px 10px;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:20px;background:color-mix(in srgb,var(--accent) 8%,transparent);white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.logo-sub{font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:2px 8px;border:1px solid var(--border-input);border-radius:20px;vertical-align:middle;line-height:1.6}.live-badge{display:flex;align-items:center;gap:6px;height:26px;font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--err);text-transform:uppercase;opacity:0;transition:opacity .5s ease,box-shadow .5s ease;padding:0 10px;border-radius:20px;border:1px solid color-mix(in srgb,var(--err) 35%,transparent);background:color-mix(in srgb,var(--err) 10%,transparent);box-shadow:0 0 12px color-mix(in srgb,var(--err) 20%,transparent);white-space:nowrap;flex-shrink:0}.live-badge.visible{opacity:1}.live-dot{width:6px;height:6px;background:var(--err);border-radius:50%;animation:pulse 1.4s infinite;box-shadow:0 0 6px var(--err);flex-shrink:0}@keyframes pulse{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 6px var(--err)}50%{opacity:.5;transform:scale(.8);box-shadow:0 0 2px var(--err)}}.viewer-count-badge{display:flex;align-items:center;gap:5px;height:26px;font-size:11px;font-weight:600;color:var(--text-dim);padding:0 10px;border-radius:20px;background:var(--bg-card);border:1px solid var(--border);white-space:nowrap;flex-shrink:0}.viewer-count-badge:before{content:"";display:inline-block;width:12px;height:9px;background:currentColor;opacity:.55;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 12'%3E%3Ccircle cx='5' cy='4' r='2.5'/%3E%3Ccircle cx='11' cy='4' r='2.5'/%3E%3Cpath d='M0 12c0-3 2-4.5 5-4.5s5 1.5 5 4.5H0zm6 0c0-3 2-4.5 5-4.5s5 1.5 5 4.5h-10z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 12'%3E%3Ccircle cx='5' cy='4' r='2.5'/%3E%3Ccircle cx='11' cy='4' r='2.5'/%3E%3Cpath d='M0 12c0-3 2-4.5 5-4.5s5 1.5 5 4.5H0zm6 0c0-3 2-4.5 5-4.5s5 1.5 5 4.5h-10z'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;flex-shrink:0}.quality-badge{display:flex;align-items:center;gap:5px;height:26px;font-size:11px;font-weight:600;padding:0 10px;border-radius:20px;text-transform:capitalize;white-space:nowrap;flex-shrink:0}.quality-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.quality-badge--good{color:#4ade80;background:#4ade801a;border:1px solid rgba(74,222,128,.25)}.quality-badge--fair{color:#facc15;background:#facc151a;border:1px solid rgba(250,204,21,.25)}.quality-badge--poor{color:#f87171;background:#f871711a;border:1px solid rgba(248,113,113,.25)}.quality-badge--good .quality-dot{background:#4ade80}.quality-badge--fair .quality-dot{background:#facc15}.quality-badge--poor .quality-dot{background:#f87171}.protocol-bar::-webkit-scrollbar{display:none}.protocol-bar{width:100%;display:flex;align-items:center;gap:5px;margin-top:8px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;flex-shrink:0}.protocol-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-right:4px;flex-shrink:0}.proto-btn{display:flex;align-items:center;gap:9px;padding:8px 12px 8px 8px;border-radius:12px;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-dim2);cursor:pointer;transition:transform .15s ease,border-color .15s,background .15s,color .15s,box-shadow .15s;text-align:left;white-space:nowrap;flex-shrink:0}.proto-btn:hover{transform:translateY(-1px);border-color:var(--accent);color:var(--text);background:color-mix(in srgb,var(--accent) 6%,var(--bg-input));box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 15%,transparent)}.proto-btn.active{background:color-mix(in srgb,var(--accent) 12%,var(--bg-input));border-color:var(--accent);color:var(--text);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent),0 4px 16px color-mix(in srgb,var(--accent) 18%,transparent)}.proto-thumb{width:32px;height:32px;border-radius:8px;background:color-mix(in srgb,var(--accent) 12%,transparent);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;transition:background .15s}.proto-btn.active .proto-thumb{background:color-mix(in srgb,var(--accent) 20%,transparent)}.proto-details{display:flex;flex-direction:column;gap:2px}.proto-name{font-size:12px;line-height:1.2;font-weight:700;color:inherit}.latency-tag{font-size:10px;color:inherit;opacity:.6;font-weight:500}.player-wrap{width:100%;flex:1 1 0;min-height:0;background:#000;overflow:hidden;position:relative}video{width:100%;height:100%;display:block;object-fit:contain;background:#000}video::-webkit-media-controls-wireless-playback-picker-button,video::-webkit-media-controls-picture-in-picture-button{display:none!important}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;background:#000000b8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:opacity .35s ease;padding:20px}.overlay.hidden{opacity:0;pointer-events:none}.overlay-card{display:flex;flex-direction:column;align-items:center;gap:12px;background:color-mix(in srgb,var(--bg-card) 72%,transparent);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:24px;padding:36px 40px 32px;max-width:360px;width:100%;box-shadow:0 8px 40px #00000073,0 1px #ffffff0f inset;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);animation:overlay-card-in .35s cubic-bezier(.22,1,.36,1) both}@keyframes overlay-card-in{0%{opacity:0;transform:scale(.94) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.overlay.hidden .overlay-card{animation:none}.overlay-logo-wrap{position:relative;margin-bottom:4px}.overlay-logo-ring{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:28px;background:conic-gradient(from 180deg,color-mix(in srgb,var(--accent) 80%,transparent),color-mix(in srgb,var(--accent) 20%,transparent),color-mix(in srgb,var(--accent) 80%,transparent));animation:ring-spin 4s linear infinite;opacity:.7;z-index:0}@keyframes ring-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.overlay-logo{position:relative;z-index:1;width:88px;height:88px;border-radius:20px;object-fit:cover;border:2px solid color-mix(in srgb,var(--bg-card) 90%,transparent);box-shadow:0 4px 16px #00000080}.overlay-icon{font-size:40px;line-height:1}.overlay-title{font-size:17px;font-weight:700;letter-spacing:.01em;text-align:center}.overlay-sub{font-size:13px;color:var(--text-dim);text-align:center;max-width:280px;line-height:1.6}.overlay-viewer-info{font-size:12px;color:var(--text-dim);opacity:.85;margin-top:4px;letter-spacing:.03em;text-align:center}.overlay-actions{display:flex;gap:10px;margin-top:6px;flex-wrap:wrap;justify-content:center}.btn-retry{padding:10px 28px;background:var(--accent);color:#fff;font-size:13px;font-weight:700;letter-spacing:.04em;border:none;border-radius:10px;cursor:pointer;transition:background .15s,transform .15s,box-shadow .15s}.btn-retry:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 45%,transparent)}.btn-rejoin{padding:10px 24px;background:transparent;color:var(--text-dim2);font-size:13px;font-weight:600;letter-spacing:.03em;border:1px solid var(--border-input);border-radius:10px;cursor:pointer;transition:color .15s,border-color .15s,background .15s,transform .15s}.btn-rejoin:hover{color:var(--text);border-color:var(--muted);background:color-mix(in srgb,var(--text) 6%,transparent);transform:translateY(-2px)}.btn-fullscreen{display:flex;align-items:center;gap:6px;background:none;border:1px solid var(--border-input);border-radius:9px;color:var(--text-dim2);font-size:11px;font-weight:600;padding:5px 12px;cursor:pointer;transition:color .15s,border-color .15s,background .15s;letter-spacing:.06em;text-transform:uppercase}.btn-fullscreen:hover{color:var(--text);border-color:var(--muted);background:color-mix(in srgb,var(--text) 5%,transparent)}.btn-fullscreen svg{flex-shrink:0}.player-wrap:fullscreen,.player-wrap:-webkit-full-screen,.player-wrap.fake-fullscreen{max-width:100vw;width:100vw;height:100vh;border-radius:0;border:none;background:#000;display:flex;align-items:center;justify-content:center;box-shadow:none;position:relative;overflow:hidden}.player-wrap.fake-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999}.player-wrap:fullscreen video,.player-wrap:-webkit-full-screen video,.player-wrap.fake-fullscreen video{width:100vw;height:100vh;aspect-ratio:unset;object-fit:contain;position:relative;z-index:1}.player-wrap:fullscreen .video-overlay,.player-wrap:-webkit-full-screen .video-overlay,.player-wrap.fake-fullscreen .video-overlay{z-index:10;position:absolute}.footer{margin-top:8px;width:100%;flex-shrink:0;font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:0;flex-wrap:wrap;padding:8px 16px;background:color-mix(in srgb,var(--bg-card) 55%,transparent);border:1px solid color-mix(in srgb,var(--border) 50%,transparent);border-radius:12px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:opacity .4s ease,transform .4s ease}.footer.chrome-hidden{opacity:0;pointer-events:none;transform:translateY(6px)}.footer span{color:var(--muted);padding:0 12px;border-right:1px solid color-mix(in srgb,var(--border) 40%,transparent);line-height:1.6}.footer span:first-child{padding-left:2px}.footer span:last-child{border-right:none}#footerVersion{margin-left:auto;padding-right:2px;color:var(--muted-dim)!important;border-right:none;font-size:10px;letter-spacing:.05em;opacity:.5}.pf-fab{position:fixed;bottom:24px;right:24px;z-index:9000;width:44px;height:44px;border-radius:50%;background:var(--accent, #4f9cf9);color:#fff;border:none;cursor:pointer;font-size:20px;font-weight:700;line-height:1;box-shadow:0 4px 14px #00000073;transition:transform .15s,opacity .15s;display:flex;align-items:center;justify-content:center}.pf-fab:hover{transform:scale(1.08)}.pf-fab.active{background:var(--text, #e2e8f0);color:var(--bg, #0d0d0d)}.pf-panel{position:fixed;bottom:80px;right:24px;z-index:9001;width:320px;max-height:520px;background:var(--card-bg, #1a1a2e);border:1px solid var(--border-subtle, #2a2a40);border-radius:14px;box-shadow:0 8px 32px #0000008c;display:flex;flex-direction:column;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .18s,transform .18s}.pf-panel.open{opacity:1;pointer-events:all;transform:translateY(0)}@media (max-width: 500px){.pf-panel{width:calc(100vw - 32px);right:16px;bottom:calc(76px + env(safe-area-inset-bottom,0px))}.pf-fab{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}}.pf-header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px 10px;font-weight:600;font-size:13px;border-bottom:1px solid var(--border-subtle, #2a2a40);flex-shrink:0}.pf-close{background:none;border:none;color:var(--muted, #666);cursor:pointer;font-size:14px;padding:2px 4px;line-height:1}.pf-close:hover{color:var(--text, #e2e8f0)}.pf-tabs{display:flex;gap:4px;padding:8px 10px 0;border-bottom:1px solid var(--border-subtle, #2a2a40);flex-shrink:0}.pf-tab{flex:1;background:none;border:none;border-bottom:2px solid transparent;padding:6px 0 8px;cursor:pointer;font-size:12px;color:var(--muted, #666);font-weight:500;transition:color .15s,border-color .15s}.pf-tab.active{color:var(--accent, #4f9cf9);border-bottom-color:var(--accent, #4f9cf9)}.pf-body{flex:1;overflow-y:auto;padding:12px;scroll-behavior:smooth}.pf-body::-webkit-scrollbar{width:4px}.pf-body::-webkit-scrollbar-thumb{background:var(--border, #333);border-radius:4px}.pf-section-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted, #666);margin:0 0 6px;display:flex;align-items:center;gap:6px}.pf-state-badge{display:inline-block;padding:1px 7px;background:#4f9cf926;color:var(--accent, #4f9cf9);border-radius:20px;font-size:10px;text-transform:none;letter-spacing:0;font-weight:600}.pf-q-list{display:flex;flex-direction:column;gap:3px;margin-bottom:10px}.pf-q-item{display:flex;align-items:flex-start;gap:8px;width:100%;background:none;border:1px solid transparent;border-radius:8px;padding:8px 10px;cursor:pointer;text-align:left;font-size:12.5px;color:var(--text, #e2e8f0);transition:background .12s,border-color .12s;line-height:1.4}.pf-q-item:hover{background:var(--hover-bg, rgba(255,255,255,.06));border-color:var(--border, #333)}.pf-q-arrow{color:var(--muted, #666);flex-shrink:0;margin-top:1px}.pf-sentiment-row{display:flex;gap:10px;margin-bottom:12px}.pf-thumb{flex:1;background:var(--bg-elevated, #1f1f1f);border:1px solid var(--border, #333);border-radius:8px;padding:10px 8px;cursor:pointer;font-size:13px;transition:background .12s,border-color .12s;color:var(--text, #e2e8f0)}.pf-thumb:hover{background:var(--hover-bg, rgba(255,255,255,.1))}.pf-thumb-up:hover{border-color:#4ade80}.pf-thumb-down:hover{border-color:#f87171}.pf-thumb-up.pf-thumb-selected{background:#4ade8026;border-color:#4ade80;color:#4ade80}.pf-thumb-down.pf-thumb-selected{background:#f8717126;border-color:#f87171;color:#f87171}.pf-back{background:none;border:none;color:var(--accent, #4f9cf9);cursor:pointer;font-size:12px;padding:0 0 10px;display:block}.pf-answer-wrap{display:flex;flex-direction:column;gap:10px}.pf-answer-q{font-weight:600;font-size:13px;line-height:1.4}.pf-answer-a{font-size:12.5px;line-height:1.6;color:var(--text-secondary, #aaa)}.pf-answer-footer{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted, #666);padding-top:6px;border-top:1px solid var(--border-subtle, #2a2a40)}.pf-link-btn{background:none;border:none;color:var(--accent, #4f9cf9);cursor:pointer;font-size:11px;padding:0}.pf-link-btn:hover{text-decoration:underline}.pf-form{display:flex;flex-direction:column;gap:10px}.pf-form-row{display:flex;flex-direction:column;gap:4px}.pf-form-row label{font-size:11px;color:var(--muted, #666)}.pf-required{color:#f87171}.pf-select{background:var(--bg-input, #111);border:1px solid var(--border, #333);color:var(--text, #e2e8f0);border-radius:6px;padding:7px 10px;font-size:12.5px;width:100%}.pf-textarea{background:var(--bg-input, #111);border:1px solid var(--border, #333);color:var(--text, #e2e8f0);border-radius:6px;padding:8px 10px;font-size:12.5px;width:100%;resize:vertical;font-family:inherit;line-height:1.5}.pf-textarea:focus,.pf-select:focus{outline:none;border-color:var(--accent, #4f9cf9)}.pf-form-err{font-size:12px;color:#f87171}.pf-submit-btn{background:var(--accent, #4f9cf9);color:#fff;border:none;border-radius:8px;padding:10px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s}.pf-submit-btn:hover{opacity:.88}.pf-submit-btn:disabled{opacity:.5;cursor:not-allowed}.pf-info{font-size:12.5px;color:var(--muted, #666);line-height:1.6;padding:8px 0}.pf-success{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;text-align:center;gap:6px}.pf-success-icon{font-size:32px}.pf-success-title{font-weight:600;font-size:14px}.pf-success-msg{font-size:12px;color:var(--muted, #666)}.card{margin:auto;background:var(--bg-card);border-radius:20px;padding:40px 36px;width:100%;max-width:380px;box-shadow:0 16px 48px #00000073,0 1px #ffffff0d inset;text-align:center;position:relative;animation:card-entry .45s cubic-bezier(.22,1,.36,1) both}@keyframes card-entry{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.card-wide{max-width:640px}.card:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:21px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 55%,transparent),color-mix(in srgb,var(--border) 40%,transparent) 40%,color-mix(in srgb,var(--accent) 30%,transparent));z-index:-1;pointer-events:none}.card .logo-img{width:72px;height:72px;border-radius:14px;object-fit:cover;display:block;margin:0 auto 12px;opacity:.9}.card .logo{display:block;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--text-dim2);margin-bottom:28px;text-align:center}.card .icon{font-size:44px;margin-bottom:12px}.card h1{font-size:22px;font-weight:600;margin-bottom:8px}.card p,.card p.subtitle{font-size:14px;color:var(--text-dim2);margin-bottom:20px;line-height:1.5}.card label{display:block;font-size:12px;font-weight:600;color:var(--text-dim2);text-align:left;margin-bottom:6px}.card input{width:100%;padding:11px 14px;background:var(--bg-input);border:1px solid var(--border-input);border-radius:8px;color:var(--text);font-size:14px;outline:none;margin-bottom:14px;transition:border-color .2s}.card input:focus{border-color:var(--accent)}.card button{width:100%;padding:13px;background:var(--accent);color:#fff;font-size:15px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:background .2s;margin-top:6px}.card button:hover{background:var(--accent-hover)}.card button:disabled{opacity:.6;cursor:not-allowed}.card .spinner{width:36px;height:36px;border:3px solid var(--border-input);border-top-color:var(--accent);border-radius:50%;animation:card-spin .8s linear infinite;margin:0 auto 20px}@keyframes card-spin{to{transform:rotate(360deg)}}.card .welcome-icon{font-size:48px;margin-bottom:16px}.card .waiting-icon{font-size:40px;margin-bottom:14px}.card .name-badge{display:inline-block;background:var(--ok-bg);border:1px solid var(--ok-border);color:var(--ok);font-size:16px;font-weight:600;padding:8px 20px;border-radius:8px;margin-bottom:8px}.card .drone-badge{display:inline-block;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-dim2);font-size:13px;font-weight:500;padding:5px 14px;border-radius:6px;margin-bottom:20px}.card .waiting-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--accent);margin:0 3px;animation:card-blink 1.4s infinite}.card .waiting-dot:nth-child(2){animation-delay:.2s}.card .waiting-dot:nth-child(3){animation-delay:.4s}@keyframes card-blink{0%,80%,to{opacity:.2}40%{opacity:1}}.card .error{padding:14px;background:var(--err-bg);border:1px solid var(--err-border);border-radius:8px;color:var(--err);font-size:14px;line-height:1.5;margin-top:12px}.card .error-icon{font-size:32px;margin-bottom:12px}.card .cmd-block{position:relative;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;padding:10px 40px 10px 12px;margin:6px 0 12px;text-align:left}.card .cmd-block code{display:block;white-space:pre-wrap;word-break:break-all;font-size:12px;line-height:1.5;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.card .cmd-copy-btn{position:absolute;top:6px;right:6px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-subtle);border-radius:6px;color:var(--muted, #888);cursor:pointer;font-size:13px;padding:0}.card .cmd-copy-btn:hover{color:var(--text, #ddd);border-color:var(--border-input, #444)}.card .cmd-copy-btn.copied{color:var(--ok);border-color:var(--ok-border)}.card .drone-scan{position:relative;height:70px;margin:10px 0 4px}.card .drone-scan-icon{position:absolute;left:50%;top:50%;font-size:30px;transform:translate(-50%,-50%);animation:drone-bob 1.4s ease-in-out infinite;z-index:1}@keyframes drone-bob{0%,to{transform:translate(-50%,-50%) translateY(-3px) rotate(-4deg)}50%{transform:translate(-50%,-50%) translateY(3px) rotate(4deg)}}.card .drone-scan-wave{position:absolute;left:50%;top:50%;width:14px;height:14px;border:2px solid var(--accent);border-radius:50%;transform:translate(-50%,-50%);opacity:0;animation:drone-wave 1.8s ease-out infinite}@keyframes drone-wave{0%{width:14px;height:14px;opacity:.7}to{width:130px;height:130px;opacity:0}}@media (max-width: 480px){body{padding:0;justify-content:flex-start}.header{padding:12px 16px;width:100%;gap:8px}.logo{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.header>div:last-child{flex-shrink:0}#fsBtnLabel,.quality-badge,.live-badge span{display:none}.btn-fullscreen{min-width:44px;min-height:44px;padding:0;justify-content:center}.protocol-bar{padding:0 12px 10px;width:100%}.protocol-label{display:none}.proto-thumb{width:20px;height:20px;font-size:8px;border-radius:5px}.proto-btn{padding:5px 8px;gap:6px;border-radius:9px}.proto-name{font-size:11px}.latency-tag{font-size:9px}.player-wrap{border-radius:0;border-left:none;border-right:none;width:100%;max-width:100%}.footer{padding:8px 16px;border-radius:0;border-left:none;border-right:none;margin-top:0;gap:0 8px}.footer span{padding:0;border-right:none}#footerServer,#footerVersion{display:none}}.live-badge{border-color:var(--err);border-color:color-mix(in srgb,var(--err) 30%,transparent);background:transparent;background:color-mix(in srgb,var(--err) 8%,transparent)}@supports not (color: color-mix(in srgb,red 50%,blue)){.proto-btn.active{box-shadow:0 0 0 1px var(--accent),0 4px 16px transparent}.btn-retry:hover{box-shadow:0 4px 14px var(--accent)}}@supports not (aspect-ratio: 16 / 9){.player-wrap{padding-top:56.25%;height:0;position:relative}.player-wrap video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;aspect-ratio:unset}.player-wrap .overlay{position:absolute}}@media (orientation: landscape) and (max-height: 500px) and (hover: none) and (pointer: coarse){.player-root.theater-mode{padding:0}.player-root.theater-mode .header,.player-root.theater-mode .protocol-bar,.player-root.theater-mode .footer{opacity:0;pointer-events:none;max-height:0;overflow:hidden;margin:0;padding:0;transition:opacity .2s,max-height .2s}.player-root.theater-mode .player-wrap{width:100vw;max-width:100vw;height:100vh;border-radius:0;border:none;box-shadow:none}.player-root.theater-mode video{width:100vw;height:100vh;aspect-ratio:unset;object-fit:contain}.player-root.theater-mode.theater-ui-visible .header{display:flex;position:fixed;top:0;left:0;right:0;z-index:500;opacity:1;pointer-events:auto;max-height:none;overflow:visible;padding:10px 16px;margin:0;background:linear-gradient(rgba(0,0,0,.75),transparent);transition:opacity .2s}.player-root.theater-mode.theater-ui-visible .protocol-bar{display:flex;position:fixed;bottom:env(safe-area-inset-bottom,0px);left:0;right:0;z-index:500;opacity:1;pointer-events:auto;max-height:none;overflow:visible;padding:8px 16px;margin:0;justify-content:center;background:linear-gradient(transparent,#000c);transition:opacity .2s}}.video-overlay{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.vo-corner{position:absolute;display:flex;align-items:center;gap:calc(6px * var(--vo-scale, 1));z-index:2}.vo-corner--top_left{top:calc(12px * var(--vo-scale, 1));left:calc(12px * var(--vo-scale, 1))}.vo-corner--top_right{top:calc(12px * var(--vo-scale, 1));right:calc(85px * var(--vo-scale, 1))}.vo-corner--bottom_left{bottom:calc(100px * var(--vo-scale, 1));left:calc(12px * var(--vo-scale, 1))}.vo-corner--bottom_right{bottom:calc(30px * var(--vo-scale, 1));right:calc(5px * var(--vo-scale, 1))}.vo-live-ts-group{display:flex;align-items:center;gap:calc(6px * var(--vo-scale, 1))}.vo-logo{height:calc(40px * var(--vo-scale, 1));width:auto;max-width:calc(140px * var(--vo-scale, 1));object-fit:contain;filter:drop-shadow(0 1px 3px rgba(0,0,0,.7));border-radius:4px}.vo-live{display:flex;align-items:center;gap:calc(5px * var(--vo-scale, 1));background:#0000008c;color:#fff;font-size:calc(var(--vo-el-size, 16px) * var(--vo-scale, 1));font-weight:700;letter-spacing:.08em;padding:calc(3px * var(--vo-scale, 1)) calc(8px * var(--vo-scale, 1)) calc(3px * var(--vo-scale, 1)) calc(6px * var(--vo-scale, 1));border-radius:calc(4px * var(--vo-scale, 1));text-transform:uppercase}.vo-live-dot{width:calc(8px * var(--vo-scale, 1));height:calc(8px * var(--vo-scale, 1));border-radius:50%;background:#e33;animation:vo-pulse 1.4s ease-in-out infinite;flex-shrink:0}@keyframes vo-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.vo-timestamp{background:#000000a6;color:#fff;font-size:calc(var(--vo-el-size, 16px) * var(--vo-scale, 1));font-weight:700;padding:calc(5px * var(--vo-scale, 1)) calc(12px * var(--vo-scale, 1));border-radius:calc(6px * var(--vo-scale, 1));letter-spacing:.08em;text-shadow:0 1px 4px rgba(0,0,0,.8)}.vo-ticker-wrap{position:absolute;bottom:0;left:0;right:0;width:100%;background:#0009;color:#fff;font-size:calc(var(--vo-el-size, 16px) * var(--vo-scale, 1));line-height:1;padding:calc(6px * var(--vo-scale, 1)) 0;overflow:hidden;white-space:nowrap}.vo-ticker-inner{display:inline-block;white-space:nowrap}.vo-ticker-wrap.mode-scroll .vo-ticker-inner{animation:vo-scroll 20s linear infinite;padding-left:100%}@keyframes vo-scroll{0%{transform:translate(0)}to{transform:translate(-100%)}}.vo-ticker-wrap.mode-static .vo-ticker-inner{display:block;text-align:center;padding:0 16px;animation:none}.player-wrap{position:relative}.sg-toast{position:fixed;bottom:72px;left:50%;transform:translate(-50%) translateY(0);background:var(--card-bg, #1e1e1e);color:var(--text, #fff);border:1px solid var(--border, #333);border-radius:10px;padding:12px 18px;max-width:min(420px,90vw);font-size:13px;line-height:1.5;box-shadow:0 4px 20px #00000073;z-index:9999;opacity:1;transition:opacity .4s ease;text-align:center}.sg-toast.fade-out{opacity:0}.muted-hint{position:absolute;bottom:46px;left:14px;z-index:10;pointer-events:auto;background:#000000b8;color:#fff;font-size:12px;font-weight:600;padding:6px 14px;border-radius:20px;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);letter-spacing:.03em;transition:opacity .2s;animation:fade-in-up .3s ease both;-webkit-user-select:none;user-select:none}.muted-hint:hover{opacity:.8}@keyframes fade-in-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.quality-toast{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px;padding:9px 14px;background:#f871711f;border:1px solid rgba(248,113,113,.35);border-radius:10px;color:#f87171;font-size:12px;font-weight:500;flex-shrink:0;animation:fade-in-up .25s ease both}.quality-toast button{background:none;border:none;color:#f87171;cursor:pointer;font-size:14px;padding:0 2px;opacity:.65;flex-shrink:0;line-height:1}.quality-toast button:hover{opacity:1}.auto-start-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#4ade80;background:#4ade8014;border:1px solid rgba(74,222,128,.25);border-radius:20px;padding:5px 14px;margin-top:12px;letter-spacing:.03em}.banner-wrapper{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows .38s cubic-bezier(.4,0,.2,1),opacity .32s ease}.banner-wrapper.banner-hidden{grid-template-rows:0fr;opacity:0}.system-banner{min-height:0;overflow:hidden;width:100%;box-sizing:border-box;background:#fffbeb;color:#78350f;padding:9px 20px;font-size:13px;font-weight:500;text-align:center;display:flex;align-items:center;justify-content:center;gap:8px;border-bottom:1px solid #fcd34d}
