:root{--bg-primary:#0a0b0e;--bg-secondary:#121318;--bg-card:#14161cbf;--border-color:#ffffff14;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--accent-color:#a855f7;--accent-hover:#b975f9;--accent-glow:#a855f759;--success-color:#10b981;--success-glow:#10b98166;--danger-color:#ef4444;--danger-hover:#f87171;--font-family:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);flex-direction:column;min-height:100vh;display:flex;overflow-x:hidden}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 32px #0000005e}.highlight-text{background:linear-gradient(135deg, var(--accent-color), #ec4899);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-weight:700}button{cursor:pointer;font-weight:600;font-family:var(--font-family);border:none;border-radius:6px;font-size:.95rem;transition:all .2s ease-in-out}.btn-primary{background:linear-gradient(135deg, var(--accent-color), #8b5cf6);color:#fff;box-shadow:0 4px 14px var(--accent-glow);padding:.75rem 1.5rem}.btn-primary:hover{box-shadow:0 6px 18px var(--accent-glow);background:linear-gradient(135deg, var(--accent-hover), #9d76f7);transform:translateY(-1px)}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-color);background:#ffffff14;padding:.7rem 1.25rem}.btn-secondary:hover{background:#ffffff26;border-color:#ffffff40}.fade-in{animation:.5s ease-out forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.lobby-container{background:radial-gradient(circle at 100% 0,#a855f726,#0000 50%),radial-gradient(circle at 0 100%,#ec48991a,#0000 45%);flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.lobby-card{text-align:center;width:100%;max-width:480px;padding:2.5rem}.dashboard-card{max-width:820px}.lobby-brand{margin-bottom:2rem}.lobby-logo{margin-bottom:.5rem;font-size:3.5rem;display:inline-block}.lobby-card h1{letter-spacing:-.5px;margin-bottom:.5rem;font-size:2.2rem}.lobby-subtitle{color:var(--text-secondary);font-size:.95rem}.welcome-text{color:var(--text-primary);margin-bottom:.75rem;font-size:1.1rem}.user-handle{color:var(--accent-color)}.logout-btn{margin-top:.5rem;padding:.4rem .8rem;font-size:.78rem}.auth-tabs{border-bottom:2px solid var(--border-color);justify-content:center;gap:1rem;margin-bottom:1.5rem;display:flex}.auth-tab-btn{color:var(--text-secondary);background:0 0;border:none;padding:.5rem 1rem;font-size:1.1rem;font-weight:600;transition:all .3s;position:relative}.auth-tab-btn:hover{color:var(--text-primary)}.auth-tab-btn.active{color:var(--accent-color)}.auth-tab-btn.active:after{content:"";background-color:var(--accent-color);width:100%;height:2px;position:absolute;bottom:-2px;left:0}.lobby-form{text-align:left;flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);font-size:.85rem;font-weight:600}.lobby-input{border:1px solid var(--border-color);color:#fff;background:#ffffff0d;border-radius:6px;padding:.75rem 1rem;font-size:1rem;transition:all .2s}.lobby-input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-glow);background:#ffffff14;outline:none}.lobby-submit-btn{width:100%;margin-top:.5rem}.lobby-error-message{border:1px solid var(--danger-color);color:#fca5a5;text-align:center;background:#ef44441a;border-radius:6px;padding:.75rem;font-size:.9rem}.lobby-success-message{border:1px solid var(--success-color);color:#a7f3d0;text-align:center;background:#10b9811a;border-radius:6px;margin-top:1rem;padding:.75rem;font-size:.9rem}.dashboard-grid{text-align:left;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1rem;display:grid}@media (width<=640px){.dashboard-grid{grid-template-columns:1fr}}.dashboard-subcard{border:1px solid var(--border-color);background:#ffffff05;border-radius:8px;flex-direction:column;gap:.75rem;padding:1.5rem;display:flex}.dashboard-subcard h3{font-size:1.15rem;font-weight:600}.dashboard-subcard p{color:var(--text-secondary);margin-bottom:.5rem;font-size:.85rem;line-height:1.4}.dashboard-subcard .lobby-form{gap:.75rem}.animate-bounce{animation:2s infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.room-container{flex-direction:column;flex:1;gap:1.5rem;width:100%;max-width:1600px;margin:0 auto;padding:1.5rem;display:flex}.room-header{justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.header-brand{align-items:center;gap:.75rem;display:flex}.brand-logo{font-size:1.8rem}.room-header h2{font-size:1.25rem;font-weight:600}.host-badge{border:1px solid var(--accent-color);color:#dfb2ff;background:#a855f726;border-radius:20px;padding:.4rem 1rem;font-size:.88rem;font-weight:600}.host-badge-you{color:var(--text-secondary);margin-left:.25rem;font-size:.75rem;font-weight:400}.header-status{align-items:center;gap:1rem;display:flex}.connection-badge{border:1px solid var(--border-color);background:#ffffff0d;border-radius:20px;align-items:center;gap:.5rem;padding:.4rem .8rem;font-size:.9rem;display:flex}.status-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.status-dot.online{background-color:var(--success-color);box-shadow:0 0 8px var(--success-glow)}.status-dot.offline{background-color:var(--danger-color);box-shadow:0 0 8px #ef444480}.participants-badge{border:1px solid var(--border-color);background:#ffffff0d;border-radius:20px;padding:.4rem .8rem;font-size:.9rem}.exit-btn{padding:.5rem 1rem;font-size:.85rem}.room-workspace{grid-template-columns:1fr 380px;align-items:start;gap:1.5rem;display:grid}@media (width<=1024px){.room-workspace{grid-template-columns:1fr}}.video-section{box-sizing:border-box;flex-direction:column;gap:1rem;min-width:0;max-width:100%;padding:1rem;display:flex;overflow:hidden}.player-wrapper{aspect-ratio:16/9;background:#000;border-radius:8px;width:100%;max-height:65vh;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000080}.react-player{position:absolute;top:0;left:0;width:100%!important;height:100%!important}.react-player video,.react-player iframe,.react-player canvas{object-fit:contain!important;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important}.player-blocker-overlay{cursor:not-allowed;z-index:10;background:0 0;width:100%;height:100%;position:absolute;top:0;left:0}.emoji-fly-container{pointer-events:none;z-index:15;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.floating-emoji.hotstar-stream-emoji{pointer-events:none;will-change:transform, opacity;animation:continuousDecelStream var(--duration,1.8s) cubic-bezier(.1, .7, .3, 1) var(--delay,0s) forwards;filter:drop-shadow(0 2px 8px #0006);position:absolute;bottom:10px}@keyframes continuousDecelStream{0%{opacity:0;transform:translateY(0)translate(0)scale(.5)}20%{opacity:1}to{transform:translateY(-220px) translateX(var(--drift-x,0px)) scale(.9);opacity:0}}.player-toolbar{box-sizing:border-box;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;width:100%;max-width:100%;display:flex}.video-info{box-sizing:border-box;background:#ffffff08;border:1px solid #ffffff0d;border-radius:6px;flex:200px;align-items:center;gap:.75rem;min-width:0;max-width:100%;padding:.6rem .85rem;font-size:.9rem;display:flex;overflow:hidden}.video-info h3{color:var(--text-secondary);white-space:nowrap;font-size:.85rem}.video-url{color:var(--accent-color);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:monospace;overflow:hidden}.volume-control-dock{border:1px solid var(--border-color);white-space:nowrap;background:#ffffff0a;border-radius:6px;flex:none;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.volume-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;align-items:center;padding:0;font-size:1.1rem;transition:transform .2s;display:flex}.volume-btn:hover{transform:scale(1.15)}.volume-slider{width:75px;height:4px;accent-color:var(--accent-color);cursor:pointer}.volume-percentage{color:var(--text-secondary);min-width:32px;font-family:monospace;font-size:.8rem}.viewer-locked-indicator{color:var(--text-secondary);border:1px solid var(--border-color);white-space:nowrap;background:#ffffff0d;border-radius:6px;padding:.55rem 1rem;font-size:.85rem;font-weight:600}.change-url-form{box-sizing:border-box;flex-wrap:wrap;flex:100%;gap:.5rem;width:100%;max-width:100%;margin-top:.25rem;display:flex}.toolbar-input{box-sizing:border-box;flex:160px;min-width:0;max-width:100%;padding:.5rem .75rem;font-size:.88rem}.toolbar-btn{white-space:nowrap;flex:none;padding:.5rem 1rem;font-size:.88rem}.emoji-reactions-dock{border:1px solid var(--border-color);background:#ffffff05;border-radius:8px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.emoji-reactions-dock h4{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;font-size:.85rem}.reaction-buttons{align-items:center;gap:1.25rem;display:flex}.emoji-btn{background:0 0;border:none;font-size:2.2rem;line-height:1;transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.emoji-btn:hover{transform:scale(1.3)translateY(-3px)}.emoji-btn:active{transform:scale(.95)}.system-logs-container{background:#ffffff05;border:1px solid #ffffff0d;border-radius:8px;margin-top:.5rem;padding:1rem}.system-logs-container h4{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;margin-bottom:.75rem;font-size:.85rem}.system-logs-list{flex-direction:column;gap:.4rem;max-height:120px;font-family:monospace;font-size:.8rem;display:flex;overflow-y:auto}.system-log-entry{color:var(--text-secondary);border-left:2px solid var(--accent-color);background:#0003;border-radius:4px;padding:.25rem .5rem}.chat-section{flex-direction:column;height:calc(100vh - 160px);min-height:550px;display:flex;overflow:hidden}.chat-header{border-bottom:1px solid var(--border-color);padding:1rem 1.25rem}.chat-header h3{font-size:1.1rem}.chat-messages-container{flex-direction:column;flex:1;gap:1rem;padding:1.25rem;display:flex;overflow-y:auto}.empty-chat-message{text-align:center;color:var(--text-secondary);max-width:250px;margin:auto}.chat-icon{margin-bottom:.5rem;font-size:2rem;display:block}.empty-chat-message p{font-size:.9rem}.chat-bubble-wrapper{flex-direction:column;align-items:flex-start;gap:.25rem;max-width:85%;display:flex}.chat-bubble-wrapper.own-message{align-self:flex-end;align-items:flex-end}.chat-meta{gap:.5rem;font-size:.75rem;display:flex}.chat-sender{color:var(--text-secondary);font-weight:600}.own-message .chat-sender{color:var(--accent-color)}.chat-time{color:#ffffff4d}.chat-bubble{border:1px solid var(--border-color);color:var(--text-primary);word-break:break-word;background:#ffffff0d;border-radius:0 12px 12px;padding:.65rem .85rem;font-size:.92rem;line-height:1.35}.own-message .chat-bubble{background:linear-gradient(135deg,#a855f726,#a855f70d);border-color:#a855f740;border-radius:12px 0 12px 12px}.chat-input-form{border-top:1px solid var(--border-color);background:#00000026;gap:.75rem;padding:1rem;display:flex}.chat-input{border:1px solid var(--border-color);color:#fff;background:#ffffff0d;border-radius:6px;flex:1;padding:.65rem 1rem;font-size:.92rem;transition:all .2s}.chat-input:focus{border-color:var(--accent-color);background:#ffffff14;outline:none}.chat-send-btn{padding:.5rem 1rem;font-size:.88rem}.empty-text{color:#ffffff4d;text-align:center;font-size:.8rem;font-style:italic}.public-directory-section{text-align:left;flex-direction:column;gap:1rem;margin-top:2rem;display:flex}.public-directory-section h3{color:var(--text-primary);font-size:1.15rem}.public-rooms-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.public-room-card{border:1px solid var(--border-color);background:#ffffff08;border-radius:8px;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.room-card-header{justify-content:space-between;align-items:center;display:flex}.room-title{color:var(--accent-color);font-size:1.05rem;font-weight:700}.viewer-count-badge{border:1px solid var(--success-color);color:#a7f3d0;background:#10b98126;border-radius:12px;padding:.2rem .6rem;font-size:.78rem}.room-host{color:var(--text-secondary);font-size:.85rem}.join-public-btn{width:100%;margin-top:.25rem;padding:.5rem;font-size:.85rem}.friends-modal-overlay{-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;z-index:99999!important;background:#000000d1!important;justify-content:center!important;align-items:center!important;width:100vw!important;height:100vh!important;margin:0!important;padding:1rem!important;display:flex!important;position:fixed!important;inset:0!important}.friends-modal{width:90%!important;max-width:520px!important;max-height:85vh!important;box-shadow:0 20px 60px #000000e6, 0 0 2px var(--accent-color)!important;background:#12141cfa!important;border:1px solid #8b5cf64d!important;border-radius:14px!important;flex-direction:column!important;gap:1.25rem!important;margin:auto!important;padding:1.75rem!important;display:flex!important;position:relative!important}.clickable-sender{cursor:pointer;transition:color .2s}.clickable-sender:hover{color:var(--accent-color);text-decoration:underline}.remove-friend-btn{color:#fca5a5;background:#ef444426;border:1px solid #ef444466;padding:.35rem .65rem;font-size:.78rem}.remove-friend-btn:hover{color:#fff;background:#ef44444d}.modal-header{justify-content:space-between;align-items:center;display:flex}.modal-header h2{font-size:1.4rem}.close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:1.2rem}.close-btn:hover{color:#fff}.modal-tabs{border-bottom:1px solid var(--border-color);gap:.5rem;padding-bottom:.5rem;display:flex}.tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:.4rem .8rem;font-size:.9rem}.tab-btn.active{color:var(--accent-color);border-bottom:2px solid var(--accent-color);font-weight:600}.modal-status-msg{color:#a7f3d0;text-align:center;background:#10b9811a;border-radius:4px;padding:.5rem;font-size:.85rem}.modal-content{flex-direction:column;gap:.75rem;max-height:320px;display:flex;overflow-y:auto}.friend-item-card{border:1px solid var(--border-color);background:#ffffff08;border-radius:6px;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.friend-info{flex-direction:column;gap:.15rem;display:flex}.friend-name{font-size:.92rem;font-weight:600}.friend-email{color:var(--text-secondary);font-size:.78rem}.action-btns{gap:.5rem;display:flex}.invite-btn{padding:.4rem .75rem;font-size:.8rem}.search-form{gap:.5rem;margin-bottom:1rem;display:flex}.webrtc-dock{background:#ffffff05;flex-direction:column;gap:.75rem;padding:.75rem 1rem;display:flex}.webrtc-controls{gap:.75rem;display:flex}.webrtc-btn{color:var(--text-primary);border:1px solid var(--border-color);background:#ffffff0d;border-radius:6px;padding:.5rem 1rem;font-size:.85rem}.webrtc-btn.active{border-color:var(--success-color);color:#a7f3d0;background:#10b98133}.remote-streams-grid{gap:.75rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.peer-avatar-card{border:1px solid var(--accent-color);background:#000;border-radius:6px;width:120px;height:90px;position:relative;overflow:hidden}.peer-video{object-fit:cover;width:100%;height:100%}.peer-label{background:#000000b3;border-radius:4px;padding:2px 4px;font-size:.7rem;position:absolute;bottom:4px;left:4px}.invite-toast{z-index:1100;border:1px solid var(--accent-color);box-shadow:0 8px 32px var(--accent-glow);background:#14161cf2;border-radius:8px;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex;position:fixed;top:20px;right:20px}.invite-toast-actions{gap:.5rem;display:flex}.relative-badge-btn{align-items:center;gap:.5rem;display:inline-flex;position:relative}.notification-red-dot{color:#fff;background:#ef4444;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.72rem;font-weight:700;animation:2s infinite pulse-red;display:flex;position:absolute;top:-6px;right:-6px;box-shadow:0 0 8px #ef4444cc}@keyframes pulse-red{0%{transform:scale(1);box-shadow:0 0 #ef4444b3}70%{transform:scale(1.1);box-shadow:0 0 0 8px #ef444400}to{transform:scale(1);box-shadow:0 0 #ef444400}}.tab-badge{background:var(--accent-color);color:#fff;border-radius:10px;margin-left:4px;padding:2px 6px;font-size:.7rem;font-weight:700}.invite-badge{background:#f59e0b}.form-options-row{gap:1rem;width:100%;display:flex}.half-width{flex:1}.lobby-select{color:var(--text-primary);cursor:pointer;background-color:#0f1117cc}.room-visibility-badge{border-radius:12px;margin-left:.5rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.room-visibility-badge.public{color:#a7f3d0;border:1px solid var(--success-color);background:#10b98133}.room-visibility-badge.private{color:#fca5a5;background:#ef444433;border:1px solid #ef4444}.settings-cog-btn{margin-left:.5rem;padding:.3rem .6rem;font-size:.78rem}.invite-item-card{border-left:3px solid var(--accent-color)}select,.lobby-select,.toolbar-input select{color:#f3f4f6!important;cursor:pointer!important;background-color:#141620!important;border:1px solid #8b5cf666!important;border-radius:8px!important;outline:none!important;padding:.65rem 1rem!important;font-family:inherit!important;font-size:.92rem!important;transition:all .2s!important;box-shadow:0 4px 12px #0006!important}select:focus,.lobby-select:focus{border-color:#a855f7!important;box-shadow:0 0 0 3px #a855f759!important}select option,.lobby-select option,.toolbar-input option{color:#fff!important;background-color:#141620!important;padding:.75rem 1rem!important;font-family:inherit!important;font-size:.92rem!important}select option:hover,select option:focus,select option:active,select option:checked{color:#fff!important;background-color:#8b5cf6!important}
