.auth-wrapper{display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:20px}.auth-card{padding:50px 40px;text-align:center;max-width:500px;width:100%}.auth-form{display:flex;flex-direction:column;gap:20px;margin-top:30px;margin-bottom:30px}.input-group input{width:100%;padding:16px 20px;border-radius:12px;border:1px solid rgba(102,252,241,.3);background:#0b0c1099;color:var(--text-light);font-size:1.1rem;font-family:Outfit,sans-serif;outline:none;transition:all .3s ease}.input-group input:focus{border-color:var(--primary);box-shadow:0 0 15px #66fcf133;background:#0b0c10e6}.auth-submit{width:100%;margin-top:10px;border-radius:12px}.error-message{background:#ff4b4b1a;color:#ff6b6b;padding:12px;border-radius:8px;border:1px solid rgba(255,75,75,.3);font-size:.95rem}.success-message{background:#4cd1371a;color:#4cd137;padding:12px;border-radius:8px;border:1px solid rgba(76,209,55,.3);font-size:.95rem}.toggle-auth{font-size:1rem;color:var(--text-main)}.highlight-link{color:var(--primary);cursor:pointer;font-weight:600;transition:color .2s ease}.highlight-link:hover{color:var(--text-light);text-decoration:underline}.home-wrapper{display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:20px}.home-card{padding:50px 40px;text-align:center;max-width:600px;width:100%}.subtitle{font-size:1.5rem;color:var(--primary);margin-bottom:20px;font-weight:600}.description{margin-bottom:40px;font-size:1.1rem}.start-btn{font-size:1.3rem;padding:18px 50px;width:100%;max-width:300px;display:inline-flex;justify-content:center;align-items:center;gap:10px}.start-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.login-form{display:flex;flex-direction:column;align-items:center;gap:15px}.username-input{width:100%;max-width:300px;padding:15px 20px;border-radius:50px;border:1px solid var(--primary);background:#0b0c10cc;color:var(--text-light);font-size:1.1rem;font-family:Outfit,sans-serif;outline:none;transition:all .3s ease}.username-input:focus{box-shadow:0 0 15px #66fcf166;background:var(--bg-color)}.chat-container{width:100%;height:100%;display:flex;flex-direction:column;padding:20px;gap:20px}.header{display:flex;justify-content:space-between;align-items:center;padding:15px 30px;position:relative;z-index:20}.timer{font-size:2rem;font-weight:800;font-variant-numeric:tabular-nums;transition:color .3s ease}.status-badge{background:#66fcf11a;color:var(--primary);padding:8px 16px;border-radius:20px;font-weight:600;border:1px solid var(--primary)}.status-badge.success{background:#4cd1371a;color:var(--success);border-color:var(--success)}.video-grid{flex:1;display:flex;gap:20px;justify-content:center;align-items:stretch;min-height:0}.video-wrapper{flex:1;position:relative;border-radius:20px;overflow:hidden;background:#000;display:flex;justify-content:center;align-items:center}video{width:100%;height:100%;object-fit:cover;transition:filter .5s ease}.video-wrapper:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#0006;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);opacity:0;transition:opacity .5s ease;pointer-events:none;z-index:2}.video-wrapper.audio-only-blur:after{opacity:1}.play-unblock-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;background:#000000bf;color:#fff;border:2px solid rgba(255,255,255,.4);border-radius:14px;padding:14px 26px;font-size:1.1rem;font-weight:700;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .2s ease,transform .1s ease}.play-unblock-btn:hover{background:#fff3;transform:translate(-50%,-50%) scale(1.05)}.video-wrapper .label{position:absolute;bottom:20px;left:20px;background:#0009;color:#fff;padding:5px 15px;border-radius:10px;font-weight:600}.filter-dropdown-wrap{position:relative}.filter-toggle-btn{background:#ffffff14;border:1px solid rgba(102,252,241,.25);border-radius:20px;color:var(--text-light);padding:6px 14px;font-size:1rem;cursor:pointer;transition:background .2s ease,border-color .2s ease;white-space:nowrap}.filter-toggle-btn:hover,.filter-toggle-btn.active{background:#66fcf126;border-color:#66fcf199}.filter-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#0d1117f2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(102,252,241,.2);border-radius:14px;padding:8px;display:flex;flex-direction:column;gap:4px;min-width:150px;z-index:100;box-shadow:0 8px 32px #00000080}.filter-option{background:transparent;border:none;border-radius:10px;color:var(--text-light);padding:10px 14px;font-size:1rem;font-family:Outfit,sans-serif;cursor:pointer;display:flex;align-items:center;gap:10px;transition:background .15s ease;text-align:left;width:100%}.filter-option span{font-size:.9rem;opacity:.8}.filter-option:hover{background:#66fcf11a}.filter-option.active{background:#66fcf133;color:var(--primary)}.controls{padding:20px;display:flex;justify-content:center;gap:20px;z-index:10}@media (min-width: 769px){.chat-container{padding:15px 30px;gap:25px;max-width:1300px;margin:0 auto}.header{padding:10px 0}.filter-dropdown{position:absolute;top:calc(100% + 12px);right:0;width:220px;box-shadow:0 12px 40px #0009;z-index:1000}.video-grid{gap:25px;max-height:75vh}.controls{padding:15px;gap:20px}.controls button{padding:14px 40px;min-width:180px}}@media (max-width: 768px){.chat-container{padding:0;gap:0;position:relative;height:100dvh;border-radius:0}.header{position:absolute;top:0;left:0;right:0;z-index:10;background:linear-gradient(to bottom,rgba(0,0,0,.8),transparent);border:none;box-shadow:none;padding:20px 15px;flex-direction:row;justify-content:space-between;align-items:flex-start}.timer{font-size:1.5rem;text-shadow:0 2px 4px rgba(0,0,0,.8)}.status-badge{box-shadow:0 2px 4px #000c;background:#00000080;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.video-grid{flex:1;position:relative;border-radius:0;gap:0}.remote-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:0;border:none;z-index:1}.local-wrapper{position:absolute;bottom:90px;right:15px;width:110px;height:160px;border-radius:15px;z-index:5;box-shadow:0 4px 15px #00000080;border:2px solid rgba(255,255,255,.2)}.controls{position:absolute;bottom:0;left:0;right:0;z-index:10;background:linear-gradient(to top,rgba(0,0,0,.9),transparent);border:none;box-shadow:none;flex-wrap:nowrap;justify-content:center;gap:10px;padding:30px 10px 20px}.controls button{flex:1;min-width:0;padding:12px 5px;font-size:.85rem}.video-wrapper .label{font-size:.8rem;padding:3px 8px;bottom:10px;left:10px}}.debug-overlay{position:absolute;top:80px;left:20px;right:20px;padding:15px;z-index:1000;font-family:monospace;font-size:.85rem;line-height:1.4;pointer-events:auto;background:#0d1117e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px}.debug-overlay h4{margin:0 0 10px;color:var(--primary);border-bottom:1px solid rgba(102,252,241,.2);padding-bottom:5px}.debug-overlay .value{font-weight:700;color:#fff}.debug-overlay .candidates{margin-top:8px;font-size:.75rem;opacity:.9}.debug-overlay .success{color:#4cd137}.debug-overlay .danger{color:#ff4d4d;font-weight:700}.debug-overlay button{margin-top:12px;width:100%;padding:8px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:8px;cursor:pointer}:root{--bg-color: #0b0c10;--panel-bg: rgba(31, 40, 51, .7);--primary: #66fcf1;--secondary: #45a29e;--text-main: #c5c6c7;--text-light: #ffffff;--danger: #ff4b4b;--success: #4cd137;--warning: #ffab00;--glass-border: rgba(102, 252, 241, .2)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Outfit,sans-serif;background-color:var(--bg-color);color:var(--text-main);min-height:100dvh;overflow:hidden;background:radial-gradient(circle at center,#1f2833,#0b0c10)}#root{width:100vw;height:100dvh;display:flex;justify-content:center;align-items:center}.app-container{width:100%;height:100%;position:relative;display:flex;justify-content:center;align-items:center}.glass{background:var(--panel-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:20px;box-shadow:0 8px 32px #0000005e}h1{font-size:4rem;font-weight:800;color:var(--text-light);margin-bottom:10px;letter-spacing:-1px;text-transform:uppercase}h1 span.highlight{color:var(--primary);text-shadow:0 0 10px rgba(102,252,241,.5)}h2{font-size:2rem;color:var(--text-light);font-weight:600}p{font-size:1.2rem;line-height:1.6;color:var(--text-main)}button{font-family:Outfit,sans-serif;cursor:pointer;border:none;border-radius:50px;font-weight:600;font-size:1.1rem;padding:15px 35px;transition:all .3s cubic-bezier(.25,.8,.25,1);outline:none}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#000;box-shadow:0 4px 15px #66fcf166}.btn-primary:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 25px #66fcf199}.btn-primary:active{transform:translateY(1px)}.btn-secondary{background:transparent;color:var(--text-light);border:2px solid var(--secondary)}.btn-secondary:hover{background:#45a29e1a;box-shadow:0 0 15px #45a29e4d}.btn-danger{background:transparent;color:var(--danger);border:2px solid var(--danger)}.btn-danger:hover{background:#ff4b4b1a;box-shadow:0 0 15px #ff4b4b4d}.btn-success{background:transparent;color:var(--success);border:2px solid var(--success)}.btn-success:hover{background:#4cd1371a;box-shadow:0 0 15px #4cd1374d}.btn-warning{background:transparent;color:var(--warning);border:2px solid var(--warning)}.btn-warning:hover{background:#ffab001a;box-shadow:0 0 15px #ffab004d}.btn-light{background:transparent;color:var(--text-light);border:2px solid var(--text-light)}.btn-light:hover{background:#ffffff1a;box-shadow:0 0 15px #fff3}.mt-4{margin-top:1.5rem}.searching-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.loader{width:80px;height:80px;border-radius:50%;border:4px solid rgba(102,252,241,.1);border-top-color:var(--primary);animation:spin 1s infinite linear;margin-bottom:25px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-in{animation:fadeIn .5s ease forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
