:root{--bg-color:#121212;--surface-color:#1e1e1e;--surface-2:#2a2a2a;--text-color:#fff;--text-muted:#a0a0a0;--primary-color:#e8834a;--secondary-color:#4a7c59;--danger-color:#ff4d4d;--warning-color:#ffc107;--border-color:#ffffff14;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--border-radius:12px;--border-radius-sm:8px;--border-radius-lg:20px;--controls-bar-height:60px;--chat-width:300px}body.theme-light{--bg-color:#fdfaf5;--surface-color:#f0e8d8;--surface-2:#e8dcc8;--text-color:#3d2b1f;--text-muted:#8b7355;--primary-color:#6ecfb5;--secondary-color:#8b6348;--danger-color:#e05c5c;--warning-color:#d4a017;--border-color:#3d2b1f1f;--shadow-sm:0 2px 8px #3d2b1f1a;--shadow-md:0 4px 16px #3d2b1f26;--shadow-lg:0 8px 32px #3d2b1f33}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);flex-direction:column;align-items:center;min-height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;transition:background-color .3s,color .3s;display:flex}header{justify-content:space-between;align-items:center;width:100%;max-width:1200px;padding:20px 20px 10px;display:flex}.header-left h1{margin-bottom:2px;font-size:1.8rem}.header-left p{color:var(--text-muted);font-size:.9rem}.btn-theme{background:var(--surface-color);border:1px solid var(--border-color);cursor:pointer;width:44px;height:44px;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;transition:background .2s,transform .2s;display:flex}.btn-theme:hover{transform:scale(1.1)}main{flex-direction:column;gap:16px;width:100%;max-width:1200px;padding:0 20px 20px;display:flex}.config-panel{background:var(--surface-color);border-radius:var(--border-radius);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);padding:15px}.config-panel label{color:var(--text-muted);margin-bottom:5px;font-size:.85rem;display:block}.config-input{gap:8px;margin-bottom:5px;display:flex}.config-input input{flex-grow:1}.server-status{color:var(--text-muted);align-items:center;gap:8px;margin-top:5px;font-size:.85rem;display:flex}.server-status .dot{font-size:1.2rem}.status-connected .dot{color:var(--primary-color)}.status-connecting .dot{color:var(--warning-color)}.status-error .dot{color:var(--danger-color)}.controls{background:var(--surface-color);border-radius:var(--border-radius);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:center;gap:10px;padding:16px;display:flex}.input-group{gap:5px;display:flex}input[type=text]{border-radius:var(--border-radius-sm);border:1px solid var(--border-color);background:var(--surface-2);color:var(--text-color);outline:none;padding:10px 15px;font-size:1rem;transition:border-color .2s}input[type=text]:focus{border-color:var(--primary-color)}.btn{border-radius:var(--border-radius-sm);cursor:pointer;box-shadow:var(--shadow-sm);border:none;padding:10px 20px;font-size:1rem;font-weight:600;transition:opacity .2s,transform .1s,box-shadow .2s}.btn:hover{opacity:.9;box-shadow:var(--shadow-md)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale();box-shadow:none}.btn-primary{background:var(--primary-color);color:#fff}.btn-secondary{background:var(--secondary-color);color:#fff}.btn-danger{background:var(--danger-color);color:#fff}.btn-small{padding:8px 12px;font-size:.9rem}.app-container{background:var(--surface-color);border-radius:var(--border-radius);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);flex-direction:row;gap:0;display:flex;overflow:hidden}.video-section{flex:1;min-width:0}.video-hidden{display:none}.video-container{aspect-ratio:16/9;background:#000;width:100%;position:relative;overflow:hidden}.main-video{object-fit:cover;width:100%;height:100%;display:block}.pip-overlay{bottom:calc(var(--controls-bar-height) + 10px);border-radius:var(--border-radius-sm);width:180px;height:100px;box-shadow:var(--shadow-md);cursor:pointer;background:#111;border:2px solid #ffffffd9;transition:transform .2s;position:absolute;right:16px;overflow:hidden}.pip-overlay:hover{transform:scale(1.05)}.pip-overlay.hidden{display:none}.pip-video{object-fit:cover;width:100%;height:100%}.volume-slider-wrapper{left:16px;bottom:calc(var(--controls-bar-height) + 10px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#141414bf;border:1px solid #ffffff1a;border-radius:20px;justify-content:center;align-items:center;padding:12px 8px;display:flex;position:absolute}.volume-slider{writing-mode:vertical-lr;cursor:pointer;width:6px;height:80px;accent-color:var(--primary-color);direction:rtl}.controls-bar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);height:var(--controls-bar-height);background:#141414d9;border:1px solid #ffffff1a;border-radius:30px;align-items:center;gap:10px;padding:8px 16px;display:flex;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.btn-control{cursor:pointer;color:#fff;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;transition:background .2s,transform .2s;display:flex}.btn-control:hover:not(:disabled){background:#ffffff40;transform:scale(1.1)}.btn-control.muted{background:var(--danger-color)}.btn-control.active{background:var(--primary-color)}.btn-control--danger{background:var(--danger-color)}.btn-control--danger:hover:not(:disabled){background:#ff2020}.btn-control:disabled{opacity:.4;cursor:not-allowed}.chat-panel{width:var(--chat-width);min-width:var(--chat-width);border-left:1px solid var(--border-color);background:var(--surface-color);flex-direction:column;transition:width .3s;display:flex}.chat-panel.hidden{display:none}.chat-messages{flex-direction:column;flex:1;gap:8px;min-height:0;padding:12px;display:flex;overflow-y:auto}.chat-message{background:var(--surface-2);border-radius:12px 12px 12px 4px;align-self:flex-start;max-width:85%;padding:8px 12px;font-size:.9rem}.chat-message--own{background:var(--primary-color);color:#fff;border-radius:12px 12px 4px;align-self:flex-end}.chat-message--system{color:var(--text-muted);text-align:center;background:0 0;align-self:center;font-size:.8rem}.chat-message-meta{color:var(--text-muted);margin-bottom:2px;font-size:.75rem}.chat-message--own .chat-message-meta{text-align:right;color:#ffffffb3}.chat-input-group{border-top:1px solid var(--border-color);gap:8px;padding:12px;display:flex}.chat-input-group input{flex:1;font-size:.9rem}.tabs-panel{background:var(--surface-color);border-radius:var(--border-radius);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);overflow:hidden}.tabs-header{border-bottom:1px solid var(--border-color);background:var(--surface-2);display:flex}.tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px;font-size:.9rem;font-weight:600;transition:color .2s}.tab-btn:hover{color:var(--text-color)}.tab-btn--active{color:var(--primary-color);border-bottom:2px solid var(--primary-color)}.tab-content{padding:10px}.tab-content.hidden{display:none}.log-container{background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);min-height:80px;max-height:20vh;padding:10px;font-family:Courier New,Courier,monospace;font-size:.85rem;overflow-y:auto}.log-item{margin-bottom:4px}.log-item.error{color:var(--danger-color)}.log-item.system{color:var(--text-muted)}.stats-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stat-item{background:var(--surface-2);border-radius:var(--border-radius-sm);flex-direction:column;gap:4px;padding:12px;display:flex}.stat-label{color:var(--text-muted);font-size:.8rem}.stat-value{color:var(--primary-color);font-size:1.1rem;font-weight:600}.modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;background:#000c;justify-content:center;align-items:center;width:100%;height:100%;display:none;position:fixed;top:0;left:0}.modal-content{background:var(--surface-color);border-radius:var(--border-radius);width:90%;max-width:400px;box-shadow:var(--shadow-lg);text-align:center;border:1px solid var(--border-color);padding:25px;animation:.3s ease-out popIn}.modal-content--preview{max-width:500px}.modal-header{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.5rem}.modal-body p{margin-bottom:20px;font-size:1.1rem}.modal-footer{justify-content:center;gap:12px;margin-top:16px;display:flex}@keyframes popIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.preview-video-wrapper{aspect-ratio:16/9;border-radius:var(--border-radius-sm);background:#000;width:100%;margin-bottom:16px;position:relative;overflow:hidden}.preview-video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.preview-no-camera{color:var(--text-muted);font-size:1.1rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.preview-controls{justify-content:center;gap:16px;margin-bottom:8px;display:flex}.settings-panel{flex-direction:column;gap:8px;padding:5px;display:flex}.settings-panel label{color:var(--text-muted);font-size:.85rem}.settings-input-group{align-items:center;gap:8px;display:flex}.settings-input-group input{flex:1;min-width:0}.settings-input-group .btn{white-space:nowrap;flex-shrink:0}@media (width<=768px){.app-container{flex-direction:column}.chat-panel{border-left:none;border-top:1px solid var(--border-color);width:100%;min-width:0;max-height:300px}.volume-slider-wrapper{display:none}.controls{flex-direction:column}.pip-overlay{width:120px;height:68px;right:10px}.btn-control{width:38px;height:38px;font-size:1rem}.stats-grid{grid-template-columns:1fr 1fr}header{padding:15px 15px 5px}.header-left h1{font-size:1.4rem}}button:focus-visible,input:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;box-shadow:0 0 0 4px #e8834a33}
