.motion-alert-toast{position:fixed;top:calc(var(--safe-top) + .5rem);left:50%;transform:translate(-50%);background:#ef44441a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--text-primary);padding:.85rem 1.75rem;border-radius:1.25rem;font-weight:600;font-size:.95rem;box-shadow:0 15px 45px #00000080;z-index:100000;border:1px solid var(--danger);pointer-events:none;animation:slideDownToast .4s cubic-bezier(.16,1,.3,1);display:flex;align-items:center;gap:.75rem;width:max-content;max-width:85vw;white-space:normal;text-align:center;line-height:1.5}@keyframes slideDownToast{0%{transform:translate(-50%,-100%);opacity:0}to{transform:translate(-50%);opacity:1}}.icon-slashed{color:var(--text-muted)!important}.icon-slashed line{stroke:var(--danger)!important;stroke-width:3px;opacity:.8}.cry-alert{border-color:var(--danger)!important;background:#ef444426!important}.warning-alert{border-color:var(--warning)!important;background:#f59e0b26!important}.success-alert{border-color:var(--success)!important;background:#10b98126!important}.icon-muted{opacity:.4;filter:grayscale(1)}.cry-popover-wrapper{position:relative;display:inline-flex}.cry-popover{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);width:220px;background:var(--bg-elevated, #1E293B);border:1px solid var(--border-color, #334155);border-radius:1rem;padding:.5rem;box-shadow:0 8px 32px #0006,0 0 0 1px #ffffff0d;z-index:50;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.popover-arrow{position:absolute;bottom:-6px;left:50%;transform:translate(-50%) rotate(45deg);width:12px;height:12px;background:var(--bg-elevated, #1E293B);border-right:1px solid var(--border-color, #334155);border-bottom:1px solid var(--border-color, #334155)}.popover-header{font-size:.75rem;font-weight:600;color:var(--text-muted, #94A3B8);padding:.35rem .5rem;letter-spacing:.03em}.popover-options{display:flex;flex-direction:column;gap:.25rem}.popover-option{display:flex;align-items:center;gap:.75rem;padding:.6rem .5rem;border-radius:.5rem;border:none;background:transparent;color:var(--text-secondary, #CBD5E1);cursor:pointer;transition:all .15s ease;text-align:left;width:100%}.popover-option:hover{background:#ffffff0d}.popover-option.active{background:#3b82f626;color:#60a5fa}.popover-option.danger{color:#ef4444}.popover-option.danger:hover{background:#ef44441a}.popover-divider{height:1px;background:var(--border-color, #334155);margin:.25rem 0}.option-icon{font-size:1.1rem;width:24px;text-align:center}.option-text{display:flex;flex-direction:column;gap:.15rem}.option-label{font-size:.9rem;font-weight:500}.option-desc{font-size:.75rem;color:var(--text-muted, #64748B)}.music-popover{width:280px}.music-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.5rem}.type-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem;background:var(--bg-surface, #0F172A);border:1px solid var(--border-color, #334155);border-radius:.75rem;cursor:pointer;transition:all .15s ease}.type-card:hover{border-color:var(--text-muted, #64748B)}.type-card.active{border-color:#3b82f6;background:#3b82f61a}.type-icon{font-size:1.5rem}.type-name{font-size:.8rem;font-weight:500;color:var(--text-secondary, #CBD5E1)}.popover-section-divider{height:1px;background:var(--border-color, #334155);margin:.5rem 0}.music-timer-section{padding:.5rem}.timer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:.8rem;color:var(--text-secondary, #CBD5E1)}.timer-value{font-weight:600;color:var(--text-primary, #E5E7EB)}.music-slider{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-surface, #0F172A);border-radius:3px;outline:none;cursor:pointer}.music-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:#3b82f6;border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #3b82f666}.music-slider::-moz-range-thumb{width:18px;height:18px;background:#3b82f6;border-radius:50%;cursor:pointer;border:none;box-shadow:0 2px 6px #3b82f666}.slider-labels{display:flex;justify-content:space-between;margin-top:.5rem;font-size:.7rem;color:var(--text-muted, #64748B)}.music-action-btn{width:calc(100% - 1rem);margin:.5rem;padding:.75rem;border-radius:.75rem;border:none;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .15s ease}.music-action-btn.start{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;box-shadow:0 4px 12px #4caf504d}.music-action-btn.stop{background:#f4433626;color:#ff5252;border:1px solid rgba(244,67,54,.3)}.music-action-btn:active{transform:scale(.98)}.unmute-overlay{position:absolute;top:25px;left:50%;transform:translate(-50%);background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:20px;padding:10px 16px;display:flex;align-items:center;cursor:pointer;z-index:50;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 12px #00000040;animation:fadeInTop .2s ease}.unmute-text{font-size:13px;font-weight:500;color:#fffffff2;white-space:nowrap;letter-spacing:.01em}@keyframes fadeInTop{0%{opacity:0;transform:translate(-50%) translateY(-10px) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.settings-modal{max-width:420px;padding:0;overflow:hidden}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color, #334155)}.settings-title{font-size:1.25rem;font-weight:700;color:var(--text-primary, #E5E7EB);margin:0}.settings-close{background:none;border:none;color:var(--text-muted, #64748B);font-size:1.5rem;cursor:pointer;padding:.25rem;line-height:1;transition:color .15s ease}.settings-close:hover{color:var(--text-primary, #E5E7EB)}.settings-section{padding:1rem 0;border-bottom:1px solid var(--border-color, #334155)}.settings-section:last-of-type{border-bottom:none}.settings-section-title{font-size:1rem;font-weight:600;color:var(--text-muted, #94A3B8);text-transform:uppercase;letter-spacing:.05em;margin:0 0 1rem;text-align:center}.settings-item{display:flex;align-items:center;justify-content:space-between;gap:1rem}.settings-item-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.settings-item-label{font-size:1rem;font-weight:500;color:var(--text-primary, #E5E7EB)}.settings-item-desc{font-size:.8125rem;color:var(--text-muted, #64748B);line-height:1.4}.toggle{position:relative;display:inline-block;width:52px;height:28px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--bg-elevated, #334155);transition:.3s;border-radius:28px}.toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}.toggle input:checked+.toggle-slider{background-color:#3b82f6}.toggle input:checked+.toggle-slider:before{transform:translate(24px)}.quality-options{display:flex;gap:.75rem;margin-top:.75rem}.quality-btn{flex:1;padding:.75rem 1rem;background:var(--bg-elevated, #1E293B);border:1px solid var(--border-color, #334155);border-radius:.75rem;color:var(--text-secondary, #94A3B8);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.quality-btn:hover{background:var(--bg-surface, #263244);border-color:var(--text-muted, #64748B)}.quality-btn.active{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#3b82f6;color:#fff}.settings-footer{padding:1.25rem 1.5rem;border-top:1px solid var(--border-color, #334155);display:flex;justify-content:flex-end}.header-actions{display:flex;align-items:center;gap:1rem}.settings-btn{background:none;border:none;padding:.25rem;color:var(--text-secondary, #94A3B8);cursor:pointer;transition:color .15s ease;display:flex;align-items:center;justify-content:center;position:relative;z-index:10}.settings-btn:hover{color:var(--text-primary, #E5E7EB)}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:10000;display:flex;flex-direction:column;justify-content:flex-end}.sheet-container{background:var(--bg-surface, #1E293B);border-radius:1.5rem 1.5rem 0 0;max-height:80vh;height:auto;min-height:400px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 -10px 40px #0006;will-change:transform}.sheet-handle-bar{display:flex;justify-content:center;padding:.75rem 0 .5rem;cursor:grab}.sheet-handle-bar:active{cursor:grabbing}.sheet-handle{width:40px;height:4px;background:var(--text-muted, #64748B);border-radius:2px;opacity:.5}.sheet-content{flex:1;overflow-y:auto;padding:0 1.25rem 1.5rem;-webkit-overflow-scrolling:touch}.sheet-header{padding:.5rem 0 1rem;margin-bottom:.5rem}.sheet-title{font-size:1.25rem;font-weight:700;color:var(--text-primary, #E5E7EB);margin:0;text-align:center}.sheet-enter-active,.sheet-leave-active{transition:opacity .3s ease}.sheet-enter-active .sheet-container,.sheet-leave-active .sheet-container{transition:transform .3s cubic-bezier(.16,1,.3,1)}.sheet-enter-from,.sheet-leave-to{opacity:0}.sheet-enter-from .sheet-container,.sheet-leave-to .sheet-container{transform:translateY(100%)}.sheet-enter-to .sheet-container,.sheet-leave-from .sheet-container{transform:translateY(0)}.sheet-dragging{transition:transform 0s!important}.video-container.fullscreen-mode{position:fixed;top:0;left:0;right:0;bottom:0;z-index:100000;border-radius:0;margin:0;background:#000;overflow:hidden;touch-action:none}.video-container.fullscreen-mode .video-player,.video-player.fullscreen-video{position:fixed;top:0;left:0;width:100vw;height:100vh;object-fit:contain;border-radius:0;z-index:100001;transition:transform .1s ease-out;transform-origin:center center}.exit-fullscreen-btn{position:fixed;top:calc(var(--safe-top) + 1rem);right:1rem;width:44px;height:44px;border-radius:50%;background:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;color:#fff;display:flex;align-items:center;justify-content:center;z-index:100002;cursor:pointer;transition:all .2s ease}.exit-fullscreen-btn:active{transform:scale(.9);background:#000c}.exit-fullscreen-btn svg{width:24px;height:24px}.video-container.fullscreen-mode .live-badge,.video-container.fullscreen-mode .unmute-overlay{z-index:100003}.video-container.fullscreen-mode .live-badge{position:fixed;top:calc(var(--safe-top) + 1rem);left:1rem;padding:.5rem 1rem;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:.5rem;font-size:.875rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 4px 20px #ef444499,0 0 0 2px #ffffff1a;animation:liveBadgePulse 2s ease-in-out infinite}.video-container.fullscreen-mode .live-dot{width:10px;height:10px;animation:liveDotBlink 1s ease-in-out infinite}@keyframes liveBadgePulse{0%,to{box-shadow:0 4px 20px #ef444499,0 0 0 2px #ffffff1a}50%{box-shadow:0 4px 30px #ef4444cc,0 0 0 3px #fff3}}@keyframes liveDotBlink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}:has(.video-container.fullscreen-mode) .header,:has(.video-container.fullscreen-mode) .video-controls-container{display:none}.ice-state-text{font-size:.85rem;color:var(--text-muted, #64748B);margin-top:.5rem}.video-placeholder.reconnecting{background:linear-gradient(135deg,#f59e0b1a,#ef44441a)}.reconnect-attempt{font-size:.9rem;color:var(--text-muted, #64748B);margin-top:.5rem}.btn-cancel-reconnect{margin-top:1rem;padding:.5rem 1.5rem;border-radius:8px;border:1px solid rgba(239,68,68,.3);background:#ef44441a;color:#fca5a5;font-size:.9rem;cursor:pointer;transition:all .2s ease}.btn-cancel-reconnect:hover{background:#ef444433}.btn-cancel-reconnect:active{transform:scale(.95)}.fullscreen-toggle-btn{position:absolute;bottom:16px;right:16px;width:44px;height:44px;border-radius:12px;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10}.fullscreen-toggle-btn:hover{background:#000000b3;transform:scale(1.05)}.fullscreen-toggle-btn:active{transform:scale(.95)}.floating-controls{position:absolute;bottom:16px;left:50%;transform:translate(-50%) translateY(20px);display:none;gap:8px;padding:8px 12px;background:#0009;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:24px;border:1px solid rgba(255,255,255,.1);opacity:0;visibility:hidden;transition:all .3s ease;z-index:10}.video-container.fullscreen-mode .floating-controls{display:flex;z-index:100010;bottom:calc(var(--safe-bottom, 0px) + 8px)}.video-container.fullscreen-mode .floating-controls.show{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.floating-controls button{width:40px;height:40px;border-radius:50%;background:#ffffff1a;border:none;color:#fff;font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.floating-controls button:hover{background:#fff3;transform:scale(1.1)}.floating-controls button.active{background:#3b82f6cc}.polling-indicator{width:8px;height:8px;background:#fbbf24;border-radius:50%;animation:pollingPulse 1s ease-in-out infinite}@keyframes pollingPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}.video-placeholder.waiting{background:linear-gradient(135deg,#f59e0b0d,#f59e0b1a)}.waiting-hint{font-size:.85rem;color:var(--text-muted, #64748B);margin-top:.5rem}.video-placeholder.offline{background:linear-gradient(135deg,#ef44440d,#ef44441a)}.btn-retry{margin-top:1rem;padding:.6rem 1.5rem;border-radius:8px;border:1px solid rgba(16,185,129,.3);background:#10b98126;color:#6ee7b7;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-retry:hover{background:#10b98140}.btn-retry:active{transform:scale(.95)}.offline-hint{margin-top:.5rem;font-size:.8rem;color:#888}.status-dot.waiting{background:#f59e0b;animation:pulse 1.5s ease-in-out infinite}.status-dot.offline{background:#ef4444}.main-actions{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:12px!important;padding:12px 16px!important;max-width:400px!important;margin:0 auto!important;box-sizing:border-box!important}.main-actions .cry-popover-wrapper{width:100%!important;min-width:0!important;display:block!important}.main-actions .control-btn{width:100%!important;min-width:0!important;height:auto!important;aspect-ratio:1!important;border-radius:16px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:8px!important;background:#1e293b!important;border:1px solid #334155!important;color:#e5e7eb!important;font-size:24px!important;cursor:pointer!important;transition:all .2s ease!important;box-sizing:border-box!important}.main-actions .control-btn:hover:not(:disabled){background:#0f172a!important;transform:translateY(-2px)!important;box-shadow:0 4px 12px #0000004d!important}.main-actions .control-btn:active:not(:disabled){transform:scale(.96)!important}.main-actions .control-btn.active{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;border-color:transparent!important;box-shadow:0 4px 14px #3b82f666!important}.main-actions .control-btn:disabled{opacity:.4!important;cursor:not-allowed!important}.main-actions .btn-icon{font-size:24px!important;line-height:1!important}.main-actions .btn-label{font-size:11px!important;font-weight:500!important;color:#94a3b8!important;white-space:nowrap!important}.main-actions .control-btn.active .btn-label{color:#fff!important}.more-overlay{z-index:99999}.more-sheet{max-height:70vh!important;min-height:300px!important;background:#0f172a!important;z-index:100000!important;position:relative!important}.more-sheet .sheet-content{padding:0 20px 20px!important}.more-menu-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:10px!important;padding:10px 0 15px!important}.more-menu-item{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;padding:14px 6px!important;background:#1e293b!important;border:1px solid #334155!important;border-radius:12px!important;color:#e5e7eb!important;font-size:11px!important;cursor:pointer!important;transition:all .15s ease!important;text-align:center!important;min-height:80px!important}.more-menu-item:active:not(:disabled){background:#334155!important;transform:scale(.96)!important}.more-menu-item.active{background:#3b82f640!important;border-color:#3b82f6!important}.more-menu-item:disabled,.more-menu-item.disabled{opacity:.3!important;cursor:not-allowed!important;background:#1e293b!important}.more-menu-item .menu-icon{font-size:22px!important;line-height:1!important}.more-menu-item .menu-label{font-size:11px!important;font-weight:500!important;color:#e5e7eb!important;line-height:1.2!important}.more-menu-item .menu-status{font-size:9px!important;color:#64748b!important;line-height:1.2!important}.more-menu-item.active .menu-status{color:#93c5fd!important}.disconnect-btn{width:100%!important;padding:14px!important;margin-top:10px!important;background:#ef444426!important;border:1px solid rgba(239,68,68,.4)!important;border-radius:12px!important;color:#fca5a5!important;font-size:13px!important;font-weight:600!important;cursor:pointer!important;transition:all .15s ease!important}.disconnect-btn:active{background:#ef444440!important;transform:scale(.98)!important}@media (max-width: 380px){.more-menu-grid{grid-template-columns:repeat(2,1fr)!important}}.cry-sheet-overlay{z-index:99998}.cry-sheet{max-height:50vh;min-height:280px}.cry-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:10px 0 20px}.cry-option{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 10px;background:#1e293b;border:1px solid #334155;border-radius:16px;cursor:pointer;transition:all .15s ease}.cry-option:active{transform:scale(.96)}.cry-option.active{background:#3b82f633;border-color:#3b82f6}.cry-icon{font-size:28px}.cry-label{font-size:14px;font-weight:600;color:#e5e7eb}.cry-desc{font-size:11px;color:#64748b}.cry-option.active .cry-desc{color:#93c5fd}.music-sheet-overlay{z-index:99998}.music-sheet{max-height:60vh;min-height:350px}.music-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:10px 0}.music-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 16px;background:#1e293b;border:1px solid #334155;border-radius:16px;cursor:pointer;transition:all .15s ease}.music-card:active{transform:scale(.96)}.music-card.active{background:#3b82f633;border-color:#3b82f6}.music-card-icon{font-size:32px}.music-card-name{font-size:14px;font-weight:500;color:#e5e7eb}.music-slider-section{padding:20px 0}.slider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px;color:#94a3b8}.slider-value{font-weight:600;color:#e5e7eb}.time-slider{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#0f172a;border-radius:3px;outline:none;cursor:pointer}.time-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;background:#3b82f6;border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #3b82f666}.slider-marks{display:flex;justify-content:space-between;margin-top:8px;font-size:11px;color:#64748b}.music-play-btn{width:100%;padding:16px;margin-top:10px;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .15s ease}.music-play-btn.start{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 4px 12px #22c55e4d}.music-play-btn.stop{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.music-play-btn:active{transform:scale(.98)}.clip-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.clip-item{display:flex;align-items:center;gap:10px;padding:8px;background:#1e293b99;border-radius:8px;border:1px solid rgba(255,255,255,.05)}.clip-thumb{width:48px;height:36px;border-radius:6px;overflow:hidden;flex-shrink:0;background:var(--bg-elevated)}.clip-thumb img{width:100%;height:100%;object-fit:cover}.clip-thumb-placeholder{display:flex;align-items:center;justify-content:center;font-size:1.2rem}.clip-info{flex:1;min-width:0}.clip-event{font-size:.8rem;font-weight:600;color:var(--text-primary)}.clip-time{font-size:.7rem;color:var(--text-muted);margin-top:2px}.clip-badge{font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:10px;flex-shrink:0}.clip-badge.motion{background:#3b82f633;color:#93c5fd}.clip-badge.cry{background:#ef444433;color:#fca5a5}.clip-thumb{position:relative;cursor:pointer}.clip-play-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0006;color:#fff;font-size:.8rem;border-radius:6px;opacity:0;transition:opacity .2s}.clip-item:hover .clip-play-overlay{opacity:1}.clip-item{cursor:pointer;transition:background .2s}.clip-item:hover{background:#1e293be6}.clip-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.clip-modal{background:var(--bg-card, #1e293b);border-radius:16px;border:1px solid rgba(255,255,255,.1);width:100%;max-width:560px;overflow:hidden;box-shadow:0 24px 64px #00000080}.clip-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.06)}.clip-modal-title{display:flex;flex-direction:column;gap:2px}.clip-modal-title span:first-child{font-weight:600;font-size:1rem;color:var(--text-primary, #fff)}.clip-modal-time{font-size:.75rem;color:var(--text-muted, #94a3b8)}.clip-modal-actions{display:flex;align-items:center;gap:12px}.clip-modal-delete{font-size:1.1rem;opacity:.6;background:transparent;width:36px;height:36px;border-radius:8px;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;line-height:1;padding-bottom:2px}.clip-modal-delete:hover{background:#ef444426;opacity:1}.clip-modal-close{width:36px;height:36px;border-radius:8px;border:none;background:#ffffff0f;color:var(--text-muted, #94a3b8);font-size:1.2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.clip-modal-close:hover{background:#ffffff1f;color:#fff}.clip-modal-body{min-height:200px;display:flex;align-items:center;justify-content:center}.clip-modal-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px;color:var(--text-muted, #94a3b8)}.clip-spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,.1);border-top-color:#60a5fa;border-radius:50%;animation:clip-spin .8s linear infinite}@keyframes clip-spin{to{transform:rotate(360deg)}}.clip-modal-error{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px;text-align:center}.clip-error-icon{font-size:2rem}.clip-modal-error p{color:var(--text-muted, #94a3b8);font-size:.9rem}.clip-retry-btn{padding:8px 20px;border-radius:8px;border:1px solid rgba(96,165,250,.3);background:#60a5fa1a;color:#60a5fa;font-size:.85rem;cursor:pointer;transition:background .2s}.clip-retry-btn:hover{background:#60a5fa33}.clip-video-container{width:100%}.clip-video{width:100%;display:block;border-radius:0 0 16px 16px;max-height:400px;background:#000}.fade-enter-active,.fade-leave-active{transition:opacity .25s ease}.fade-enter-from,.fade-leave-to{opacity:0}:root{--bg-primary: #0F172A;--bg-gradient: linear-gradient(180deg, #0F172A 0%, #111827 100%);--bg-surface: #1E293B;--bg-elevated: #263244;--border-color: #334155;--text-primary: #E5E7EB;--text-secondary: #94A3B8;--text-muted: #64748B;--accent-primary: #3B82F6;--accent-hover: #2563EB;--accent-active: #1D4ED8;--success: #10B981;--warning: #F59E0B;--danger: #EF4444;--overlay-fade: linear-gradient(to bottom, rgba(15, 23, 42, 0) 0%, rgba(15, 23, 42, .8) 100%);--label-bg: rgba(0, 0, 0, .5);--safe-top: env(safe-area-inset-top, 20px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Noto Sans Thai Looped,Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-gradient);color:var(--text-primary);min-height:100vh}::-webkit-scrollbar{display:none}html{-ms-overflow-style:none;scrollbar-width:none}.app{display:flex;flex-direction:column;height:100vh;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left);padding-right:var(--safe-right)}.header{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:#0f172a80;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.logo{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:700}.logo-icon{font-size:1.5rem}.logo-text{background:linear-gradient(135deg,var(--accent-primary),#60A5FA);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.connection-status{display:flex;align-items:center;justify-content:center}.status-dot{width:10px;height:10px;border-radius:50%;animation:pulse 2s infinite}.status-dot.connected{background:var(--success)}.status-dot.connecting{background:var(--warning)}.status-dot.disconnected{background:var(--danger);animation:none}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}}.main{flex:1;display:flex;gap:1.5rem;padding:1.5rem}.video-section{flex:1;display:flex;flex-direction:column;gap:1rem}.video-container{flex:1;background:#000;border-radius:1rem;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);min-height:400px;max-height:calc(100vh - 180px);box-shadow:0 20px 50px #0000004d}.video-player{width:100%;height:100%;max-height:100%;object-fit:contain;background:#000}.video-placeholder{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--text-muted)}.video-placeholder svg{width:80px;height:80px;opacity:.3}.live-badge{position:absolute;top:1rem;left:1rem;display:flex;align-items:center;gap:.5rem;padding:.4rem .8rem;background:var(--danger);border-radius:.3rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 4px 12px #ef444466}.live-dot{width:6px;height:6px;background:#fff;border-radius:50%;animation:blink 1s infinite}.live-text{color:#fff}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.video-controls-container{display:flex;flex-direction:column;gap:.75rem;align-items:center;width:100%}.controls-group{display:flex;gap:.5rem;padding:.5rem;background:#1e293b66;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:3rem;border:1px solid rgba(255,255,255,.05);box-shadow:0 8px 32px #0003}.controls-group-label{position:absolute;top:-1.25rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-weight:700}.control-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;border-radius:50%;background:#ffffff08;color:var(--text-primary);font-size:1.25rem;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);border:1px solid rgba(255,255,255,.05);position:relative}.control-btn:hover:not(:disabled){background:#ffffff14;border-color:#fff3;box-shadow:0 10px 20px #0000004d}.control-btn.active{background:var(--accent-primary);color:#fff;border-color:#ffffff4d;box-shadow:0 0 20px #3b82f666}.control-btn.active-danger{background:var(--danger);color:#fff;box-shadow:0 0 20px #ef444466}.control-btn:disabled{opacity:.2;cursor:not-allowed;filter:grayscale(1)}.control-btn svg{width:22px;height:22px}.sidebar{width:320px;display:flex;flex-direction:column;gap:1rem}.card{background:#1e293b66;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:1.5rem;padding:1.5rem;border:1px solid rgba(255,255,255,.05);box-shadow:0 12px 40px #0000004d}.card-title{font-size:.85rem;font-weight:800;color:var(--accent-primary);margin-bottom:1.25rem;text-transform:uppercase;letter-spacing:.2em;display:flex;align-items:center;gap:.5rem}.device-list{display:flex;flex-direction:column;gap:.75rem}.device-item{display:flex;align-items:center;gap:1rem;padding:1.1rem;background:var(--bg-elevated);border-radius:1rem;cursor:pointer;transition:all .2s ease;border:1px solid var(--border-color)}.device-item:hover{border-color:var(--accent-primary);background:#3b82f60d}.device-item.selected{border-color:var(--accent-primary);background:#3b82f61a;box-shadow:0 0 15px #3b82f61a}.device-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-surface);border-radius:.75rem;font-size:1.25rem;border:1px solid var(--border-color)}.device-info{flex:1}.device-name{font-weight:600;font-size:.95rem;margin-bottom:.25rem}.device-id{font-size:.75rem;color:var(--text-muted);font-family:JetBrains Mono,monospace}.online-badge{width:10px;height:10px;background:var(--success);border-radius:50%;box-shadow:0 0 8px var(--success)}.no-devices{text-align:center;padding:2.5rem 1.5rem;color:var(--text-muted)}.volume-control{display:flex;align-items:center;gap:.75rem}.volume-icon{font-size:1.25rem}.volume-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;background:var(--bg-elevated);border-radius:3px;outline:none}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:var(--accent-primary);border-radius:50%;cursor:pointer;transition:transform .2s,background .2s;box-shadow:0 2px 4px #0003}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.2);background:var(--accent-hover)}@media (max-width: 900px){.main{flex-direction:column}.sidebar{width:100%}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary{background:var(--accent-primary);color:#fff;box-shadow:0 4px 12px #3b82f64d}.btn-primary:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 6px 16px #3b82f666}.btn-primary:active:not(:disabled){background:var(--accent-active);transform:translateY(0)}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.btn-ghost:hover:not(:disabled){background:var(--bg-surface);color:var(--text-primary)}.spinner{width:40px;height:40px;border:3px solid var(--bg-secondary);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.connecting-text{margin-top:1rem;color:var(--text-dim)}
