:root{--primary: #2A3447;--primary-dark: #1A2332;--primary-light: #3D4A5C;--secondary: #667eea;--secondary-dark: #764ba2;--success: #4CAF50;--error: #FF3B30;--warning: #FF9800;--info: #2196F3;--background: #f0f2f5;--surface: #FFFFFF;--text-primary: #1A1A1A;--text-secondary: #6B7280;--text-light: #9CA3AF;--border: #E8E9EA;--border-light: #F0F0F0;--white: #FFFFFF;--black: #000000;--incoming-msg: #FFFFFF;--outgoing-msg: #d9fdd3;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--font-family: "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif}@media(prefers-color-scheme:dark){:root{--primary: #202c33;--primary-dark: #111b21;--primary-light: #2a3942;--background: #111b21;--surface: #202c33;--text-primary: #e9edef;--text-secondary: #8696a0;--text-light: #667781;--border: #2a3942;--border-light: #222e35;--incoming-msg: #202c33;--outgoing-msg: #005c4b;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4)}}*{box-sizing:border-box}body{margin:0;font-family:var(--font-family);background-color:var(--background);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100vh;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0000004d}@media(prefers-color-scheme:dark){::-webkit-scrollbar-thumb{background:#ffffff1a}::-webkit-scrollbar-thumb:hover{background:#ffffff26}}.app-container{display:flex;height:100vh;width:100vw;overflow:hidden;position:relative}@media(min-width:1600px){.app-container{max-width:1600px;margin:19px auto 0;box-shadow:0 0 20px #0000001a;height:calc(100vh - 38px);border-radius:4px;overflow:hidden}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .3s ease-out forwards}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flex-center{display:flex;align-items:center;justify-content:center}@keyframes highlight-blink{0%{background-color:transparent}50%{background-color:#06cf9c4d}to{background-color:transparent}}.highlight-message{animation:highlight-blink 1s ease-in-out}.call-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center}.call-screen{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;position:relative}.call-avatar-container{margin-bottom:30px}.call-avatar{width:120px;height:120px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:600;overflow:hidden;box-shadow:0 8px 32px #0003}.call-avatar.large{width:160px;height:160px;font-size:64px}.call-avatar img{width:100%;height:100%;object-fit:cover}.call-avatar.pulse{animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #ffffffb3}70%{box-shadow:0 0 0 20px #fff0}to{box-shadow:0 0 #fff0}}.call-info{text-align:center;margin-bottom:60px}.caller-name{font-size:32px;font-weight:600;margin:0 0 10px}.call-type{font-size:18px;opacity:.9;margin:0}.call-duration{font-size:20px;opacity:.9;margin:10px 0 0}.group-call-text{font-size:16px;opacity:.8;margin:10px 0 0}.call-controls{display:flex;gap:60px;align-items:center;justify-content:center}.control-item{display:flex;flex-direction:column;align-items:center;gap:12px}.control-item span{font-size:14px;font-weight:500}.control-button{width:64px;height:64px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #0003}.control-button:hover{transform:scale(1.05)}.control-button:active{transform:scale(.95)}.decline-button{background:#ef5350;color:#fff}.answer-button{background:#4caf50;color:#fff}.active-call-controls{position:absolute;bottom:40px;left:50%;transform:translate(-50%);display:flex;gap:20px;padding:20px;background:#0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50px}.active-call-controls .control-button{width:56px;height:56px;background:#fff3;color:#fff;position:relative}.active-call-controls .control-button.active{background:#ef5350}.active-call-controls .end-call-button{background:#ef5350;width:64px;height:64px}.audio-indicator{position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:40px;height:4px;background:#fff3;border-radius:2px;overflow:hidden}.audio-wave{width:100%;background:#4caf50;border-radius:2px;transition:height .1s ease,opacity .1s ease;animation:pulse-wave .3s ease-in-out infinite alternate}@keyframes pulse-wave{0%{transform:scaleY(.8)}to{transform:scaleY(1)}}.video-container{width:100%;height:100%;position:relative;background:#000}.main-video{width:100%;height:100%;position:relative}.remote-video,.local-video-main{width:100%;height:100%;object-fit:contain;background:#000}.video-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.video-disabled-overlay{position:absolute;inset:0;z-index:10}.placeholder-name{font-size:24px;font-weight:600;margin:20px 0 10px}.placeholder-status{font-size:16px;opacity:.9}.pip-video{position:absolute;top:20px;right:20px;width:160px;height:200px;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #0006;cursor:pointer;transition:transform .2s ease;background:#000}.pip-video:hover{transform:scale(1.05)}.local-video-pip,.remote-video-pip{width:100%;height:100%;object-fit:cover}.pip-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.pip-placeholder .call-avatar.small{width:60px;height:60px;font-size:24px}.call-info-overlay{position:absolute;top:20px;left:20px;background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px 20px;border-radius:12px}.call-info-overlay h3{margin:0 0 4px;font-size:18px;font-weight:600}.call-info-overlay p{margin:0;font-size:14px;opacity:.9}.connecting-overlay{position:absolute;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.connecting-overlay p{font-size:20px;font-weight:500}.voice-call-view{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}@media(max-width:768px){.call-avatar{width:100px;height:100px;font-size:40px}.call-avatar.large{width:140px;height:140px;font-size:56px}.caller-name{font-size:28px}.call-type{font-size:16px}.control-button{width:56px;height:56px}.pip-video{width:120px;height:160px;top:15px;right:15px}.call-info-overlay{top:15px;left:15px;padding:10px 16px}.call-info-overlay h3{font-size:16px}.call-info-overlay p{font-size:12px}.active-call-controls{bottom:30px;gap:15px;padding:15px}.active-call-controls .control-button{width:48px;height:48px}.active-call-controls .end-call-button{width:56px;height:56px}}.call-type-switch-prompt{position:absolute;inset:0;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.prompt-content{background:#ffffff1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:40px;text-align:center;max-width:400px;box-shadow:0 8px 32px #0006;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.prompt-icon{margin-bottom:20px;animation:scaleIn .4s ease}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.prompt-title{font-size:24px;font-weight:600;margin:0 0 12px;color:#fff}.prompt-message{font-size:16px;opacity:.9;margin:0 0 30px;color:#fff}.prompt-buttons{display:flex;gap:16px;justify-content:center}.prompt-button{padding:12px 32px;border-radius:24px;border:none;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:120px}.prompt-button:hover{transform:scale(1.05)}.prompt-button:active{transform:scale(.95)}.prompt-button.decline{background:#ef5350e6;color:#fff}.prompt-button.decline:hover{background:#ef5350}.prompt-button.accept{background:#00a884e6;color:#fff}.prompt-button.accept:hover{background:#00a884}@media(max-width:768px){.prompt-content{padding:30px 20px;max-width:90%}.prompt-title{font-size:20px}.prompt-message{font-size:14px}.prompt-buttons{flex-direction:column;gap:12px}.prompt-button{width:100%}}
