@import"https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,400;0,500;0,600;0,700;0,800;1,500&display=swap";:root{--bg-deep: #08080a;--bg-panel: #131316;--bg-panel-alt: #1a1a1e;--bg-input: #1e1e22;--accent: #3b82f6;--accent-hover: #5c95f8;--accent-glow: #a855f7;--accent-warm: #8a8a92;--text-main: #e6e6e9;--text-dim: #86868f;--success: #57f287;--danger: #ed4245;--idle: #f0a020;--offline: #5c5c66;--radius: 10px;--radius-lg: 16px;--gap: 12px;--border-subtle: rgba(255, 255, 255, .07);--border-hover: rgba(88, 145, 246, .45);--panel-shadow: 0 10px 30px rgba(0, 0, 0, .35);font-family:Figtree,Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:radial-gradient(circle at 12% 8%,rgba(59,130,246,.08),transparent 40%),radial-gradient(circle at 85% 92%,rgba(168,85,247,.07),transparent 45%),var(--bg-deep);color:var(--text-main)}button{cursor:pointer;font-family:inherit;border:none;border-radius:var(--radius)}input,textarea,select{font-family:inherit;background:var(--bg-input);border:1px solid transparent;border-radius:8px;color:var(--text-main);padding:10px 12px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--accent)}a{color:var(--accent-warm);cursor:pointer}.loading-screen{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-dim);font-size:18px}.auth-screen{position:relative;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#08070d}.auth-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;background-image:url(/auth-bg.png);background-size:cover;background-position:center}.auth-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 40%,#08070d00,#08070d40 60%,#08070d8c)}.blob{position:absolute;border-radius:50%;filter:blur(130px);opacity:.28}.blob-1{width:520px;height:520px;top:-160px;left:-140px;background:#2a2e38}.blob-2{width:480px;height:480px;bottom:-180px;right:-120px;background:#1c1c20;opacity:.5}.blob-3{width:380px;height:380px;top:55%;left:55%;transform:translate(-50%,-50%);background:#23262e;opacity:.22}.auth-card{position:relative;z-index:1;background:#0e0e10f0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.05);padding:34px 34px 26px;border-radius:14px;width:420px;display:flex;flex-direction:column;gap:4px;box-shadow:0 25px 70px #000000b3}.auth-title{margin:0 0 6px;font-size:24px;font-weight:700;text-align:center;color:var(--text-main)}.subtitle{margin:0 0 22px;color:var(--text-dim);text-align:center;font-size:14px}.auth-card label{font-size:13px;font-weight:600;color:var(--text-dim);margin-top:14px}.required{color:var(--danger)}.auth-card input{margin-top:6px;padding:11px 12px}.forgot-link{display:inline-block;margin-top:8px;font-size:13px;color:var(--accent-warm)}.primary-btn{margin-top:22px;width:100%;background:var(--accent);color:#fff;padding:13px;font-weight:600;font-size:15px;border-radius:8px;transition:background .15s}.primary-btn:hover{background:var(--accent-hover)}.primary-btn:disabled{opacity:.7;cursor:default}.switch{margin-top:18px;font-size:13px;color:var(--text-dim);text-align:center}.birthdate-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:6px}.birthdate-row select{width:100%}.checkbox-row{display:flex;align-items:flex-start;gap:10px;margin-top:18px;font-size:13px;font-weight:400;color:var(--text-dim);cursor:pointer}.checkbox-row input[type=checkbox]{margin-top:2px;width:16px;height:16px;accent-color:var(--accent);flex-shrink:0}.terms-text{margin:14px 0 0;font-size:12px;color:var(--text-dim);line-height:1.5}.terms-text a{color:var(--accent-hover)}.error{background:#ed424526;color:#ff8a8d;padding:8px 10px;border-radius:8px;font-size:13px}.hint{color:var(--success);font-size:13px;margin-top:6px}.app-shell{height:100%;display:grid;grid-template-columns:76px 280px 1fr;gap:var(--gap);padding:var(--gap)}.server-rail{background:var(--bg-deep);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 0;overflow-y:auto;transition:border-color .2s ease}.server-rail:hover{border-color:var(--border-hover)}.server-divider{width:32px;height:2px;background:#ffffff14;border-radius:1px;margin:2px 0 4px;flex-shrink:0}.server-list{display:flex;flex-direction:column;gap:8px;align-items:center}.server-icon{width:48px;height:48px;border-radius:50%;background:var(--bg-panel-alt);color:var(--text-main);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;position:relative;transition:border-radius .2s ease,background .2s ease}.server-icon:hover,.server-icon.active{border-radius:16px}.server-icon.home{background:var(--accent);color:#fff}.server-icon.add-server{background:var(--bg-panel-alt);color:var(--success);margin-top:2px}.server-icon.add-server:hover{background:var(--success);color:#08350f}.server-icon:before{content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:4px;height:0;border-radius:0 4px 4px 0;background:#fff;transition:height .15s}.server-icon.active:before{height:22px}.sidebar{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--panel-shadow);transition:border-color .2s ease}.sidebar:hover{border-color:var(--border-hover)}.sidebar-header{padding:18px 16px 8px}.sidebar-header h2{margin:0;font-size:18px;letter-spacing:.2px;color:var(--text-main)}.dm-search{margin:12px 10px 8px;padding:0 10px;height:34px;display:flex;align-items:center;gap:8px;background:var(--bg-input);border-radius:6px;color:var(--text-dim);flex-shrink:0}.dm-search input{flex:1;background:transparent;border:none;padding:0;font-size:13px}.nav-list{display:flex;flex-direction:column;padding:2px 8px;gap:2px;flex-shrink:0}.nav-row{display:flex;align-items:center;gap:12px;background:transparent;color:var(--text-dim);padding:8px;border-radius:6px;font-size:14px;font-weight:500;text-align:left}.nav-row:hover,.nav-row.active{background:var(--bg-panel-alt);color:var(--text-main)}.nav-row span:first-of-type{flex:1}.nav-badge{background:var(--danger);color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 5px}.dm-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 4px;color:var(--text-dim);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.icon-btn{background:transparent;color:var(--text-dim);width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:4px}.icon-btn:hover{color:var(--text-main);background:var(--bg-panel-alt)}.sidebar-tabs{display:flex;gap:4px;padding:0 10px 10px;background:var(--bg-panel-alt);margin:0 10px 6px;border-radius:10px}.sidebar-tabs button{flex:1;background:transparent;color:var(--text-dim);padding:8px 4px;font-size:12px;margin:3px 0;border-radius:8px;transition:background .12s,color .12s}.sidebar-tabs button.active{background:var(--accent);color:#fff}.sidebar-body{flex:1;overflow-y:auto;padding:4px 8px}.friend-list{list-style:none;margin:0;padding:0}.friend-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;cursor:pointer;transition:background .12s}.friend-item:hover{background:var(--bg-panel-alt)}.friend-item.active{background:var(--bg-panel-alt);box-shadow:inset 3px 0 0 var(--accent)}.friend-info{flex:1;min-width:0}.friend-name{font-weight:600;font-size:14px}.friend-status{font-size:12px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty{color:var(--text-dim);font-size:13px;padding:10px}.avatar{border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;position:relative;flex-shrink:0}.avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.status-dot{position:absolute;bottom:-1px;right:-1px;width:10px;height:10px;border-radius:50%;border:2px solid var(--bg-panel)}.status-dot.online{background:var(--success)}.status-dot.idle{background:var(--idle)}.status-dot.dnd{background:var(--danger)}.status-dot.offline{background:var(--offline)}.avatar-clickable{cursor:pointer;transition:opacity .15s ease}.avatar-clickable:hover{opacity:.85}.avatar-clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.user-profile-card{position:fixed;width:260px;background:var(--bg-panel-alt);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);box-shadow:0 16px 44px #0000008c;overflow:hidden;z-index:60}.user-profile-card-close{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;background:#00000059;color:#fff;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;z-index:1}.user-profile-card-close:hover{background:#0000008c}.user-profile-card-banner{height:58px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-glow) 100%)}.user-profile-card-body{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 16px 16px;margin-top:-40px}.user-profile-card-body .avatar{border:4px solid var(--bg-panel-alt);margin-bottom:10px}.user-profile-card-name{font-weight:700;font-size:16px;color:var(--text-main)}.user-profile-card-tag{font-size:12.5px;color:var(--text-dim);margin-top:2px}.user-profile-card-status{font-size:12.5px;color:var(--text-main);margin-top:10px}.user-profile-card-bio{font-size:12.5px;line-height:1.5;color:var(--text-main);white-space:pre-wrap;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08);width:100%}.request-item{display:flex;align-items:center;gap:8px;padding:6px 8px;font-size:13px}.request-item span{flex:1}.request-actions{display:flex;gap:4px}.request-actions button,.search-results button{padding:5px 8px;font-size:12px;color:#fff}.request-actions .ok{background:var(--success);color:#08350f}.request-actions .no{background:var(--danger)}.pending-tag{color:var(--text-dim);font-size:11px;flex:none!important}.add-friend{padding:6px 8px;display:flex;flex-direction:column;gap:2px}.add-friend form{display:flex;flex-direction:column;gap:4px}.add-friend button[type=submit]{margin-top:8px;background:var(--accent);color:#fff;padding:9px;font-weight:600}.search-block{margin-top:20px}.search-results{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:4px}.search-results li{display:flex;align-items:center;gap:8px;font-size:13px}.search-results li span{flex:1}.search-results button{background:var(--accent);color:#fff}.voice-status-bar{margin:0 6px 6px;background:var(--bg-panel-alt);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}.voice-status-top{display:flex;align-items:center;gap:8px;width:100%;background:transparent;padding:8px 10px;text-align:left;border-radius:0}.voice-status-top:hover{background:#ffffff0a}.voice-status-dot{flex-shrink:0;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#57f28726;color:var(--success)}.voice-status-dot.connecting{background:#f0a02026;color:var(--idle);animation:voice-status-pulse 1.4s ease-in-out infinite}@keyframes voice-status-pulse{0%,to{opacity:1}50%{opacity:.4}}.voice-status-text{min-width:0;display:flex;flex-direction:column}.voice-status-title{font-size:12.5px;font-weight:700;color:var(--success);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voice-status-title.connecting{color:var(--idle)}.voice-status-sub{font-size:11.5px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voice-status-controls{display:flex;align-items:center;gap:4px;padding:0 8px 8px}.voice-status-btn{flex:1;height:30px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:var(--bg-input);color:var(--text-main)}.voice-status-btn:hover{background:#26262b}.voice-status-btn.toggled{background:var(--text-main);color:var(--bg-deep)}.voice-status-btn.toggled.active{background:var(--accent);color:#fff}.voice-status-btn.hangup{background:var(--danger);color:#fff}.voice-status-btn.hangup:hover{background:#f2585b}.voice-status-btn.reconnect{background:var(--success);color:#08350f}.voice-status-btn.reconnect:hover{background:#6bf59a}.voice-status-btn:disabled{opacity:.6;cursor:default}.user-bar-wrap{position:relative;margin:0 6px 6px}.user-bar-wrap .user-bar{margin:0}.user-bar{background:var(--bg-panel-alt);border-radius:8px;display:flex;align-items:center;gap:4px;padding:6px}.user-popover{position:absolute;bottom:calc(100% + 8px);left:0;width:280px;background:var(--bg-panel-alt);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 16px 44px #0000008c;border:1px solid var(--border-subtle);z-index:40}.user-popover-banner{height:58px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-glow) 100%)}.user-popover-body{padding:0 14px 12px;margin-top:-34px}.user-popover-avatar-row{margin-bottom:6px}.user-popover-avatar-row .avatar{border:4px solid var(--bg-panel-alt)}.user-popover-name{font-weight:700;font-size:16px;color:var(--text-main)}.user-popover-tag{font-size:12px;color:var(--text-dim);margin-bottom:6px}.user-popover-recado{display:block;width:100%;background:transparent;border:1px solid transparent;border-radius:6px;padding:5px 7px;margin:2px 0 4px -7px;font-size:12.5px;color:var(--text-main)}.user-popover-recado::placeholder{color:var(--text-dim)}.user-popover-recado:hover{background:#ffffff0d}.user-popover-recado:focus{background:var(--bg-input);border-color:var(--accent)}.user-popover-bio{font-size:12.5px;line-height:1.5;color:var(--text-main);white-space:pre-wrap;padding-top:8px;margin-top:4px;border-top:1px solid rgba(255,255,255,.08)}.user-popover-divider{height:1px;background:#ffffff14;margin:10px 0}.user-popover-row{display:flex;align-items:center;gap:8px;width:100%;background:#00000038;color:var(--text-main);padding:9px 10px;border-radius:6px;font-size:13px;font-weight:600;text-align:left;margin-bottom:4px}.user-popover-row:hover{background:#ffffff12}.user-popover-row .chevron{margin-left:auto;color:var(--text-dim);font-size:16px;transition:transform .15s}.user-popover-row .chevron.open{transform:rotate(90deg)}.status-dot.inline{position:static;border:none;width:10px;height:10px;flex-shrink:0}.user-popover-submenu{margin:-2px 0 6px}.status-option{display:flex;align-items:center;gap:12px;background:transparent;padding:8px 10px;border-radius:6px;text-align:left;width:100%;color:var(--text-main);transition:background .12s}.status-option:hover{background:#ffffff0d}.status-option.selected{background:#3b82f62e}.status-option .status-dot{position:static;border:none;width:12px;height:12px;flex-shrink:0}.status-option-text{display:flex;flex-direction:column;gap:1px;min-width:0}.status-option-label{font-size:14px;font-weight:600}.status-option-desc{font-size:12px;color:var(--text-dim)}.user-bar-identity{display:flex;align-items:center;gap:8px;background:transparent;padding:2px;border-radius:6px;flex:1;min-width:0;text-align:left}.user-bar-identity:hover{background:#ffffff0a}.user-bar-text{min-width:0}.user-bar-name{font-weight:600;font-size:14px;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-bar-sub{font-size:11.5px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-bar-controls{display:flex;align-items:center;gap:2px;flex-shrink:0}.user-bar-controls .icon-btn{width:30px;height:30px}.main-panel{display:flex;flex-direction:column;min-width:0;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--panel-shadow);transition:border-color .2s ease}.main-panel:hover{border-color:var(--border-hover)}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-dim);text-align:center}.chat-panel{display:flex;flex-direction:column;height:100%}.chat-header{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid rgba(255,255,255,.06)}.call-buttons{margin-left:auto;display:flex;gap:8px}.call-buttons button{background:var(--bg-panel-alt);color:var(--text-dim);width:34px;height:34px;display:flex;align-items:center;justify-content:center;padding:0}.call-buttons button:hover{background:var(--accent);color:#fff}.chat-messages{flex:1;overflow-y:auto;padding:18px 18px 8px;display:flex;flex-direction:column}.chat-intro{padding:24px 4px 20px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.chat-intro h3{margin:6px 0 0;font-size:20px}.chat-intro p{margin:0;color:var(--text-dim);font-size:13px}.message-group{display:flex;gap:14px;padding:6px;border-radius:6px}.message-group:hover{background:#ffffff05}.message-avatar{flex-shrink:0;padding-top:2px}.message-content{flex:1;min-width:0}.message-meta{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}.message-author{font-weight:600;font-size:15px;color:var(--text-main)}.message-author.mine{color:var(--accent-hover)}.message-time{font-size:11px;color:var(--text-dim)}.message-line{font-size:14.5px;line-height:1.5;color:var(--text-main);word-wrap:break-word;white-space:pre-wrap}.typing-indicator{color:var(--text-dim);font-size:12px;font-style:italic;padding:4px 8px}.chat-input{display:flex;align-items:center;gap:10px;padding:14px 18px 18px}.chat-input input{flex:1;background:var(--bg-input);border-radius:20px;padding:12px 16px}.send-btn{background:var(--accent);color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .12s}.send-btn:hover{background:var(--accent-hover)}.panel,.profile-panel{padding:24px;max-width:480px}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.ghost{background:transparent;color:var(--text-dim)}.ghost:hover{color:var(--text-main)}.profile-form{display:flex;flex-direction:column;gap:4px}.profile-preview{display:flex;align-items:center;gap:14px;margin-bottom:18px}.avatar-upload{position:relative;padding:0;background:transparent;border-radius:50%;width:80px;height:80px;flex-shrink:0;overflow:hidden}.avatar-upload-overlay{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#00000073;display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transition:opacity .15s}.avatar-upload:hover .avatar-upload-overlay{opacity:1}.link-btn{background:transparent;color:var(--accent);padding:2px 0;font-size:12px;text-align:left}.link-btn:hover{color:var(--accent-hover)}.label-note{color:var(--text-dim);font-weight:400;text-transform:none;font-size:11px}.profile-form label{font-size:12px;color:var(--text-dim);margin-top:10px}.profile-form button[type=submit]{margin-top:20px;background:var(--accent);color:#fff;padding:11px;font-weight:600}.color-picker{display:flex;gap:8px;margin-top:4px}.color-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent}.color-swatch.selected{border-color:#fff}.profile-danger-zone{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.06)}.logout-btn{background:transparent;color:var(--danger);border:1px solid rgba(237,66,69,.4);padding:9px 14px;font-weight:600;font-size:13px}.logout-btn:hover{background:#ed42451f}.call-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0814eb;display:flex;align-items:center;justify-content:center;z-index:50}.call-card{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:20px;padding:32px;width:min(560px,90vw);display:flex;flex-direction:column;align-items:center;gap:24px;box-shadow:var(--panel-shadow)}.call-avatar-block{text-align:center}.call-avatar-block h2{margin:14px 0 4px}.call-status{color:var(--text-dim)}.call-controls{display:flex;gap:12px}.call-btn{padding:12px 20px;background:var(--bg-panel-alt);color:var(--text-main);font-weight:600;display:flex;align-items:center;gap:8px}.call-btn:hover{background:#26262b}.call-btn.accept{background:var(--success);color:#08350f}.call-btn.accept:hover{background:#6bf59a}.call-btn.decline{background:var(--danger);color:#fff}.call-btn.decline:hover{background:#f2585b}.video-grid{position:relative;width:100%;aspect-ratio:16 / 10;background:#000;border-radius:14px;overflow:hidden}.remote-video{width:100%;height:100%;object-fit:cover}.local-video{position:absolute;bottom:12px;right:12px;width:120px;border-radius:10px;border:2px solid var(--bg-panel)}.screen-badge{position:absolute;top:10px;left:10px;background:#0009;color:#fff;font-size:12px;padding:5px 10px;border-radius:6px}.call-shell{position:relative;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--panel-shadow);width:min(920px,94vw);height:min(640px,88vh);display:flex;flex-direction:column;overflow:hidden}.call-topbar{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.call-topbar-name{font-weight:600;font-size:14px;color:var(--text-main)}.call-topbar-status{margin-left:auto;font-size:12.5px;color:var(--text-dim)}.call-error{margin:10px 16px 0;background:#ed424526;color:#ff8a8d;padding:8px 10px;border-radius:8px;font-size:13px;flex-shrink:0}.remote-audio-el{display:none}.call-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:24px;position:relative}.call-waiting{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.call-waiting h2{margin:14px 0 0;font-size:20px;color:var(--text-main)}.call-waiting-sub{margin:0;color:var(--text-dim);font-size:14px}.call-stage:has(.stage-tiles){align-items:stretch;flex-direction:column;gap:14px}.stage-tiles{flex:1;min-height:0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:12px}.stage-tile{position:relative;background:#000;border-radius:12px;overflow:hidden;min-height:0}.stage-video{width:100%;height:100%;object-fit:contain;background:#000}.stage-tile-label{position:absolute;left:10px;bottom:10px;background:#0009;color:#fff;font-size:12px;padding:5px 10px;border-radius:6px}.participant-tiles{flex-shrink:0;display:grid;grid-template-columns:1fr 1fr;gap:14px;width:100%;height:100%}.participant-tiles.compact{height:96px;grid-template-columns:repeat(auto-fit,minmax(140px,160px));justify-content:center}.participant-tile{position:relative;background:var(--bg-panel-alt);border:2px solid transparent;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:0;transition:border-color .12s}.participant-tile.speaking{border-color:var(--success)}.tile-video{width:100%;height:100%;object-fit:cover}.tile-video.mirrored{transform:scaleX(-1)}.tile-avatar-wrap{display:flex;align-items:center;justify-content:center}.tile-footer{position:absolute;left:8px;bottom:8px;display:flex;align-items:center;gap:6px;background:#0000008c;padding:4px 8px;border-radius:6px;max-width:calc(100% - 16px)}.tile-name{font-size:12.5px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-badges{display:flex;align-items:center;gap:4px;flex-shrink:0}.tile-badge{width:18px;height:18px;border-radius:50%;background:var(--danger);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.call-controlbar{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;border-top:1px solid var(--border-subtle)}.call-controlbar .call-btn{width:48px;height:48px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;background:var(--bg-panel-alt);color:var(--text-main)}.call-controlbar .call-btn:hover{background:#26262b}.call-controlbar .call-btn.toggled{background:var(--text-main);color:var(--bg-deep)}.call-controlbar .call-btn.toggled:hover{background:#cfced6}.call-controlbar .call-btn.toggled.active{background:var(--accent);color:#fff}.call-controlbar .call-btn.toggled.active:hover{background:var(--accent-hover)}.call-controlbar .call-btn.accept{background:var(--success);color:#08350f;width:56px;height:56px}.call-controlbar .call-btn.accept:hover{background:#6bf59a}.call-controlbar .call-btn.decline{background:var(--danger);color:#fff}.call-controlbar .call-btn.decline:hover{background:#f2585b}@media (max-width: 640px){.call-shell{width:100vw;height:100vh;border-radius:0}.participant-tiles{grid-template-columns:1fr}}@media (max-width: 720px){.app-shell{grid-template-columns:1fr}.sidebar,.server-rail{display:none}}.call-inline-panel{border-bottom:1px solid rgba(255,255,255,.06);background:var(--bg-panel-alt);flex-shrink:0}.call-inline-topbar{display:flex;align-items:center;gap:10px;padding:10px 16px}.call-inline-topbar-name{font-weight:600;font-size:13.5px;color:var(--text-main)}.call-inline-topbar-status{margin-left:auto;font-size:12px;color:var(--text-dim)}.call-inline-stage{padding:0 16px 14px}.call-inline-waiting{display:flex;align-items:center;gap:12px;padding:4px 0 14px}.call-inline-waiting h4{margin:0;font-size:15px;color:var(--text-main)}.call-inline-waiting p{margin:2px 0 0;font-size:12.5px;color:var(--text-dim)}.call-inline-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;height:100%}.participant-tile{cursor:pointer}.call-inline-focus-layout{height:100%;display:flex;flex-direction:column;gap:8px}.call-inline-focus-main{flex:1;min-height:0;position:relative;background:#000;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:pointer}.call-inline-focus-main .tile-video{width:100%;height:100%}.call-inline-pip-strip{flex-shrink:0;display:flex;gap:8px;height:64px;overflow-x:auto}.call-inline-pip-tile{position:relative;width:96px;flex-shrink:0;background:var(--bg-panel-alt);border:2px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer;display:flex;align-items:center;justify-content:center}.call-inline-pip-tile.speaking{border-color:var(--success)}.call-inline-pip-tile .tile-video{width:100%;height:100%;object-fit:cover}.call-inline-pip-tile .tile-footer{padding:2px 5px}.call-inline-pip-tile .tile-name{font-size:10px}.call-inline-resize-handle{height:8px;margin-top:-2px;cursor:ns-resize;position:relative;flex-shrink:0}.call-inline-resize-handle:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:36px;height:4px;border-radius:2px;background:#ffffff26;transition:background .12s}.call-inline-resize-handle:hover:after{background:#ffffff59}.call-inline-controlbar{display:flex;justify-content:center;gap:10px;padding:10px 16px 14px}.call-inline-controlbar .call-btn{width:38px;height:38px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;background:var(--bg-input);color:var(--text-main)}.call-inline-controlbar .call-btn:hover{background:#26262b}.call-inline-controlbar .call-btn.toggled{background:var(--text-main);color:var(--bg-deep)}.call-inline-controlbar .call-btn.toggled.active{background:var(--accent);color:#fff}.call-inline-controlbar .call-btn.decline{background:var(--danger);color:#fff}.call-inline-controlbar .call-btn.accept{background:var(--success);color:#08350f}.audio-settings-wrap{position:relative;display:flex}.audio-settings-popover{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);width:240px;background:var(--bg-panel-alt);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:0 16px 44px #0000008c;padding:12px;z-index:60}.audio-settings-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:600;color:var(--text-main)}.audio-settings-divider{height:1px;background:#ffffff14;margin:10px 0}.audio-settings-hint{font-size:11.5px;color:var(--text-dim);margin-top:4px}.audio-settings-field{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--text-dim);margin-top:10px}.audio-settings-field select{background:var(--bg-input);color:var(--text-main);border:1px solid var(--border-subtle);border-radius:6px;padding:6px 8px;font-size:12.5px;font-weight:500}.audio-settings-field select:disabled{opacity:.5;cursor:not-allowed}.audio-settings-switch{position:relative;width:34px;height:20px;border-radius:999px;background:var(--bg-input);flex-shrink:0;padding:0;transition:background .15s}.audio-settings-switch.on{background:var(--accent)}.audio-settings-switch:disabled{opacity:.5;cursor:not-allowed}.audio-settings-switch-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s}.audio-settings-switch.on .audio-settings-switch-knob{transform:translate(14px)}.call-floating-widget{position:fixed;right:20px;bottom:20px;width:260px;background:var(--bg-panel-alt);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:0 16px 44px #0000008c;z-index:55;overflow:hidden}.call-floating-header{display:flex;align-items:center;gap:10px;padding:12px;cursor:pointer}.call-floating-header:hover{background:#ffffff0a}.call-floating-name{font-weight:600;font-size:13.5px;color:var(--text-main)}.call-floating-status{font-size:11.5px;color:var(--text-dim)}.call-floating-controls{display:flex;justify-content:center;gap:8px;padding:0 12px 12px}.call-floating-controls .call-btn{width:34px;height:34px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;background:var(--bg-input);color:var(--text-main)}.call-floating-controls .call-btn:hover{background:#26262b}.call-floating-controls .call-btn.toggled{background:var(--text-main);color:var(--bg-deep)}.call-floating-controls .call-btn.decline{background:var(--danger);color:#fff}.call-floating-controls .call-btn.accept{background:var(--success);color:#08350f}.loading-logo{width:64px;height:64px;margin-bottom:12px}.sidebar-logo{display:flex;align-items:center;gap:8px;padding:12px 12px 4px;font-weight:600;font-size:15px}.sidebar-logo img{width:24px;height:24px;border-radius:6px}.call-inline-stage video,.call-stage video,.participant-tile video,.stage-tile video,.tile-video,.stage-video,.remote-video,.local-video,.call-inline-focus-main video,.call-inline-pip-tile video{width:100%!important;height:100%!important;object-fit:contain!important;background:#000}.screen-share-popup{position:fixed;top:16px;right:16px;width:240px;aspect-ratio:16 / 9;background:#000;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border-subtle);box-shadow:var(--panel-shadow);cursor:pointer;z-index:200;transition:transform .15s ease}.screen-share-popup:hover{transform:scale(1.02)}.screen-share-popup-video{width:100%;height:100%;object-fit:contain;background:#000;display:block}.screen-share-popup-label{position:absolute;left:0;right:0;bottom:0;padding:5px 8px;font-size:11px;color:var(--text-main);background:linear-gradient(to top,rgba(0,0,0,.8),transparent)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:300}.modal-card{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--panel-shadow);width:380px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);overflow-y:auto;padding:18px 20px}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.modal-header h3{margin:0;font-size:17px}.group-header{margin-top:4px}.group-friend-picker{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;margin-top:6px}.group-friend-option{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:8px;cursor:pointer;font-size:13.5px}.group-friend-option:hover{background:#ffffff0a}.group-friend-option input[type=checkbox]{accent-color:var(--accent)}.group-member-stack{display:flex;align-items:center;margin-left:10px}.group-member-stack .avatar{margin-left:-8px;border:2px solid var(--bg-panel)}.group-member-stack .avatar:first-child{margin-left:0}.group-member-more{margin-left:-6px;background:var(--bg-input);border:2px solid var(--bg-panel);border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--text-dim)}.group-add-picker{display:flex;flex-direction:column;gap:2px;padding:8px 16px;border-bottom:1px solid var(--border-subtle)}.group-add-picker-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:8px;background:transparent;color:var(--text-main);font-size:13px;text-align:left}.group-add-picker-row:hover{background:#ffffff0d}.group-add-picker-row span{flex:1}
