:root{--primary: #6366f1;--primary-hover: #4f46e5;--primary-glow: rgba(99, 102, 241, .5);--secondary: #a855f7;--bg-dark: #0f172a;--bg-darker: #020617;--text-main: #f8fafc;--text-muted: #94a3b8;--glass-bg: rgba(15, 23, 42, .75);--glass-border: rgba(255, 255, 255, .12);--glass-glow: rgba(255, 255, 255, .05);--accent: #6366f1;--font-heading: "Outfit", sans-serif;--font-body: "Plus Jakarta Sans", sans-serif;--radius-lg: 24px;--radius-md: 16px;--shadow-premium: 0 20px 50px rgba(0, 0, 0, .5)}#chat-channels{display:flex;gap:8px;padding:10px 15px;background:#0000001a;border-bottom:1px solid var(--glass-border)}.channel-tab{padding:6px 12px;border-radius:8px;border:1px solid var(--glass-border);background:#ffffff0d;color:var(--text-muted);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.channel-tab.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 2px 8px var(--primary-glow)}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg-dark);color:var(--text-main);font-family:var(--font-body);overflow:hidden;height:100vh;width:100vw}#app{position:relative;width:100%;height:100%;display:flex;flex-direction:column}#game-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;background:radial-gradient(circle at center,#1e293b,#0f172a)}#game-canvas{display:block;width:100%;height:100%}#screen-fade{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;z-index:9999;pointer-events:none;opacity:0;transition:opacity .5s ease-in-out}#main-hud{position:absolute;top:24px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;z-index:2000;padding:14px 28px;background:var(--glass-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-premium),inset 0 1px 1px var(--glass-glow)}.logo{display:flex;align-items:center;gap:12px}.logo-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--primary),var(--secondary));border-radius:10px;transform:rotate(-10deg);box-shadow:0 4px 12px var(--primary-glow);position:relative;overflow:hidden}.logo-icon:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.3),transparent);transform:rotate(45deg);animation:shine 3s infinite}@keyframes shine{0%{transform:translate(-100%) rotate(45deg)}to{transform:translate(100%) rotate(45deg)}}.logo h1{font-family:var(--font-heading);font-size:1.2rem;font-weight:800;letter-spacing:-.5px}.logo h1 span{color:var(--primary)}.user-info{display:flex;align-items:center;gap:12px;background:#ffffff0d;padding:6px 16px;border-radius:30px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;border:1px solid transparent;position:relative}.user-info:hover{background:#ffffff1a;border-color:var(--glass-border)}.user-details{display:flex;align-items:center;gap:8px}.chevron-icon{color:var(--text-muted);transition:transform .3s}.user-info:hover .chevron-icon{color:#fff}.user-info.active .chevron-icon{transform:rotate(180deg)}.user-dropdown-menu{position:fixed;top:90px;right:24px;width:240px;background:#0f172af2;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--glass-border);border-radius:20px;padding:12px;box-shadow:var(--shadow-premium);z-index:10000;max-height:95vh;overflow-y:auto;scrollbar-width:none}.user-dropdown-menu::-webkit-scrollbar{display:none}.dropdown-close-btn{display:none;position:absolute;top:15px;right:15px;background:#ffffff1a;border:none;color:#fff;width:32px;height:32px;border-radius:50%;align-items:center;justify-content:center;cursor:pointer;z-index:100;transition:all .2s}.dropdown-close-btn:hover{background:#fff3;transform:rotate(90deg)}.user-dropdown-menu.mobile-active{position:fixed;top:50%;left:50%;bottom:auto;right:auto;transform:translate(-50%,-50%);width:90%;max-width:340px;transform-origin:center;z-index:10000;padding:20px}.user-dropdown-menu.mobile-active .dropdown-close-btn{display:flex}@media (max-width: 768px){.user-dropdown-menu.mobile-active{width:95%;padding:16px}}.dropdown-header{display:flex;align-items:center;gap:12px;padding:6px 8px}.user-avatar-mini{width:36px;height:36px;background:linear-gradient(135deg,var(--primary),var(--secondary));border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:1.1rem;box-shadow:0 4px 10px var(--primary-glow)}.user-meta{display:flex;flex-direction:column}.user-name-full{font-size:.95rem;font-weight:700;color:#fff}.user-status-text{font-size:.75rem;color:var(--primary);font-weight:600;margin-bottom:4px}.status-input-container{margin:8px 0}#status-custom-input{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:6px 10px;color:#fff;font-size:.75rem;transition:all .3s ease}#status-custom-input:focus{outline:none;border-color:var(--primary);background:#ffffff14}.peer-id-dropdown{font-size:.65rem;color:var(--text-muted);font-family:monospace;background:#ffffff0d;padding:2px 6px;border-radius:4px;margin-top:4px;cursor:pointer;transition:all .2s;border:1px solid rgba(255,255,255,.05);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.peer-id-dropdown:hover{background:#ffffff1a;color:#fff;border-color:var(--primary)}.dropdown-divider{height:1px;background:#ffffff14;margin:8px 0}.dropdown-list{display:flex;flex-direction:column;gap:4px}.dropdown-item{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#ffffff08;border:none;border-radius:10px;color:var(--text-muted);font-family:inherit;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;width:100%;text-align:left}.dropdown-item:hover{background:#ffffff14;color:#fff}.media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:8px 2px}.media-grid-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 2px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:12px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);color:var(--text-muted)}.media-grid-item:hover{background:#ffffff1a;color:#fff;transform:translateY(-2px);border-color:#ffffff26}.media-grid-item.active{background:#6366f126;border-color:var(--primary);color:var(--primary)}.media-grid-item.off{background:#ef44441a;border-color:#ef44444d;color:#f87171}.grid-icon{display:flex;align-items:center;justify-content:center}.status-label{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;opacity:.8}.dropdown-item .item-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border-radius:8px;color:var(--primary);transition:all .2s}.dropdown-item:hover .item-icon{background:var(--primary);color:#fff;box-shadow:0 4px 10px var(--primary-glow)}.manual-connect-box,#peer-id-display{display:none}.status-indicator{width:8px;height:8px;border-radius:50%}.status-indicator.online{background:#10b981;box-shadow:0 0 10px #10b981}#bottom-bar{position:absolute;bottom:32px;left:50%;transform:translate(-50%);z-index:10;display:flex;align-items:center;gap:48px;padding:16px 32px;background:var(--glass-bg);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--glass-border);border-radius:30px;box-shadow:var(--shadow-premium),inset 0 1px 1px var(--glass-glow);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}#bottom-bar:hover{transform:translate(-50%) translateY(-5px)}.control-hints{display:flex;gap:24px;align-items:center}.control-hints span{display:flex;flex-direction:column;align-items:center;gap:5px;color:#fff6;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.8px}kbd{background:#ffffff1f;padding:4px 10px;border-radius:8px;color:#fff;font-family:inherit;font-size:13px;font-weight:800;margin-right:0;border:1px solid rgba(255,255,255,.1);box-shadow:0 3px #0000004d;min-width:26px;text-align:center;display:inline-flex;align-items:center;justify-content:center}.action-buttons{display:flex;gap:12px}.btn-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#ffffff14;border:1px solid var(--glass-border);border-radius:14px;color:#fff;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-icon:hover{background:#ffffff26;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.btn-icon.off{background:#ef444426;border-color:#ef44444d;color:#f87171;box-shadow:none}.btn-icon.off:hover{background:#ef444440}.btn-icon .icon-on,.btn-icon .icon-off{transition:all .2s}.btn-icon.off .icon-on{display:none}.btn-icon.off .icon-off{display:block!important}.btn-icon.active{background:var(--primary);border-color:var(--primary);box-shadow:0 0 15px var(--primary-glow)}.btn-group{display:flex;align-items:center;background:#ffffff14;border-radius:14px;border:1px solid var(--glass-border);position:relative;overflow:visible!important}.btn-group>button:first-of-type{border-top-left-radius:14px;border-bottom-left-radius:14px}.btn-group>button:last-of-type{border-top-right-radius:14px;border-bottom-right-radius:14px}.btn-group .btn-icon{border:none;background:transparent;border-radius:0}.btn-icon-mini{width:28px;height:48px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-left:1px solid var(--glass-border);color:var(--text-muted);cursor:pointer;transition:all .2s}.btn-icon-mini:hover{color:#fff;background:#ffffff1a}#camera-settings-menu,#mic-settings-menu{position:absolute;bottom:calc(100% + 12px);width:260px;background:#0f172af2;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--glass-border);border-radius:18px;padding:8px 0;box-shadow:var(--shadow-premium);z-index:5000;animation:slideUpFade .3s cubic-bezier(.16,1,.3,1);pointer-events:auto}#camera-settings-menu{right:0}#mic-settings-menu{left:0}@keyframes slideUpFade{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.menu-header{padding:8px 16px;display:flex;align-items:center;gap:10px;font-size:.85rem;font-weight:700;color:#fff;border-bottom:1px solid rgba(255,255,255,.05);margin-bottom:8px}.menu-list{max-height:200px;overflow-y:auto}.menu-item{padding:12px 20px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:.85rem;color:var(--text-muted);transition:all .2s;border-radius:8px;margin:0 8px}.menu-item:hover{background:#6366f126;color:#fff}.menu-item.active{color:var(--primary);background:#6366f11a}.menu-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-primary,#open-chat-btn{padding:12px 24px;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-weight:700;font-size:.9rem;border:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px var(--primary-glow);display:flex;align-items:center;gap:8px;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.btn-primary:hover,#open-chat-btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 25px var(--primary-glow);filter:brightness(1.1)}.btn-primary:active,#open-chat-btn:active{transform:translateY(0) scale(.98)}#interaction-prompt{position:absolute;top:50%;left:50%;transform:translate(-50%,-100px);background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);color:#fff;padding:12px 24px;border-radius:16px;font-weight:700;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-premium);animation:bounce 1.5s infinite;z-index:5}#interaction-prompt .key{background:var(--primary);color:#fff;padding:4px 10px;border-radius:8px;box-shadow:0 3px 0 var(--primary-hover);font-family:inherit}@keyframes bounce{0%,to{transform:translate(-50%,-100px)}50%{transform:translate(-50%,-110px)}}#private-area-vignette{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;background:radial-gradient(circle at center,transparent 40%,rgba(0,0,0,.4) 100%);opacity:0;transition:opacity .5s ease}#private-area-indicator{position:absolute;bottom:100px;left:50%;transform:translate(-50%);background:#a855f7e6;color:#fff;padding:8px 16px;border-radius:30px;font-size:.9rem;font-weight:700;display:flex;align-items:center;gap:8px;z-index:10;box-shadow:0 4px 15px #a855f766;opacity:0;transition:all .3s ease}#private-area-indicator.active{opacity:1;bottom:120px}#loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-dark);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:999;gap:20px}.loader{width:48px;height:48px;border:3px solid rgba(255,255,255,.1);border-top:3px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite}#interaction-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172ad9;display:flex;align-items:center;justify-content:center;z-index:10001;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:20px}body.modal-active #mobile-controls,body.modal-active #main-hud,body.modal-active #bottom-bar,body.modal-active #video-grid,body.modal-active #pinned-video-grid,body.modal-active #private-area-indicator{display:none!important}#interaction-modal .modal-content{width:90%;max-width:900px;height:80vh;background:var(--bg-dark);border:1px solid var(--glass-border);border-radius:24px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 50px #00000080}.modal-header{padding:10px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--glass-border);background:#ffffff05}.modal-header h2{font-size:.9rem;font-weight:700;font-family:var(--font-heading);color:var(--text-muted)}#close-modal{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:8px;border-radius:50%;transition:all .2s}#close-modal:hover{background:#ffffff1a;color:#fff}#modal-body{flex:1;position:relative;padding:20px;overflow-y:auto}#modal-body iframe{width:100%;height:100%;border:none;border-radius:12px}#modal-body img{max-width:100%;max-height:100%;object-fit:contain;border-radius:12px}.iframe-container{position:relative;width:100%;height:100%;display:flex;flex-direction:column}#interaction-modal.fullscreen .modal-content{width:98vw;height:98vh;max-width:100vw;border-radius:0}.modal-actions-header{display:flex;gap:8px;align-items:center}#toggle-fullscreen-modal{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center}#toggle-fullscreen-modal:hover{background:#ffffff1a;color:#fff}body.modal-active #chat-sidebar{z-index:10002!important}body.modal-active #interaction-modal{justify-content:center}#interaction-iframe{flex:1;border:none;border-radius:12px}.iframe-fallback{padding:20px;text-align:center;background:#ffffff08;border-top:1px solid var(--glass-border);margin-top:10px}.iframe-fallback p{font-size:.85rem;color:var(--text-muted);margin-bottom:12px}#video-grid{position:fixed;top:100px;left:24px;right:24px;display:flex;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;gap:12px;z-index:2500;pointer-events:none;padding:10px 20px 60px;width:auto;max-width:95vw}#video-grid::-webkit-scrollbar{display:none}#pinned-video-grid{position:fixed;top:270px;left:44px;display:flex;flex-direction:column;gap:16px;z-index:2600;pointer-events:none;max-height:calc(100vh - 300px);overflow-y:visible;transition:top .4s cubic-bezier(.175,.885,.32,1.275)}#pinned-video-grid.has-second-row{top:440px}#pinned-video-grid .video-bubble{width:240px;height:150px;border-color:var(--secondary);box-shadow:0 0 30px #a855f74d;animation:slideInLeft .4s cubic-bezier(.175,.885,.32,1.275)}.video-bubble{width:240px;height:150px;background:var(--bg-darker);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:2px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden;pointer-events:auto;box-shadow:var(--shadow-premium);transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex;flex-direction:column;position:relative;flex-shrink:0}#video-grid .video-bubble.compact-size:not(.enlarged):not(.local){width:110px;height:70px;border-width:1px;border-radius:12px}#video-grid .video-bubble.compact-size:not(.enlarged):not(.local) .player-label{font-size:7px;padding:0 4px;top:3px;left:3px;border-radius:6px}#video-grid .video-bubble.compact-size:not(.enlarged):not(.local) .video-controls{transform:scale(.6);top:2px;right:2px}.video-bubble:hover{transform:translateY(-5px) scale(1.02);border-color:var(--primary);z-index:10}.video-bubble video{width:100%;height:100%;object-fit:cover;background:#020617}.video-bubble .player-name{position:absolute;bottom:12px;left:12px;background:var(--glass-bg);padding:4px 12px;border-radius:10px;font-size:.75rem;font-weight:800;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--glass-border)}.video-bubble.local{border-color:var(--primary);box-shadow:0 0 20px #6366f133}.video-bubble.enlarged{width:480px;height:300px;z-index:3000}@media (max-width: 1024px){#video-grid{top:15px;left:0;right:0;padding:5px 10px 30px;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;gap:8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}#video-grid::-webkit-scrollbar{display:none}.video-bubble{width:110px;height:70px;flex-shrink:0;border-radius:10px}.video-bubble.local{width:100px;height:65px}.video-bubble.enlarged{width:220px;height:140px}.video-controls{display:none!important}.video-bubble.enlarged .video-controls{display:flex!important;transform:scale(.85);transform-origin:bottom right;bottom:12px!important;right:12px!important;top:auto!important}#pinned-video-grid{top:100px;left:10px}#pinned-video-grid.has-second-row{top:180px}#private-area-indicator{bottom:20px;padding:6px 12px;font-size:.8rem;transition:bottom .3s cubic-bezier(.4,0,.2,1)}#private-area-indicator.active{bottom:30px}body.emoji-drawer-active #private-area-indicator{bottom:85px}body.emoji-drawer-active #private-area-indicator.active{bottom:95px}#interaction-modal .modal-content{width:100%;height:100%;max-height:100%;border-radius:0;border:none}#modal-body{padding:10px}}.video-controls{position:absolute;top:12px;right:12px;display:flex;background:#0f172a99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:4px;gap:2px;opacity:0;transform:translateY(-5px);transition:all .15s cubic-bezier(.4,0,.2,1);z-index:10}.video-bubble:hover .video-controls{opacity:1;transform:translateY(0)}.video-control-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#fff;cursor:pointer;border-radius:50%;transition:all .2s}.video-controls{position:absolute;top:8px;right:8px;display:flex;gap:4px;background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:4px;border-radius:12px;border:1px solid rgba(255,255,255,.1);z-index:100;opacity:0;transition:all .3s ease}.video-bubble:hover .video-controls{opacity:1}.video-bubble.enlarged .video-controls{opacity:.5}.video-bubble.enlarged .video-controls:hover{opacity:1}.video-control-btn:hover{background:#ffffff26}.video-control-btn.active{color:var(--primary);background:#6366f11a}.control-divider{width:1px;height:16px;background:#ffffff1a;align-self:center;margin:0 4px}.video-avatar-fallback{width:100%;height:100%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:800;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.3)}@keyframes slideInLeft{0%{transform:translate(-50px);opacity:0}to{transform:translate(0);opacity:1}}#name-entry-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0f172ae6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:2000;display:flex;align-items:center;justify-content:center}.name-entry-card{background:var(--glass-bg);border:1px solid var(--glass-border);padding:40px;border-radius:32px;width:400px;text-align:center;box-shadow:0 25px 50px -12px #00000080;animation:scaleIn .4s cubic-bezier(.16,1,.3,1)}.name-entry-card h2{font-size:1.5rem;margin-bottom:10px;color:#fff}.name-entry-card p{color:var(--text-muted);font-size:.9rem;margin-bottom:24px}.name-input-group{display:flex;flex-direction:column;gap:16px}.name-input-group input{background:#ffffff0d;border:1px solid var(--glass-border);padding:14px 20px;border-radius:12px;color:#fff;font-size:1rem;outline:none;transition:border-color .2s}.name-input-group input:focus{border-color:var(--primary)}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}#chat-sidebar{position:fixed;top:100px;right:24px;bottom:100px;width:380px;background:#0f172acc;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.12);border-radius:28px;z-index:4000;display:flex;flex-direction:column;transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .4s ease,box-shadow .4s ease;box-shadow:0 24px 48px #00000080,inset 0 1px 1px #ffffff1a;overflow:hidden}#chat-sidebar.chat-hidden{transform:translate(420px) scale(.95);opacity:0;pointer-events:none;box-shadow:none}.chat-header{padding:20px;border-bottom:1px solid var(--glass-border);display:flex;justify-content:space-between;align-items:center}.chat-title{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--primary)}#close-chat-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:5px;border-radius:50%;transition:.2s}#close-chat-btn:hover{background:#ffffff1a;color:#fff}#chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px}.message{max-width:85%;padding:10px 14px;border-radius:14px;font-size:.9rem;line-height:1.4;word-wrap:break-word}.message.received{align-self:flex-start;background:#ffffff0d;border:1px solid var(--glass-border);border-bottom-left-radius:4px}.message.sent{align-self:flex-end;background:var(--primary);color:#fff;border-bottom-right-radius:4px;box-shadow:0 4px 12px var(--primary-glow)}.message.system{align-self:center;background:none;color:var(--text-muted);font-size:.75rem;text-align:center;max-width:100%}.message .sender{display:block;font-size:.7rem;font-weight:800;margin-bottom:4px;opacity:.8;text-transform:uppercase;letter-spacing:.05em}.chat-input-area{padding:20px;background:#ffffff05;border-top:1px solid var(--glass-border);display:flex;gap:10px}#chat-input{flex:1;background:#ffffff0d;border:1px solid var(--glass-border);border-radius:12px;padding:10px 14px;color:#fff;outline:none;transition:.2s}#chat-input:focus{border-color:var(--primary);background:#ffffff14}.chat-input-wrapper{display:flex;gap:10px;padding:15px;background:var(--bg-card);border-top:1px solid rgba(255,255,255,.05)}.chat-input-wrapper input[type=text]{flex:1;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px 15px;color:#fff;font-size:.9rem;transition:all .3s ease}.chat-input-wrapper input:focus{outline:none;border-color:var(--primary);background:#0000004d}.chat-attach-btn,#send-chat-btn{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-dim)}.chat-attach-btn:hover{background:#ffffff1a;color:#fff;transform:translateY(-2px)}#send-chat-btn{background:var(--primary-gradient);border:none;color:#fff;box-shadow:0 4px 15px #6366f14d}#send-chat-btn:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 20px #6366f166}.file-msg-card{display:flex;align-items:center;gap:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px;margin-top:5px;transition:all .3s ease;text-decoration:none!important;color:inherit!important}.file-msg-card:hover{background:#ffffff1a;border-color:var(--primary)}.file-icon{width:36px;height:36px;background:var(--primary-gradient);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff}.file-info{flex:1;overflow:hidden}.file-name{display:block;font-weight:600;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta{display:block;font-size:.7rem;color:var(--text-dim)}.file-download-icon{color:var(--primary);opacity:.7}.file-msg-card:hover .file-download-icon{opacity:1;transform:translateY(2px)}.chat-tabs{display:flex;background:#0f172a66;border-bottom:1px solid rgba(255,255,255,.1)}.avatar-selector-container{display:flex;align-items:center;justify-content:center;gap:30px;margin:25px 0;padding:10px}.avatar-preview-box{position:relative;width:120px;height:120px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border-radius:20px;border:2px solid rgba(255,255,255,.1);box-shadow:0 10px 25px #0003}#join-avatar-preview{image-rendering:pixelated;z-index:2;transform:scale(1.5)}.avatar-glow{position:absolute;width:80px;height:80px;background:radial-gradient(circle,var(--primary-color) 0%,transparent 70%);opacity:.3;border-radius:50%;z-index:1;animation:pulseGlow 2s infinite ease-in-out}@keyframes pulseGlow{0%,to{transform:scale(1);opacity:.2}50%{transform:scale(1.2);opacity:.4}}.nav-btn{width:45px;height:45px;border-radius:50%;border:none;background:#ffffff1a;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.nav-btn:hover{background:var(--primary-color);transform:scale(1.1);box-shadow:0 0 15px var(--primary-glow)}.nav-btn:active{transform:scale(.9)}.chat-tab{flex:1;background:transparent;border:none;color:#94a3b8;padding:12px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s;border-bottom:2px solid transparent}.chat-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:#6366f10d}.chat-close-btn{background:transparent;border:none;color:var(--text-muted);padding:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;border-left:1px solid rgba(255,255,255,.1)}.chat-close-btn:hover{background:#ef44441a;color:#ef4444}.tab-content{display:none;flex-direction:column;flex:1;overflow:hidden}.tab-content.active{display:flex}@media (max-width: 1024px){#chat-sidebar{top:50%;left:50%;bottom:auto;right:auto;transform:translate(-50%,-50%);width:90%;max-width:480px;height:85vh;border-radius:24px;z-index:10002;background:#0f172af2}#chat-sidebar.chat-hidden{transform:translate(-50%,150%) scale(.9);opacity:0}#chat-messages{padding:12px;gap:8px}.message{font-size:.85rem;padding:8px 12px}.chat-input-area{padding:12px}.chat-tabs .chat-tab{padding:10px 6px;font-size:12px}}#player-list-container{padding:15px;overflow-y:auto}.player-list-item{display:flex;align-items:center;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:10px;margin-bottom:8px;transition:background .2s}.player-list-item:hover{background:#ffffff14}.player-list-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;margin-right:12px;font-size:14px}.player-list-info{flex:1}.player-list-name{font-weight:600;font-size:13px;display:block}.player-list-mute-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-size:14px;margin-left:8px}.player-list-mute-btn:hover{background:#ffffff26;transform:scale(1.1)}.player-list-mute-btn.active{background:#ef444433;border-color:#ef444466;color:#f87171;box-shadow:0 0 10px #ef444433}.player-list-id{font-size:10px;color:#10b981;opacity:.8;cursor:pointer}.player-list-id:hover{text-decoration:underline;opacity:1}.player-list-status{font-size:10px;color:#94a3b8;display:block}.message.identity{align-self:center;background:none;padding:0;max-width:90%}.identity-announce-card{background:linear-gradient(135deg,#6366f133,#a855f733);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:12px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 8px 32px #0003;animation:slideInUp .5s cubic-bezier(.175,.885,.32,1.275)}.card-icon{font-size:24px}.card-body{font-size:13px;color:#fff}.card-body strong{color:var(--accent)}.id-badge{display:inline-block;background:#10b98133;color:#10b981;padding:2px 8px;border-radius:6px;font-family:monospace;font-size:11px;margin-top:4px;cursor:pointer;border:1px solid rgba(16,185,129,.3)}.id-badge:hover{background:#10b9814d}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}#mobile-orientation-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-dark);z-index:9999;display:none;align-items:center;justify-content:center;text-align:center;padding:30px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}@media (orientation: portrait) and (max-width: 1024px){#mobile-orientation-overlay{display:flex;flex-direction:column}}.orientation-content h2{font-family:var(--font-heading);font-size:1.8rem;margin-bottom:12px;color:#fff}.orientation-content p{color:var(--text-muted);font-size:1rem}.rotate-icon{margin-bottom:30px;color:var(--primary);animation:rotateDevice 2s infinite ease-in-out}@keyframes rotateDevice{0%,to{transform:rotate(0)}50%{transform:rotate(90deg)}}#mobile-controls{position:fixed;bottom:30px;left:30px;right:30px;display:flex;justify-content:space-between;align-items:flex-end;z-index:100;pointer-events:none}.hidden-on-desktop{display:none!important}@media (max-width: 1024px){.hidden-on-desktop{display:flex!important}#main-hud{top:10px;left:10px;right:10px;padding:8px 16px}#bottom-bar{display:none}}.d-btn,.action-btn{pointer-events:auto;background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);color:#fff;box-shadow:0 8px 32px #0000004d;transition:all .2s}.d-btn:active,.action-btn:active,.d-btn.touch-active,.action-btn.touch-active{background:var(--primary);transform:scale(.9);box-shadow:0 0 20px var(--primary-glow);border-color:#fff6}.action-btn.touch-active{background:linear-gradient(135deg,#a855f7,var(--primary))}#d-pad{display:flex;flex-direction:column;align-items:center;gap:8px}.d-pad-mid{display:flex;gap:40px}.d-btn{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center}#mobile-actions{display:flex;flex-direction:column;align-items:center;gap:15px}.side-btn{pointer-events:auto;width:70px;height:70px;border-radius:24px;background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px #0000004d;transition:all .2s}.side-btn:active,.side-btn.touch-active{background:var(--primary);transform:scale(.9)}.action-btn{width:120px;height:120px;border-radius:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffffff0d;border:4px solid rgba(255,255,255,.1);color:#ffffff4d;transition:all .3s cubic-bezier(.4,0,.2,1)}.action-btn.can-interact{background:linear-gradient(135deg,var(--primary),#a855f7);color:#fff;border-color:#fff3;box-shadow:0 0 30px var(--primary-glow);transform:scale(1.1)}.action-btn.can-interact:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border:2px solid var(--primary);border-radius:50%;opacity:0;animation:pulseGlow 2s infinite}@keyframes pulseGlow{0%{transform:scale(1);opacity:.5}to{transform:scale(1.3);opacity:0}}.interact-pulse{animation:quickPulse .2s ease-out}@keyframes quickPulse{0%{transform:scale(1.1)}50%{transform:scale(1.3)}to{transform:scale(1.1)}}.action-btn .btn-label{font-weight:800;font-size:1.1rem;letter-spacing:1px}.action-btn .btn-sub{font-size:.7rem;opacity:.7}@media (max-height: 500px){.d-btn{width:50px;height:50px}.action-btn{width:90px;height:90px}#mobile-controls{bottom:15px;left:15px;right:15px}header{display:none!important}}.mobile-settings-btn{width:50px;height:50px;border-radius:15px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:5px;pointer-events:auto;cursor:pointer;transition:all .2s}.mobile-settings-btn:active{transform:scale(.9);background:#fff3}#mobile-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.video-bubble.enlarged{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:85vw!important;height:80vh!important;max-width:1400px!important;max-height:787px!important;z-index:4500!important;border-radius:24px!important;border:4px solid var(--primary)!important;box-shadow:0 0 0 5000px #0f172aeb,0 25px 80px -12px #000c!important;background:#000!important;animation:zoomInTheatre .5s cubic-bezier(.16,1,.3,1);overflow:hidden}@keyframes zoomInTheatre{0%{transform:translate(-50%,-50%) scale(.8);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.video-bubble.enlarged video{object-fit:contain!important;border-radius:20px}.video-bubble.enlarged .video-controls{bottom:40px!important;right:40px!important;top:auto!important;transform:scale(1.3)!important;background:#0f172af2!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);padding:8px}.video-bubble.enlarged .player-label{top:35px!important;left:35px!important;font-size:15px!important;font-weight:700!important;padding:10px 20px!important;background:var(--primary)!important;box-shadow:0 4px 15px #0000004d}.video-bubble.enlarged .connecting-status,.video-bubble.enlarged .video-avatar-fallback{font-size:80px!important}.share-screen-alert{position:fixed;top:30px;left:50%;transform:translate(-50%);z-index:6000;animation:slideDownAlert .5s cubic-bezier(.16,1,.3,1)}@keyframes slideDownAlert{0%{transform:translate(-50%,-100%);opacity:0}to{transform:translate(-50%);opacity:1}}.alert-content{background:#0f172ae6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(99,102,241,.4);padding:12px 20px;border-radius:100px;display:flex;align-items:center;gap:15px;box-shadow:0 10px 25px #00000080;color:#fff;font-size:14px}.alert-icon{font-size:20px}.alert-action-btn{background:var(--primary);color:#fff;border:none;padding:6px 16px;border-radius:50px;font-weight:700;cursor:pointer;transition:all .2s;font-size:13px}.alert-action-btn:hover{transform:scale(1.05);background:#4f46e5}.system-toast{position:fixed;bottom:120px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:10px 20px;border-radius:8px;font-size:13px;z-index:7000;animation:toastUp .3s ease-out}@keyframes toastUp{0%{transform:translate(-50%,20px);opacity:0}to{transform:translate(-50%);opacity:1}}.system-toast.fade-out{opacity:0;transform:translate(-50%,-10px);transition:all .5s}.video-bubble.speaking:not(.enlarged){border-color:#10b981!important;box-shadow:0 0 0 4px #10b9814d,0 10px 15px -3px #0000001a!important}.video-bubble.speaking:after{content:"🔊";position:absolute;top:12px;right:12px;font-size:12px;background:#10b981;color:#fff;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;z-index:1000;animation:speakingPulse 1s infinite alternate;box-shadow:0 0 15px #10b98199}@keyframes speakingPulse{0%{transform:scale(.8);opacity:.8}to{transform:scale(1.1);opacity:1}}.emoji-picker-bar{display:flex;gap:8px;background:#0f172acc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:6px 12px;border-radius:50px;border:1px solid rgba(255,255,255,.1);margin-right:15px}.emoji-btn{background:transparent;border:none;font-size:20px;cursor:pointer;transition:transform .2s;padding:2px}.emoji-btn:hover{transform:scale(1.4) rotate(10deg)}.emoji-btn:active{transform:scale(.9)}.mobile-emoji-drawer{position:fixed;bottom:15px;left:50%;background:#0f172af2;-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);padding:8px 16px;border-radius:50px;display:flex;flex-direction:row;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.2);box-shadow:0 20px 60px #000c;transform:translate(-50%,300%);opacity:0;visibility:hidden;transition:all .5s cubic-bezier(.16,1,.3,1);z-index:9999;pointer-events:auto;max-width:95vw}.mobile-emoji-drawer.active{transform:translate(-50%);opacity:1;visibility:visible}.emoji-drawer-close{background:#ffffff26;border:none;color:#fff;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;margin-right:5px}.mobile-emoji-drawer .emoji-btn{font-size:24px;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:#ffffff14;border-radius:15px;flex-shrink:0}.mobile-emoji-drawer .emoji-btn:active{background:#fff3;transform:scale(.9)}.hidden{display:none!important}#whiteboard-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172ad9;display:flex;align-items:center;justify-content:center;z-index:10005;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:20px}.whiteboard-content{max-width:900px;width:95%;padding:0;background:#fffffffa;border-radius:24px;overflow:hidden;box-shadow:0 25px 50px -12px #00000080;display:flex;flex-direction:column}.whiteboard-tools{display:flex;align-items:center;gap:15px;padding:12px 20px;background:#f8fafc;border-bottom:1px solid #e2e8f0;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.whiteboard-tools::-webkit-scrollbar{height:4px}.whiteboard-tools::-webkit-scrollbar-thumb{background:#0000001a;border-radius:10px}.tool-group{display:flex;align-items:center;gap:8px;flex-shrink:0}.tool-divider{width:1px;height:30px;background:#e2e8f0}.tool-btn{width:36px;height:36px;border-radius:10px;border:2px solid transparent;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#64748b}.tool-btn:hover{background:#f1f5f9;color:#3b82f6;transform:translateY(-2px)}.tool-btn.active{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.color-btn{padding:0;border:2px solid white;box-shadow:0 0 0 1px #e2e8f0}.color-btn.active{box-shadow:0 0 0 2px #3b82f6;transform:scale(1.1)}.canvas-container{padding:20px;background:#f1f5f9;display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden;height:65vh;min-height:300px}#whiteboard-canvas{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;touch-action:none;display:block;max-width:100%;max-height:70vh;width:auto;height:auto;aspect-ratio:4 / 3;object-fit:contain;cursor:none!important}#brush-size{width:100px;height:6px;-webkit-appearance:none;background:#e2e8f0;border-radius:5px;outline:none}#brush-size::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:#3b82f6;border-radius:50%;cursor:pointer;transition:transform .2s}.canvas-container{position:relative;cursor:none!important}.whiteboard-cursor{position:absolute;pointer-events:none;width:20px;height:20px;transform:translate(-50%,-50%);z-index:1000;display:none}.whiteboard-cursor:before,.whiteboard-cursor:after{content:"";position:absolute;background-color:#444}.whiteboard-cursor:before{top:50%;left:0;width:100%;height:2px;transform:translateY(-50%)}.whiteboard-cursor:after{left:50%;top:0;width:2px;height:100%;transform:translate(-50%)}.whiteboard-cursor.eraser{width:20px;height:20px;border:2px solid #444;background:#64646433;border-radius:4px}.whiteboard-cursor.text-mode{border:none!important;background:none!important}.whiteboard-cursor.text-mode:before{content:"T";font-family:serif;font-weight:700;font-size:16px;color:#444;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:none!important}.whiteboard-cursor.text-mode:after{display:none!important}.whiteboard-cursor.eraser:before,.whiteboard-cursor.eraser:after{display:none}.wb-text-input{position:absolute;background:transparent;border:1px dashed #3b82f6;padding:4px;font-family:inherit;font-size:16px;outline:none;z-index:1001;min-width:50px;color:#000}@media (max-width: 768px){#whiteboard-modal{padding:10px}.whiteboard-content{width:100%;border-radius:16px}.whiteboard-content .modal-header{padding:10px 15px}.whiteboard-content .modal-header h2{font-size:1rem}.whiteboard-tools{padding:8px 12px;gap:10px}.tool-btn{width:32px;height:32px;border-radius:8px}.tool-btn svg{width:18px;height:18px}.tool-divider{height:20px}#brush-size{width:60px}.canvas-container{padding:10px}}#room-welcome-overlay{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);z-index:1000;text-align:center;pointer-events:none;background:#0f172a66;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:30px 60px;border-radius:20px;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 50px #00000080;display:flex;flex-direction:column;gap:8px;animation:welcomeFadeIn .8s cubic-bezier(.16,1,.3,1) forwards}#room-welcome-overlay h2{margin:0;font-size:32px;font-weight:800;color:#fff;text-shadow:0 4px 12px rgba(0,0,0,.3);letter-spacing:-.5px}#room-welcome-overlay p{margin:0;font-size:16px;color:var(--accent-primary);font-weight:600;opacity:.9;text-transform:uppercase;letter-spacing:2px}#room-welcome-overlay.hidden{display:none}@keyframes welcomeFadeIn{0%{opacity:0;transform:translate(-50%,-40%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.welcome-fade-out{animation:welcomeFadeOut .6s cubic-bezier(.16,1,.3,1) forwards!important}@keyframes welcomeFadeOut{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-60%) scale(1.1)}}
