*{margin:0;padding:0;box-sizing:border-box}body{font-family:Google Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#333;line-height:1.6;overflow:hidden;height:100vh}.sidebar-panel{transform:translate(100%);transition:transform .3s ease}.container{width:100vw;height:100vh;display:flex;flex-direction:column;position:relative}.welcome-screen{display:flex;align-items:center;justify-content:center;height:100vh;background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%)}.welcome-card{background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;padding:48px 40px;box-shadow:0 20px 60px #0000001a;text-align:center;max-width:480px;width:90%;border:1px solid rgba(255,255,255,.2)}.welcome-title{font-size:2.5rem;font-weight:600;color:#1a73e8;margin-bottom:12px;background:linear-gradient(135deg,#1a73e8,#4285f4);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.welcome-subtitle{font-size:1.1rem;color:#5f6368;margin-bottom:32px;font-weight:400}.input-container{position:relative;margin-bottom:24px;width:100%;max-width:400px;margin-left:auto;margin-right:auto}.input-container input{width:100%;padding:14px 18px;font-size:16px;border:2px solid #ccc;border-radius:12px;outline:none;transition:border-color .3s,box-shadow .3s;font-family:Google Sans,sans-serif;background-color:#fff;text-align:center}.input-container input:focus{border-color:#1a73e8;box-shadow:0 0 0 3px #1a73e833}.input-container input::placeholder{color:#999;font-weight:400}.pin-input{width:100%;padding:16px 20px;border:2px solid #e8eaed;border-radius:12px;font-size:1.3rem;text-align:center;letter-spacing:4px;font-weight:500;background:rgba(255,255,255,.8);transition:all .3s ease;outline:none}.pin-input:focus{border-color:#1a73e8;box-shadow:0 0 0 4px #1a73e81a;background:white}.btn-group{display:flex;gap:16px;margin-bottom:24px}.divider{position:relative;margin:24px 0;height:1px;background:#e1e5e9;margin-top:50px!important}.join-toggle-text{color:#4285f4;font-size:16px;cursor:pointer;margin-top:16px;transition:color .2s ease}.join-toggle-text:hover{color:#3367d6}.btn{flex:1;padding:14px 24px;border:none;border-radius:12px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;font-family:inherit;position:relative;overflow:hidden}.btn-primary{background:linear-gradient(135deg,#1a73e8,#4285f4);color:#fff;box-shadow:0 4px 12px #1a73e84d}.btn-secondary{background:rgba(95,99,104,.1);color:#5f6368;border:1px solid rgba(95,99,104,.2)}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000026}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.fullwidth{width:100%!important}.error-message{color:#ea4335;font-size:.9rem;margin-top:8px;padding:8px 12px;background:rgba(234,67,53,.1);border-radius:8px;border-left:4px solid #ea4335}.room-screen{height:100vh;background:linear-gradient(135deg,#0f1419 0%,#1a1f2e 100%);position:relative}.main-content{display:flex;align-items:center;justify-content:center;height:calc(100vh - 100px);position:relative}.user-avatar-main{position:relative;display:flex;align-items:center;justify-content:center}.avatar-circle{width:200px;height:200px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:600;color:#fff;position:relative;z-index:2;transition:all .3s ease}.speaking .avatar-circle{animation:pulse 2s infinite;box-shadow:0 0 #667eeab3}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 #667eeab3}50%{transform:scale(1.05);box-shadow:0 0 0 20px #667eea00}to{transform:scale(1);box-shadow:0 0 #667eea00}}.ripple-container{position:absolute;width:300px;height:300px;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1}.ripple{position:absolute;border:2px solid rgba(102,126,234,.6);border-radius:50%;animation:ripple-animation 1.5s infinite;top:50%;left:50%}@keyframes ripple-animation{0%{width:200px;height:200px;top:50px;left:50px;opacity:1}to{width:300px;height:300px;top:0;left:0;opacity:0}}.bottom-controls{position:fixed;bottom:0;left:0;right:0;height:100px;background:rgba(23,28,35,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;gap:24px;padding:0 40px;border-top:1px solid rgba(255,255,255,.1)}.control-btn{width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;position:relative;font-size:20px}.control-btn.mute{background:rgba(255,255,255,.1);color:#fff}.control-btn.mute.active{color:#fff}.control-btn.mutep.active{background:#a9ff98;color:#fff}.control-btn.end-call{background:#ea4335;color:#fff;box-shadow:0 4px 12px #ea43354d}.control-btn:hover{transform:scale(1.1)}.toggle-panel-btn{position:fixed;top:24px;right:24px;width:48px;height:48px;background:rgba(255,255,255,.1);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;z-index:99999}.toggle-panel-btn:hover{background:rgba(255,255,255,.2)}.room-info{position:fixed;top:24px;left:24px;background:rgba(255,255,255,.1);padding:12px 20px;border-radius:12px;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000}.room-pin{font-size:1.1rem;font-weight:600;margin-bottom:4px}.user-count{font-size:.9rem;opacity:.8}.sidebar-panel{position:fixed;top:0;right:0;width:320px;height:100vh;background:rgba(23,28,35,.98);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transform:translate(100%);transition:transform .3s ease;z-index:1001;border-left:1px solid rgba(255,255,255,.1)}.sidebar-panel.open{transform:translate(0)}.sidebar-header{padding:24px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-title{color:#fff;font-size:1.2rem;font-weight:600;margin-bottom:8px}.participant-count{color:#ffffffb3;font-size:.9rem}.participants-list{padding:16px}.participant-item{display:flex;align-items:center;padding:12px 8px;border-radius:12px;margin-bottom:8px;transition:background .3s ease}.participant-item:hover{background:rgba(255,255,255,.05)}.participant-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;margin-right:12px;position:relative}.participant-avatar.speaking{animation:mini-pulse 1s infinite}@keyframes mini-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.participant-info{flex:1}.participant-name{color:#fff;font-weight:500;font-size:.95rem}.participant-status{color:#fff9;font-size:.8rem}.speaking-indicator{width:8px;height:8px;background:#34a853;border-radius:50%;margin-left:8px;opacity:0;transition:opacity .3s ease}.participant-item.speaking .speaking-indicator{opacity:1;animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:.3}}.ptt-container{position:fixed;bottom:120px;left:50%;transform:translate(-50%);background:rgba(255,255,255,.1);padding:12px 20px;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;gap:12px}.toggle-switch{position:relative;width:48px;height:24px;background:rgba(255,255,255,.2);border-radius:12px;cursor:pointer;transition:background .3s ease}.toggle-switch.active{background:#1a73e8}.toggle-slider{position:absolute;top:2px;left:2px;width:20px;height:20px;background:white;border-radius:50%;transition:transform .3s ease}.toggle-switch.active .toggle-slider{transform:translate(24px)}.ptt-label{color:#fff;font-size:.9rem;font-weight:500}.permission-dialog{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dialog-content{background:white;padding:40px;border-radius:20px;max-width:400px;text-align:center;box-shadow:0 20px 60px #0000004d}.dialog-title{font-size:1.4rem;font-weight:600;color:#1a73e8;margin-bottom:16px}.dialog-text{color:#5f6368;margin-bottom:24px;line-height:1.5}@media (max-width: 768px){.welcome-card{padding:32px 24px;margin:20px}.welcome-title{font-size:2rem}.avatar-circle{width:150px;height:150px;font-size:2.5rem}.ripple-container{width:250px;height:250px}.bottom-controls{padding:0 20px;gap:16px}.sidebar-panel{width:280px}.room-info{position:relative;margin:16px;text-align:center}}
