:root{--color-primary-50:#eef2ff;--color-primary-300:#a5b4fc;--color-primary-400:#818cf8;--color-primary-500:#6366f1;--color-primary-600:#5b54e6;--color-primary-700:#4f46e5;--color-accent:var(--color-primary-500);--color-accent-hover:var(--color-primary-400);--color-accent-active:var(--color-primary-600);--color-accent-soft:#6366f129;--gradient-primary:linear-gradient(135deg,#6366f1,#8b5cf6);--gradient-logo:linear-gradient(135deg,#3b82f6,#8b5cf6 50%,#ec4899);--gradient-hero:linear-gradient(135deg,#6366f1,#8b5cf6 45%,#ec4899);--gradient-warm:linear-gradient(135deg,#f59e0b,#ef4444 50%,#ec4899);--color-bg:#0b0b12;--color-bg-elevated:#101019;--color-bg-subtle:#0b0b12;--color-surface-1:#16161f;--color-surface-2:#1e1e2a;--color-surface-3:#282836;--color-border:#ffffff14;--color-border-strong:#ffffff29;--color-overlay:#06060cb8;--glass-bg:#16161fb8;--glass-border:#ffffff1a;--glass-blur:20px;--color-text:#f4f4f8;--color-text-on-light:#16161f;--color-text-muted:#f4f4f8a3;--color-text-subtle:#f4f4f86b;--color-success:#34d399;--color-warning:#fbbf24;--color-danger:#f43f5e;--color-danger-hover:#fb5a72;--color-info:#60a5fa;--focus-ring:0 0 0 3px var(--color-accent-soft);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-mono:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--font-medium:500;--font-semibold:600;--font-bold:700;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 16px #0006;--shadow-lg:0 12px 40px #00000080;--shadow-glow:0 8px 32px #6366f159;--transition-fast:0.15s cubic-bezier(0.4,0,0.2,1);--transition-base:0.22s cubic-bezier(0.4,0,0.2,1);--transition-slow:0.32s cubic-bezier(0.4,0,0.2,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--z-base:1;--z-controls:100;--z-overlay:1000;--z-modal:1100;--z-toast:1200;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg-subtle);font-family:var(--font-sans);margin:0}code{font-family:var(--font-mono)}#root{min-height:100vh;min-height:100dvh}.ui-modal-overlay{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#0009;inset:0;position:fixed;z-index:var(--z-overlay)}.ui-modal-content{align-items:center;display:flex;inset:0;justify-content:center;padding:var(--space-4);position:fixed;z-index:var(--z-modal)}.ui-modal-panel{background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);color:var(--color-text);max-height:min(85dvh,calc(100dvh - var(--space-6)*2));overflow-y:auto;padding:var(--space-6);position:relative;width:min(440px,100%)}.ui-modal-title{font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0 0 var(--space-2)}.ui-modal-description{color:var(--color-text-muted);font-size:var(--text-sm);margin:0 0 var(--space-4)}.ui-modal-close{align-items:center;background:var(--color-surface-2);border:none;border-radius:var(--radius-full);color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:32px;justify-content:center;position:absolute;right:var(--space-4);top:var(--space-4);transition:background var(--transition-fast),color var(--transition-fast);width:32px}.ui-modal-close:hover{background:var(--color-surface-3);color:var(--color-text)}.ui-modal-close:focus-visible,.ui-modal-content :focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ui-visually-hidden{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.qr-modal-panel{text-align:center}.qr-modal-panel .ui-modal-title{color:var(--color-success)}.qr-code-container{background:#fff;border-radius:var(--radius-md);display:inline-block;margin-bottom:var(--space-6);padding:var(--space-5)}.meeting-id-display{background:var(--color-surface-2);border-radius:var(--radius-md);margin-bottom:var(--space-5);padding:var(--space-4)}.meeting-id-label{color:var(--color-text-subtle);display:block;font-size:var(--text-xs);letter-spacing:1px;margin-bottom:var(--space-1);text-transform:uppercase}.meeting-id-value{color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-lg);font-weight:var(--font-semibold);word-break:break-all}.qr-modal-actions{display:flex;gap:var(--space-3);margin-bottom:var(--space-5)}.qr-btn{border:none;border-radius:var(--radius-md);cursor:pointer;flex:1 1;font-size:var(--text-base);font-weight:var(--font-semibold);padding:var(--space-4) var(--space-5);transition:background var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base)}.qr-btn.copy-btn{background:var(--color-surface-2);border:1px solid var(--color-border-strong);color:var(--color-text)}.qr-btn.copy-btn:hover{background:var(--color-surface-3)}.qr-btn.join-btn{background:var(--gradient-ui);color:#fff}.qr-btn.join-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.qr-modal-note{color:var(--color-text-subtle);font-size:var(--text-sm);margin:0}@media (max-width:480px){.qr-code-container svg{height:160px!important;width:160px!important}.qr-modal-actions{flex-direction:column}}.logo-container{align-items:center;display:flex;gap:12px}.logo-icon{flex-shrink:0}.logo-text{display:flex;flex-direction:column;line-height:1.2}.logo-name{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#8b5cf6 50%,#ec4899);-webkit-background-clip:text;background-clip:text;font-weight:700}.logo-tagline{color:#fff9;font-size:.7em;font-weight:400}.logo-small .logo-name{font-size:1rem}.logo-small .logo-tagline{display:none}.logo-medium .logo-name{font-size:1.5rem}.logo-large .logo-name{font-size:2rem}.logo-large .logo-tagline{font-size:.8rem}.logo-container:hover .logo-icon{transform:scale(1.05);transition:transform .2s ease}.logo-icon{transition:transform .2s ease}.home-page{align-items:center;background:radial-gradient(900px 600px at 20% -10%,#6366f12e,#0000 60%),var(--color-bg);display:flex;justify-content:center;min-height:100vh;min-height:100dvh;padding:var(--space-5)}.home-container{-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:500px;padding:var(--space-10);width:100%}.home-header{margin-bottom:var(--space-10);text-align:center}.header-top{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;margin-bottom:var(--space-6);padding-bottom:var(--space-5)}.user-info{align-items:flex-end;display:flex;flex-direction:column;gap:var(--space-2)}.user-name{color:var(--color-text-muted)}.logout-btn,.user-name{font-size:var(--text-sm);font-weight:var(--font-medium)}.logout-btn{background:#0000;border:1px solid var(--color-accent);border-radius:var(--radius-sm);color:var(--color-accent);cursor:pointer;padding:var(--space-2) var(--space-4);transition:all var(--transition-fast)}.logout-btn:hover{background:var(--color-accent);color:var(--color-text)}.logout-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.home-header h1{color:var(--color-text);font-size:var(--text-3xl);font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.home-header p{color:var(--color-text-muted);font-size:var(--text-base);margin:0}.input-section{margin-bottom:var(--space-8)}.input-group input{border-radius:var(--radius-md)}.action-section{margin-top:var(--space-8)}.primary-btn{margin-bottom:var(--space-5)}.primary-btn:disabled{box-shadow:none;transform:none}.secondary-btn{background:#0000;border:1px solid var(--color-accent);border-radius:var(--radius-md);color:var(--color-accent);cursor:pointer;font-size:var(--text-base);font-weight:var(--font-semibold);padding:var(--space-3) var(--space-5);transition:all var(--transition-fast);width:100%}.secondary-btn:hover{background:var(--color-accent);color:var(--color-text)}.secondary-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.divider{margin:var(--space-8) 0;position:relative;text-align:center}.divider:before{background:var(--color-border);content:"";height:1px;left:0;position:absolute;right:0;top:50%}.divider span{background:var(--color-surface-1);color:var(--color-text-subtle);font-weight:var(--font-medium);padding:0 var(--space-5)}.join-section{margin-top:var(--space-5)}.features-section{border-top:1px solid var(--color-border);margin-top:var(--space-8);overflow:hidden}.features-section.collapsed,.features-section.expanded{padding-top:var(--space-5)}.features-toggle-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--color-accent);cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:var(--font-semibold);gap:var(--space-2);justify-content:center;padding:var(--space-3) var(--space-5);transition:all var(--transition-fast);width:100%}.features-toggle-btn:hover{background:var(--color-accent-soft)}.features-toggle-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.features-toggle-icon{align-items:center;background:var(--color-accent);border-radius:var(--radius-full);color:var(--color-text);display:flex;font-size:var(--text-base);font-weight:var(--font-bold);height:22px;justify-content:center;line-height:1;width:22px}.features-content{animation:slideDown var(--transition-slow);padding:var(--space-5) 0 0 0}.features-section h3{color:var(--color-text);font-size:var(--text-xl);margin-bottom:var(--space-4)}.features-section ul{list-style:none;margin:0;padding:0}.features-section li{color:var(--color-text-muted);padding:var(--space-2) 0;padding-left:var(--space-6);position:relative}.features-section li:before{color:var(--color-success);content:"✓";font-weight:var(--font-bold);left:0;position:absolute}@media (max-width:600px){.home-container{margin:var(--space-2);padding:var(--space-8) var(--space-5)}.home-header h1{font-size:var(--text-3xl)}}.join-meeting-page{align-items:center;background:radial-gradient(900px 600px at 20% -10%,#6366f12e,#0000 60%),var(--color-bg);display:flex;justify-content:center;min-height:100vh;min-height:100dvh;padding:var(--space-5)}.join-container{background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:500px;padding:var(--space-10);width:100%}.join-header{margin-bottom:var(--space-10);position:relative;text-align:center}.join-header h1{color:var(--color-text);font-size:var(--text-4xl);font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.join-header p{color:var(--color-text-muted);font-size:var(--text-base);margin:0}.join-form{margin-bottom:var(--space-8)}.input-group{margin-bottom:var(--space-5)}.input-group label{color:var(--color-text-muted);display:block;font-weight:var(--font-medium);margin-bottom:var(--space-2)}.input-group input{background:var(--color-surface-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--color-text);font-size:var(--text-base);padding:var(--space-3) var(--space-4);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.input-group input::placeholder{color:var(--color-text-subtle)}.input-group input:focus{border-color:var(--color-accent);box-shadow:var(--focus-ring);outline:none}.input-group input.error{border-color:var(--color-danger)}.validation-status{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--text-sm);margin-top:var(--space-2)}.spinner{border-top:2px solid var(--color-border-strong);border:2px solid var(--color-border-strong);height:16px;margin-right:var(--space-2);width:16px}.error-message{background:#f43f5e26}.error-message,.primary-btn{border-radius:var(--radius-sm)}.primary-btn{font-size:var(--text-base);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.primary-btn:hover:not(:disabled){transform:translateY(-2px)}.join-info{border-top:1px solid var(--color-border);padding-top:var(--space-8)}.join-info h3{color:var(--color-text);font-size:var(--text-lg);margin-bottom:var(--space-4)}.join-info ul{list-style:none;margin:0;padding:0}.join-info li{color:var(--color-text-muted);font-size:var(--text-sm);padding:var(--space-2) 0;padding-left:var(--space-6);position:relative}.join-info li:before{color:var(--color-accent);content:"•";font-weight:var(--font-bold);left:0;position:absolute}@media (max-width:600px){.join-container{margin:var(--space-2);padding:var(--space-8) var(--space-5)}.join-header h1{font-size:var(--text-2xl)}.back-btn{margin-bottom:var(--space-5);position:static;text-align:left}}.participant-list{background:var(--color-surface-1);display:flex;flex-direction:column;height:100%}.participant-list .panel-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--space-5)}.participant-list .panel-header h3{color:var(--color-text);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0}.participant-list .close-btn{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:flex;height:32px;justify-content:center;padding:var(--space-1);transition:all var(--transition-fast);width:32px}.participant-list .close-btn svg{height:20px;width:20px}.participant-list .close-btn:hover{background:var(--color-surface-2);color:var(--color-text)}.participant-list .close-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.panel-content{flex:1 1;overflow-y:auto;padding:var(--space-4)}.no-participants{color:var(--color-text-muted);padding:var(--space-10) var(--space-5);text-align:center}.no-participants p{font-size:var(--text-sm);margin:0}.participant-item{align-items:center;background:var(--color-surface-2);border-radius:var(--radius-md);display:flex;gap:var(--space-3);margin-bottom:var(--space-2);padding:var(--space-3);transition:background var(--transition-fast)}.participant-item:hover{background:var(--color-surface-3)}.participant-item.current-user{background:var(--color-accent-soft);border:1px solid var(--color-border-strong)}.participant-item:last-child{margin-bottom:0}.participant-avatar{align-items:center;background:var(--gradient-primary);border-radius:var(--radius-full);color:var(--color-text);display:flex;flex-shrink:0;font-size:var(--text-lg);font-weight:var(--font-semibold);height:40px;justify-content:center;width:40px}.participant-info{flex:1 1;min-width:0}.participant-list .participant-name{align-items:center;background:none;color:var(--color-text);display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-2);inset:auto;margin-bottom:var(--space-1);min-width:0;padding:0;position:static}.participant-list .participant-name .name-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.host-badge{background:var(--color-accent-soft);border-radius:var(--radius-full);color:var(--color-primary-300);display:inline-block;font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.5px;padding:var(--space-1) var(--space-2);text-transform:uppercase}.participant-status{align-items:center;display:flex;gap:var(--space-2)}.status-indicator{align-items:center;display:flex;justify-content:center;transition:opacity var(--transition-fast)}.status-indicator svg{height:16px;width:16px}.status-indicator.on{color:var(--color-success);opacity:1}.status-indicator.off{color:var(--color-danger);opacity:.6}.status-btn{align-items:center;background:var(--color-surface-3);border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all var(--transition-fast);width:32px}.status-btn svg{height:18px;width:18px}.status-btn.on{background:#34d39926;color:var(--color-success)}.status-btn.on:hover{background:#34d3994d;transform:scale(1.05)}.status-btn.off{background:#f43f5e26;color:var(--color-danger)}.status-btn.off:hover{background:#f43f5e4d;transform:scale(1.05)}.status-btn:active{transform:scale(.95)}.status-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.panel-footer{border-top:1px solid var(--color-border);padding:var(--space-4) var(--space-5)}.meeting-id{color:var(--color-text-muted);font-size:var(--text-xs);margin:0;text-align:center}.panel-content::-webkit-scrollbar{width:6px}.panel-content::-webkit-scrollbar-track{background:var(--color-surface-2);border-radius:var(--radius-sm)}.panel-content::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-sm)}.panel-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-subtle)}.host-controls{display:flex;gap:var(--space-1);margin-left:auto}.host-control-btn{align-items:center;background:var(--color-surface-3);border:none;border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all var(--transition-fast);width:32px}.host-control-btn svg{height:16px;width:16px}.host-control-btn:hover{transform:scale(1.1)}.host-control-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.host-control-btn.mute-btn{background:#fbbf2433}.host-control-btn.mute-btn:hover{background:#fbbf2466}.host-control-btn.video-off-btn{background:var(--color-accent-soft)}.host-control-btn.video-off-btn:hover{background:#6366f166}.host-control-btn.transfer-btn{background:#34d39933}.host-control-btn.transfer-btn:hover{background:#34d39966}.host-control-btn.kick-btn{background:#f43f5e33}.host-control-btn.kick-btn:hover{background:#f43f5e66}.host-hint{color:var(--color-text-muted);font-size:var(--text-xs);font-style:italic;margin:var(--space-2) 0 0 0;text-align:center}.confirm-dialog-overlay{align-items:center;background:var(--color-overlay);bottom:0;display:flex;justify-content:center;left:0;padding:var(--space-5);position:absolute;right:0;top:0;z-index:var(--z-controls)}.confirm-dialog{background:var(--color-surface-3);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:300px;padding:var(--space-6);width:100%}.confirm-dialog h4{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0 0 var(--space-4) 0}.confirm-dialog p{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.5;margin:0 0 var(--space-5) 0}.confirm-dialog-actions{display:flex;gap:var(--space-3);justify-content:flex-end}.confirm-dialog-actions button{border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) var(--space-5);transition:all var(--transition-fast)}.confirm-dialog-actions button:focus-visible{box-shadow:var(--focus-ring);outline:none}.confirm-dialog-actions .cancel-btn{background:var(--color-surface-2);color:var(--color-text)}.confirm-dialog-actions .cancel-btn:hover{background:var(--color-surface-3)}.confirm-dialog-actions .confirm-btn{background:var(--color-accent);color:var(--color-text)}.confirm-dialog-actions .confirm-btn:hover{background:var(--color-accent-hover)}.confirm-dialog-actions .confirm-btn.danger{background:var(--color-danger)}.confirm-dialog-actions .confirm-btn.danger:hover{background:var(--color-danger-hover)}.participant-item.phone-participant{background:var(--color-accent-soft);border:1px solid var(--color-border-strong)}.participant-item.phone-participant.connected{background:#34d3991a;border-color:#34d3994d}.participant-item.phone-participant.dialing,.participant-item.phone-participant.ringing{background:#fbbf241a;border-color:#fbbf244d}.participant-avatar.phone-avatar{background:var(--gradient-primary)}.participant-avatar.phone-avatar svg{height:20px;width:20px}.phone-participant-name{color:var(--color-text);display:inline-block;flex-shrink:0;font-size:var(--text-sm);font-weight:var(--font-semibold)}.participant-list .participant-item.phone-participant .participant-name{flex-wrap:wrap}.phone-badge{background:var(--color-accent-soft);border-radius:var(--radius-full);color:var(--color-primary-300);display:inline-block;flex-shrink:0;font-size:var(--text-xs);font-weight:var(--font-medium);margin-left:var(--space-1);padding:var(--space-1) var(--space-2)}.participant-list .call-status{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--text-xs);gap:var(--space-1)}.participant-list .call-status.connected{color:var(--color-success)}.participant-list .call-status.dialing,.participant-list .call-status.ringing{color:var(--color-warning)}.participant-list .call-status.failed{color:var(--color-danger)}.status-spinner svg{animation:spin 1s linear infinite;height:14px;width:14px}.host-control-btn.end-call-btn{background:#f43f5e33}.host-control-btn.end-call-btn:hover{background:var(--color-danger)}.host-control-btn.end-call-btn svg{color:var(--color-danger)}.host-control-btn.end-call-btn:hover svg{color:var(--color-text)}.add-phone-section{border-top:1px solid var(--color-border);padding:var(--space-4)}.add-phone-btn{align-items:center;background:var(--color-accent-soft);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-primary-300);cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-2);justify-content:center;padding:var(--space-3) var(--space-4);transition:all var(--transition-fast);width:100%}.add-phone-btn:hover{background:#6366f14d;border-color:var(--color-accent);color:var(--color-text)}.add-phone-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.add-phone-btn svg{height:18px;width:18px}.add-phone-form{background:var(--color-surface-2);border-radius:var(--radius-md);overflow:hidden}.add-phone-form .form-header{align-items:center;background:var(--color-accent-soft);border-bottom:1px solid var(--color-border-strong);display:flex;justify-content:space-between;padding:var(--space-3) var(--space-4)}.add-phone-form .form-header span{color:var(--color-primary-300);font-size:var(--text-sm);font-weight:var(--font-medium)}.close-form-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;height:24px;justify-content:center;transition:all var(--transition-fast);width:24px}.close-form-btn svg{color:var(--color-text-muted);height:16px;width:16px}.close-form-btn:hover{background:var(--color-surface-3)}.close-form-btn:hover svg{color:var(--color-text)}.close-form-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.form-fields{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4)}.form-fields input{background:var(--color-surface-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-sm);padding:var(--space-3) var(--space-4);transition:all var(--transition-fast)}.form-fields input::placeholder{color:var(--color-text-subtle)}.form-fields input:focus{border-color:var(--color-accent);box-shadow:var(--focus-ring);outline:none}.form-fields input:focus-visible{box-shadow:var(--focus-ring);outline:none}.form-fields input:disabled{cursor:not-allowed;opacity:.6}.dial-error{background:#f43f5e26;border:1px solid #f43f5e4d;border-radius:var(--radius-sm);color:var(--color-danger);padding:var(--space-2) var(--space-3)}.call-btn,.dial-error{font-size:var(--text-sm)}.call-btn{align-items:center;background:var(--color-success);border:none;border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-weight:var(--font-semibold);gap:var(--space-2);justify-content:center;padding:var(--space-3) var(--space-4);transition:all var(--transition-fast)}.call-btn:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-1px)}.call-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.call-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.call-btn svg{height:16px;width:16px}.participant-list .btn-spinner svg{animation:spin 1s linear infinite;height:16px;width:16px}.chat-panel{background:var(--color-surface-1);display:flex;flex-direction:column;height:100%}.chat-panel .panel-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--space-5)}.chat-panel .panel-header h3{color:var(--color-text);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0}.chat-panel .close-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:var(--text-2xl);line-height:1;padding:var(--space-1);transition:color var(--transition-fast)}.chat-panel .close-btn:hover{color:var(--color-text)}.chat-panel .close-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.chat-messages{display:flex;flex:1 1;flex-direction:column;gap:var(--space-4);overflow-y:auto;padding:var(--space-5)}.empty-chat{color:var(--color-text-muted);margin-top:var(--space-10);text-align:center}.empty-chat p{font-weight:var(--font-medium);margin:0 0 var(--space-2) 0}.empty-chat small{color:var(--color-text-subtle);font-size:var(--text-xs)}.message{word-wrap:break-word;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-1);max-width:85%;padding:var(--space-2) var(--space-3)}.own-message{align-self:flex-end;background:var(--color-accent-soft);border:1px solid var(--color-border-strong)}.other-message{align-self:flex-start;background:var(--color-surface-2);border:1px solid var(--color-border)}.message-header{margin-bottom:var(--space-1)}.sender-name{color:var(--color-accent);font-size:var(--text-xs);font-weight:var(--font-semibold)}.own-message .sender-name{color:var(--color-primary-300)}.timestamp{color:var(--color-text-subtle);font-size:var(--text-xs)}.chat-input{border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5)}.chat-input textarea{background:var(--color-surface-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text);font-family:inherit;font-size:var(--text-sm);outline:none;padding:var(--space-3);resize:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.chat-input textarea::placeholder{color:var(--color-text-subtle)}.chat-input textarea:focus{border-color:var(--color-accent);box-shadow:var(--focus-ring)}.chat-input textarea:focus-visible{box-shadow:var(--focus-ring);outline:none}.send-btn{align-self:flex-end;background:var(--color-accent);border:none;border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) var(--space-4);transition:background-color var(--transition-fast)}.send-btn:hover:not(:disabled){background:var(--color-accent-hover)}.send-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.send-btn:disabled{background:var(--color-surface-3);cursor:not-allowed}.message-item{display:flex;flex-direction:column;gap:var(--space-1)}.message-header{align-items:center;display:flex;gap:var(--space-2)}.message-sender{color:var(--color-accent);font-size:var(--text-sm);font-weight:var(--font-semibold)}.message-time{color:var(--color-text-muted);font-size:var(--text-xs)}.message-content{word-wrap:break-word;color:var(--color-text);font-size:var(--text-sm);line-height:1.4}.meeting-info-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:var(--color-overlay);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:var(--z-overlay)}.meeting-info-panel{animation:slideUp .3s ease;background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-height:90vh;max-width:420px;overflow-y:auto;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.meeting-info-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--space-5) var(--space-6)}.meeting-info-header h2{color:var(--color-text);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0}.meeting-info-header .close-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1.8rem;line-height:1;padding:0;transition:color var(--transition-fast)}.meeting-info-header .close-btn:hover{color:var(--color-text)}.meeting-info-header .close-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.meeting-info-content{padding:var(--space-6)}.info-section{margin-bottom:var(--space-5)}.info-section label{color:var(--color-text-muted);display:block;font-size:var(--text-sm);letter-spacing:.5px;margin-bottom:var(--space-2);text-transform:uppercase}.info-row{align-items:center;background:var(--color-surface-2);border-radius:var(--radius-sm);display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.info-value{color:var(--color-text);flex:1 1;font-size:var(--text-sm);word-break:break-all}.info-value.monospace{font-family:var(--font-mono);font-size:var(--text-lg);letter-spacing:1px}.copy-btn,.info-value.link-value{color:var(--color-primary-300);font-size:var(--text-sm)}.copy-btn{background:var(--color-accent-soft);border:1px solid #6366f166;border-radius:var(--radius-sm);cursor:pointer;font-weight:var(--font-medium);padding:var(--space-2) var(--space-4);transition:all var(--transition-fast);white-space:nowrap}.copy-btn:hover{background:#6366f14d;border-color:#6366f199}.copy-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.copy-btn.copied{background:#34d39933;border-color:#34d39966;color:var(--color-success)}.qr-section{background:var(--color-surface-2);border-radius:var(--radius-lg);margin:var(--space-6) 0;padding:var(--space-5);text-align:center}.qr-section label{color:var(--color-text-muted);display:block;font-size:var(--text-sm);letter-spacing:.5px;margin-bottom:var(--space-4);text-transform:uppercase}.qr-container{background:#fff;border-radius:var(--radius-lg);display:inline-block;padding:var(--space-3)}.qr-hint{color:var(--color-text-subtle);font-size:var(--text-sm);margin:var(--space-4) 0 0 0}.share-actions{display:flex;gap:var(--space-3);margin-top:var(--space-6)}.meeting-info-panel .share-btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;flex:1 1;font-size:var(--text-sm);font-weight:var(--font-semibold);gap:var(--space-2);justify-content:center;padding:14px var(--space-5);transition:all var(--transition-fast)}.meeting-info-panel .share-btn .icon{font-size:1.1rem}.meeting-info-panel .share-btn.primary{background:var(--gradient-primary);color:var(--color-text)}.meeting-info-panel .share-btn.primary:hover{box-shadow:var(--shadow-glow);transform:translateY(-2px)}.meeting-info-panel .share-btn.primary:focus-visible{box-shadow:var(--focus-ring);outline:none}.meeting-info-panel .share-btn.secondary{background:var(--color-surface-3);border:1px solid var(--color-border-strong);color:var(--color-text)}.meeting-info-panel .share-btn.secondary:hover{background:var(--color-surface-2)}.meeting-info-panel .share-btn.secondary:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (max-width:480px){.meeting-info-panel{border-radius:var(--radius-lg);margin:10px;max-width:100%}.meeting-info-header{padding:var(--space-4) var(--space-5)}.meeting-info-content{padding:var(--space-5)}.share-actions{flex-direction:column}.qr-container{padding:var(--space-2)}.qr-container svg{height:120px!important;width:120px!important}}.meeting-room-page{background:radial-gradient(1200px 800px at 15% -10%,#6366f11a,#0000 60%),radial-gradient(1000px 700px at 110% 110%,#8b5cf614,#0000 55%),var(--color-bg);color:var(--color-text);display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;position:relative}.meeting-room-page.fullscreen-mode{bottom:0;height:100vh;height:100dvh;left:0;position:fixed;right:0;top:0;width:100vw;z-index:9999}.meeting-header-minimal{align-items:center;background:linear-gradient(180deg,#06060cd9,#0000);display:flex;justify-content:space-between;left:0;opacity:0;padding:calc(12px + env(safe-area-inset-top, 0px)) calc(20px + env(safe-area-inset-right, 0px)) 12px calc(20px + env(safe-area-inset-left, 0px));position:absolute;right:0;top:0;transform:translateY(-100%);transition:opacity var(--transition-slow),transform var(--transition-slow);z-index:var(--z-controls)}.meeting-header-minimal.visible{opacity:1;transform:translateY(0)}.header-hover-zone{height:60px;left:0;position:absolute;right:0;top:0;z-index:99}.header-left{align-items:center;display:flex;gap:12px}.meeting-id-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg);border:1px solid var(--glass-border);font-family:var(--font-mono);font-weight:var(--font-medium);padding:6px 12px}.meeting-id-badge,.participant-count{border-radius:var(--radius-full);font-size:var(--text-sm)}.participant-count{background:var(--color-accent-soft);color:var(--color-primary-300);font-weight:var(--font-semibold);padding:4px 10px}.header-right{display:flex;gap:8px}.header-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.header-btn svg{height:18px;width:18px}.header-btn:hover{background:#fff3;transform:scale(1.05)}.main-content,.meeting-layout{display:flex;flex:1 1;min-height:0;overflow:hidden}.main-content{flex-direction:column;min-width:0;position:relative}.video-area-fullscreen{align-items:center;background:#0f0f0f;display:flex;flex:1 1;justify-content:center;overflow:hidden;position:relative}.participants-grid{grid-gap:4px;box-sizing:border-box;display:grid;gap:4px;height:100%;padding:0;width:100%}.participants-grid.solo-mode{grid-template-columns:1fr;grid-template-rows:1fr}.participant-video{background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);height:100%;min-height:0;min-width:0;overflow:hidden;position:relative;transition:box-shadow var(--transition-base);width:100%}.participant-video video{height:100%;object-fit:cover;width:100%}.participant-video.speaking{box-shadow:0 0 0 2px var(--color-accent),var(--shadow-glow)}.participant-name{align-items:center;background:linear-gradient(#0000,#06060cd9);bottom:0;display:flex;gap:var(--space-2);left:0;padding:var(--space-3) var(--space-4);position:absolute;right:0}.participant-name span{font-size:var(--text-sm);font-weight:var(--font-medium)}.badge.host{background:var(--color-accent-soft);border-radius:var(--radius-full);color:var(--color-primary-300);font-size:var(--text-xs);font-weight:var(--font-semibold);padding:2px 8px}.icon-muted{margin-left:auto;opacity:.85}.icon-muted svg{color:var(--color-danger);height:16px;width:16px}.participant-placeholder{background:radial-gradient(circle at 50% 40%,#6366f11f,#0000 60%),linear-gradient(135deg,var(--color-surface-1) 0,var(--color-surface-2) 100%);flex-direction:column;gap:var(--space-3);height:100%;width:100%}.participant-placeholder,.placeholder-avatar{align-items:center;display:flex;justify-content:center}.placeholder-avatar{background:var(--gradient-primary);border-radius:var(--radius-full);box-shadow:var(--shadow-glow);font-size:2rem;font-weight:var(--font-semibold);height:80px;width:80px}.connecting-status{animation:pulse 1.5s ease-in-out infinite;color:var(--color-text-subtle);font-size:var(--text-sm)}.solo-view{background:#0f0f0f;border-radius:12px;height:100%;overflow:hidden;position:relative;width:100%}.solo-video{height:100%;object-fit:cover;transform:scaleX(-1);width:100%}.solo-placeholder{background:linear-gradient(135deg,#1a1a2e,#16213e);height:100%;width:100%}.solo-avatar,.solo-placeholder{align-items:center;display:flex;justify-content:center}.solo-avatar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 20px 60px #667eea4d;font-size:4rem;font-weight:600;height:150px;width:150px}.solo-overlay{align-items:flex-end;background:linear-gradient(#0000,#000c);bottom:0;display:flex;justify-content:space-between;left:0;padding:24px;position:absolute;right:0}.solo-info{align-items:center;display:flex;gap:12px}.solo-name{color:#fff;font-size:1.2rem;font-weight:600}.solo-muted svg{color:#e53e3e;height:20px;width:20px}.solo-waiting{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.solo-waiting p{color:#888;font-size:.9rem;margin:0}.share-btn-mini{align-items:center;background:#667eeacc;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s}.share-btn-mini svg{height:14px;width:14px}.share-btn-mini:hover{background:#667eea;transform:translateY(-1px)}.waiting-room{align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;height:100%;justify-content:center;width:100%}.waiting-content{text-align:center}.waiting-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 10px 40px #667eea4d;display:flex;font-size:2.5rem;font-weight:600;height:100px;justify-content:center;margin:0 auto 24px;width:100px}.waiting-content h2{color:#fff;font-size:1.5rem;font-weight:600;margin-bottom:8px}.waiting-content p{color:#888;margin-bottom:24px}.share-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s}.share-btn svg{height:18px;width:18px}.share-btn:hover{box-shadow:0 10px 30px #667eea66;transform:translateY(-2px)}.screen-share-layout{display:flex;flex-direction:column;height:100%;width:100%}.screen-share-main{align-items:center;background:#000;border-radius:10px;display:flex;flex:1 1;justify-content:center;min-height:0;overflow:hidden;position:relative}.screen-share-main video{height:100%;object-fit:contain;width:100%}.participants-strip{display:flex;flex-shrink:0;gap:4px;height:120px;overflow-x:auto;padding:4px 0}.participants-strip::-webkit-scrollbar{height:4px}.participants-strip::-webkit-scrollbar-track{background:#0000}.participants-strip::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.strip-tile{background:#1a1a1a;border-radius:8px;height:100%;min-width:160px;overflow:hidden;position:relative;width:160px}.strip-tile video{height:100%;object-fit:cover;width:100%}.strip-tile.speaking{box-shadow:0 0 0 2px #48bb78}.strip-placeholder{background:linear-gradient(135deg,#1a1a1a,#2d2d2d);height:100%;width:100%}.strip-avatar,.strip-placeholder{align-items:center;display:flex;justify-content:center}.strip-avatar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;font-size:1rem;font-weight:600;height:40px;width:40px}.strip-name{align-items:center;background:linear-gradient(#0000,#000c);bottom:0;display:flex;font-size:.7rem;font-weight:500;gap:4px;left:0;padding:4px 8px;position:absolute;right:0}.strip-name .icon-muted svg{height:12px;width:12px}.screen-share-badge{background:#48bb78e6;border-radius:8px;left:16px}.screen-share-badge,.screen-share-stop-btn{font-size:.85rem;font-weight:600;padding:8px 16px;position:absolute;top:16px;z-index:11}.screen-share-stop-btn{align-items:center;background:#e53e3ee6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;gap:6px;right:16px;transition:all .2s}.screen-share-stop-btn svg{height:16px;width:16px}.screen-share-stop-btn:hover{background:#e53e3e;transform:scale(1.02)}.screen-share-error-toast{align-items:center;animation:slideDown .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#e53e3ef2;border-radius:12px;box-shadow:0 8px 32px #0000004d;display:flex;gap:12px;left:50%;max-width:90%;padding:12px 20px;position:fixed;top:80px;transform:translateX(-50%);z-index:1000}.toast-icon svg{color:#fff;height:20px;width:20px}.toast-message{color:#fff;font-size:.9rem;font-weight:500;line-height:1.4}.toast-close{align-items:center;background:#fff3;border:none;border-radius:6px;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:background .2s}.toast-close svg{color:#fff;height:16px;width:16px}.toast-close:hover{background:#ffffff4d}.ctrl-btn.unsupported{opacity:.6}.ctrl-unsupported-indicator{background:#e53e3e;border:2px solid #00000080;border-radius:50%;height:8px;position:absolute;right:4px;top:4px;width:8px}.self-view-floating{background:#1a1a1a;border:2px solid #ffffff1a;border-radius:12px;box-shadow:0 8px 32px #00000080;cursor:grab;height:120px;overflow:hidden;position:absolute;transition:box-shadow .2s,border-color .2s;width:160px;z-index:50}.self-view-floating:hover{border-color:#667eea80;box-shadow:0 12px 40px #0009}.self-view-floating.dragging{border-color:#667eeacc;box-shadow:0 16px 50px #000000b3;cursor:grabbing;transform:scale(1.02)}.self-view-floating.speaking{border-color:#48bb78;box-shadow:0 0 0 2px #48bb78,0 8px 32px #48bb784d}.self-view-floating video{height:100%;object-fit:cover;transform:scaleX(-1);width:100%}.self-placeholder{background:linear-gradient(135deg,#2d2d2d,#1a1a1a);height:100%;width:100%}.self-avatar,.self-placeholder{align-items:center;display:flex;justify-content:center}.self-avatar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;font-size:1.2rem;font-weight:600;height:50px;width:50px}.self-label{align-items:center;background:linear-gradient(#0000,#000c);bottom:0;display:flex;font-size:.75rem;font-weight:500;justify-content:space-between;left:0;padding:6px 10px;position:absolute;right:0}.self-muted svg{color:#e53e3e;height:14px;width:14px}.drag-handle{background:#ffffff4d;border-radius:2px;height:4px;left:50%;opacity:0;position:absolute;top:6px;transform:translateX(-50%);transition:opacity .2s;width:30px}.self-view-floating:hover .drag-handle{opacity:1}.controls-minimal{align-items:center;backdrop-filter:blur(var(--glass-blur)) saturate(140%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(140%);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);bottom:calc(24px + env(safe-area-inset-bottom, 0px));box-shadow:var(--shadow-lg);display:flex;gap:var(--space-2);left:50%;padding:var(--space-3) var(--space-4);position:absolute;transform:translateX(-50%);transition:opacity var(--transition-slow),transform var(--transition-slow);z-index:var(--z-controls)}.controls-minimal.visible{opacity:1;transform:translateX(-50%) translateY(0)}.controls-minimal.hidden{opacity:0;pointer-events:none;transform:translateX(-50%) translateY(100px)}.ctrl-btn{align-items:center;background:#ffffff14;border:none;border-radius:var(--radius-lg);color:var(--color-text);cursor:pointer;display:flex;height:48px;justify-content:center;position:relative;transition:background var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base);width:48px}.ctrl-btn svg{height:22px;width:22px}.ctrl-btn:hover{background:#ffffff29;transform:translateY(-2px)}.ctrl-btn:active{transform:scale(.95)}.ctrl-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.ctrl-btn.off{background:#fbbf242e;color:var(--color-warning)}.ctrl-btn.off:hover{background:#fbbf2447}.ctrl-btn.active{background:var(--color-accent-soft);color:var(--color-primary-300)}.ctrl-btn.leave{background:#f43f5e38;color:var(--color-danger)}.ctrl-btn.leave:hover{background:var(--color-danger);color:#fff}.ctrl-divider{background:var(--color-border-strong);height:28px;margin:0 var(--space-1);width:1px}.ctrl-badge{background:var(--gradient-primary);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);color:#fff;font-size:.65rem;font-weight:var(--font-bold);min-width:18px;padding:2px 6px;position:absolute;right:-4px;text-align:center;top:-4px}.toggle-controls-minimal{align-items:center;background:#00000080;border:1px solid #fff3;border-radius:10px;bottom:calc(8px + env(safe-area-inset-bottom, 0px));color:#fff;cursor:pointer;display:flex;height:20px;justify-content:center;left:50%;position:absolute;transform:translateX(-50%);transition:all .3s;width:48px;z-index:61}.toggle-controls-minimal:hover{background:#000000b3;border-color:#ffffff4d}.toggle-controls-minimal.hidden-state{background:#667eeacc;border-color:#667eea99;bottom:24px}.toggle-arrow{font-size:10px}.sidebar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#141414f2;border-left:1px solid #ffffff1a;flex-shrink:0;overflow:hidden;position:relative;transition:width .3s ease;width:0}.sidebar.visible{width:320px;z-index:150}.connecting-overlay{align-items:center;background:#0f0f0f;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.connecting-content{color:#fff;text-align:center}.connecting-content .spinner{animation:spin 1s linear infinite;border:3px solid #ffffff1a;border-radius:50%;border-top-color:#667eea;height:60px;margin:0 auto 24px;width:60px}.connecting-content h2{font-size:1.5rem;font-weight:600;margin:0 0 12px}.connecting-content p{color:#888;margin:0}.error-overlay{align-items:center;background:#000000e6;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.error-content{background:#1a1a1a;border:1px solid #ffffff1a;border-radius:16px;max-width:400px;padding:32px;text-align:center;width:90%}.error-content h3{color:#e53e3e;font-size:1.3rem;margin:0 0 16px}.error-content p{color:#888;line-height:1.5;margin:0 0 24px}.error-content button{background:#667eea;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 28px;transition:all .2s}.error-content button:hover{background:#5a67d8;transform:translateY(-1px)}.meeting-ended-overlay{align-items:center;animation:fadeIn .3s ease;background:#000000eb;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.meeting-ended-content{background:#1a1a1a;border:1px solid #ffffff1a;border-radius:16px;max-width:380px;padding:40px 32px;text-align:center;width:90%}.meeting-ended-icon{color:#fc8181;height:48px;margin:0 auto 16px;width:48px}.meeting-ended-icon svg{height:100%;width:100%}.meeting-ended-content h3{color:#fff;font-size:1.4rem;font-weight:600;margin:0 0 12px}.meeting-ended-content p{color:#aaa;font-size:.95rem;line-height:1.5;margin:0 0 8px}.meeting-ended-countdown{color:#888!important;font-size:.85rem!important;margin-bottom:20px!important}.meeting-ended-content button{background:#667eea;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 28px;transition:all .2s}.meeting-ended-content button:hover{background:#5a67d8;transform:translateY(-1px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}@media (max-width:768px){.meeting-header-minimal{padding:10px 16px}.header-btn{height:32px;width:32px}.header-btn svg{height:16px;width:16px}.participants-strip{height:90px}.strip-tile{min-width:120px;width:120px}.strip-avatar{font-size:.85rem;height:32px;width:32px}.strip-name{font-size:.65rem;padding:3px 6px}.screen-share-badge{font-size:.75rem;left:12px;padding:6px 12px;top:12px}.screen-share-stop-btn{font-size:.75rem;padding:6px 12px;right:12px;top:12px}.screen-share-stop-btn svg{height:14px;width:14px}.screen-share-error-toast{gap:10px;padding:10px 16px;top:60px}.toast-message{font-size:.8rem}.toast-icon svg{height:18px;width:18px}.participants-grid{gap:4px;padding:0}.participant-video{border-radius:8px}.participant-name{padding:8px 12px}.participant-name span{font-size:.8rem}.self-view-floating{border-radius:8px;height:90px;width:120px}.self-avatar{font-size:1rem;height:40px;width:40px}.self-label{font-size:.7rem;padding:4px 8px}.controls-minimal{border-radius:12px;bottom:calc(16px + env(safe-area-inset-bottom, 0px));gap:6px;padding:8px 12px}.ctrl-btn{border-radius:12px;height:42px;width:42px}.ctrl-btn svg{height:18px;width:18px}.ctrl-divider{height:24px}.sidebar{border-left:none;border-top:1px solid #ffffff1a;bottom:0;height:0;left:0;position:absolute;right:0;width:100%;z-index:100}.sidebar.visible{height:60vh;width:100%}.waiting-avatar{font-size:2rem;height:80px;width:80px}.waiting-content h2{font-size:1.2rem}.waiting-content p{font-size:.9rem;padding:0 20px}.share-btn{font-size:.9rem;padding:10px 20px}}@media (max-width:480px){.controls-minimal{gap:4px;padding:6px 10px}.ctrl-btn{border-radius:10px;height:38px;width:38px}.ctrl-btn svg{height:16px;width:16px}.ctrl-divider{height:20px;margin:0 2px}.self-view-floating{height:82px;width:110px}}@media (max-height:500px) and (orientation:landscape){.participants-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.self-view-floating{height:90px;width:120px}.participants-strip{height:80px}.strip-tile{min-width:110px;width:110px}.screen-share-badge{font-size:.7rem;left:8px;padding:4px 10px;top:8px}.screen-share-stop-btn{font-size:.7rem;padding:4px 10px;right:8px;top:8px}.screen-share-stop-btn span{display:none}.screen-share-error-toast{padding:8px 14px;top:40px}.controls-minimal{bottom:12px;padding:6px 12px}.ctrl-btn{height:36px;width:36px}}.leave-modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.leave-modal{animation:slideUp .3s ease;background:linear-gradient(135deg,#1e1e2d,#252538);border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 20px 60px #00000080;margin:16px;max-width:420px;width:100%}.leave-modal-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:20px 24px}.leave-modal-header h3{color:#fff;font-size:20px;font-weight:600;margin:0}.leave-modal-header .close-btn{align-items:center;background:#ffffff0d;border:none;border-radius:8px;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.leave-modal-header .close-btn svg{color:#fff9;height:20px;width:20px}.leave-modal-header .close-btn:hover{background:#ffffff1a}.leave-modal-header .close-btn:hover svg{color:#fff}.leave-modal-content{padding:24px}.leave-modal-content p{color:#ffffffb3;font-size:14px;line-height:1.5;margin:0 0 20px}.leave-modal-actions{display:flex;flex-direction:column;gap:12px}.leave-btn{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;cursor:pointer;display:flex;gap:16px;padding:16px 20px;text-align:left;transition:all .2s;width:100%}.leave-btn:hover{background:#ffffff1a;border-color:#fff3}.leave-btn .btn-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.leave-btn .btn-icon svg{color:#fff;height:22px;width:22px}.leave-btn.just-leave .btn-icon{background:linear-gradient(135deg,#6366f1,#4f46e5)}.leave-btn.end-all .btn-icon{background:linear-gradient(135deg,#ef4444,#dc2626)}.leave-btn .btn-text{display:flex;flex-direction:column;gap:4px}.leave-btn .btn-title{color:#fff;font-size:15px;font-weight:600}.leave-btn .btn-desc{color:#ffffff80;font-size:12px}.leave-btn.just-leave:hover{border-color:#6366f1;box-shadow:0 0 0 1px #6366f14d}.leave-btn.end-all:hover{border-color:#ef4444;box-shadow:0 0 0 1px #ef44444d}@media (max-width:480px){.leave-modal{margin:12px}.leave-modal-header{padding:16px 20px}.leave-modal-content{padding:20px}.leave-btn{gap:12px;padding:14px 16px}.leave-btn .btn-icon{height:40px;width:40px}}.prejoin-page{align-items:center;background:radial-gradient(900px 600px at 20% -10%,#6366f12e,#0000 60%),var(--color-bg);display:flex;justify-content:center;min-height:100vh;min-height:100dvh;padding:var(--space-5)}.prejoin-container{background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:800px;padding:var(--space-10);width:100%}.prejoin-header{margin-bottom:var(--space-10);position:relative;text-align:center}.back-btn{background:none;border:none;color:var(--color-accent);cursor:pointer;font-size:var(--text-base);font-weight:var(--font-medium);left:0;padding:var(--space-2) 0;position:absolute;top:0;transition:color var(--transition-fast)}.back-btn:hover{color:var(--color-accent-hover)}.back-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.prejoin-header h1{color:var(--color-text);font-size:var(--text-4xl);font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.prejoin-header p{color:var(--color-text-muted);font-size:var(--text-base);margin:0}.prejoin-content{grid-gap:var(--space-10);display:grid;gap:var(--space-10);grid-template-columns:1fr 300px;margin-bottom:var(--space-8)}.video-preview{display:flex;flex-direction:column;gap:var(--space-5)}.video-container{align-items:center;aspect-ratio:16/9;background:#000;border-radius:var(--radius-lg);display:flex;justify-content:center;overflow:hidden;position:relative;width:100%}.preview-video{height:100%;object-fit:cover;transform:scaleX(-1);width:100%}.loading-placeholder{align-items:center;color:var(--color-text);display:flex;flex-direction:column;gap:var(--space-4)}.spinner{animation:spin 1s linear infinite;border-top:3px solid var(--color-border-strong);border:3px solid var(--color-border-strong);border-radius:var(--radius-full);border-top-color:var(--color-accent);height:40px;width:40px}.video-placeholder{flex-direction:column;gap:var(--space-4)}.avatar,.video-placeholder{align-items:center;color:var(--color-text);display:flex}.avatar{background:var(--color-accent);border-radius:var(--radius-full);font-size:var(--text-3xl);font-weight:var(--font-semibold);height:80px;justify-content:center;width:80px}.media-controls{display:flex;gap:var(--space-4);justify-content:center}.control-btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;font-size:var(--text-2xl);gap:var(--space-2);min-width:100px;padding:var(--space-4) var(--space-5);transition:all var(--transition-base)}.control-btn.active{background:var(--color-accent-soft);color:var(--color-primary-300)}.control-btn.inactive{background:#fbbf242e;color:var(--color-warning)}.control-btn:disabled{background:var(--color-surface-3);color:var(--color-text-subtle);cursor:not-allowed}.control-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.control-btn span{font-size:var(--text-sm);font-weight:var(--font-medium)}.audio-meter-section{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:var(--space-5);padding:var(--space-4)}.audio-meter-section label{color:var(--color-text);display:block;font-size:var(--text-sm);font-weight:var(--font-medium);margin-bottom:var(--space-2)}.audio-meter-container{display:flex;flex-direction:column;gap:var(--space-2)}.audio-meter{background:var(--color-surface-3);border-radius:var(--radius-sm);height:12px;overflow:hidden}.audio-meter-fill{background:linear-gradient(90deg,var(--color-success) 0,#38a169 50%,#2f855a 100%);border-radius:var(--radius-sm);height:100%;transition:width .05s ease-out}.audio-level-text{color:var(--color-text-muted);font-size:var(--text-xs);text-align:center}.test-speaker-btn{background:var(--color-surface-2);border:2px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-accent);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);margin-top:var(--space-2);padding:var(--space-3) var(--space-4);transition:all var(--transition-base);width:100%}.test-speaker-btn:hover:not(:disabled){background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text)}.test-speaker-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.test-speaker-btn:disabled{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text);cursor:not-allowed;opacity:.7}.device-settings{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.device-settings h3{color:var(--color-text);font-size:var(--text-xl);margin:0 0 var(--space-5) 0}.device-group{margin-bottom:var(--space-5)}.device-group label{display:block;font-weight:var(--font-medium);margin-bottom:var(--space-2)}.device-group label,.device-group select{color:var(--color-text);font-size:var(--text-sm)}.device-group select{background:var(--color-surface-2);border:2px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;padding:var(--space-3);transition:all var(--transition-base);width:100%}.device-group select:focus{border-color:var(--color-accent);box-shadow:var(--focus-ring);outline:none}.device-group select:disabled{background:var(--color-surface-3);color:var(--color-text-subtle);cursor:not-allowed}.meeting-info{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-8);padding:var(--space-6)}.meeting-info h3{color:var(--color-text);font-size:var(--text-xl);margin:0 0 var(--space-5) 0}.info-item{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--space-2) 0}.info-item:last-child{border-bottom:none}.info-item .label{color:var(--color-text-muted);font-weight:var(--font-medium)}.info-item .value,.primary-btn{color:var(--color-text);font-weight:var(--font-semibold)}.primary-btn{background:var(--gradient-primary);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-lg);padding:var(--space-4) var(--space-5);transition:all var(--transition-base);width:100%}.primary-btn:hover:not(:disabled){box-shadow:var(--shadow-glow)}.primary-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.primary-btn:disabled{background:var(--color-surface-3);color:var(--color-text-subtle);cursor:not-allowed}@media (max-width:900px){.prejoin-content{gap:var(--space-8);grid-template-columns:1fr}.video-preview{order:-1}}@media (max-width:600px){.prejoin-container{margin:var(--space-2);padding:var(--space-8) var(--space-5)}.prejoin-header h1{font-size:var(--text-3xl)}.back-btn{margin-bottom:var(--space-5);position:static;text-align:left}.media-controls{align-items:center;flex-direction:column}.control-btn{max-width:200px;width:100%}}.auth-page{align-items:center;background:radial-gradient(900px 600px at 20% -10%,#6366f12e,#0000 60%),radial-gradient(800px 600px at 110% 110%,#8b5cf624,#0000 55%),var(--color-bg);display:flex;justify-content:center;min-height:100vh;min-height:100dvh;padding:var(--space-5)}.auth-container{backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:420px;padding:var(--space-10);width:100%}.auth-logo{display:flex;justify-content:center;margin-bottom:24px}.auth-header{margin-bottom:32px;text-align:center}.auth-header h1{color:#fff;font-size:28px;font-weight:700;margin-bottom:8px}.auth-header p{color:#fff9;font-size:14px}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-form .input-group{display:flex;flex-direction:column;gap:6px}.auth-form .input-group label{color:#fffc;font-size:14px;font-weight:500}.auth-form .input-group input{background:#ffffff0d;border:1px solid #ffffff26;border-radius:10px;color:#fff;font-size:16px;padding:12px 16px;transition:border-color .2s,box-shadow .2s}.auth-form .input-group input::placeholder{color:#a0aec0}.auth-form .input-group input:focus{border-color:var(--color-accent);box-shadow:var(--focus-ring);outline:none}.auth-form .input-group input:disabled{cursor:not-allowed;opacity:.5}.auth-form .error-message{background:#f43f5e1f;border:1px solid #f43f5e4d;border-radius:var(--radius-sm);color:var(--color-danger);font-size:var(--text-sm);padding:12px 16px}.auth-form .success-message{background:#34d3991f;border:1px solid #34d3994d;border-radius:var(--radius-sm);color:var(--color-success);font-size:var(--text-sm);padding:12px 16px}.verification-code-input{font-family:monospace;font-size:24px!important;letter-spacing:8px;text-align:center}.resend-btn{background:#0000!important;border:1px solid var(--color-accent)!important;color:var(--color-accent)!important;margin-top:12px}.resend-btn:hover:not(:disabled){background:var(--color-accent-soft)!important}.secondary-btn{background:var(--color-surface-2);border:1px solid var(--color-border-strong);color:var(--color-text-muted)}.secondary-btn:hover:not(:disabled){background:var(--color-surface-3)}.auth-btn{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px 24px;transition:all .2s}.auth-btn.primary-btn{background:var(--gradient-primary);color:#fff}.auth-btn.primary-btn:hover:not(:disabled){box-shadow:var(--shadow-glow);transform:translateY(-2px)}.auth-btn:focus-visible,.auth-link:focus-visible,.guest-toggle-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.auth-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.auth-footer{border-top:1px solid var(--color-border);margin-top:24px;padding-top:24px;text-align:center}.auth-footer p{color:var(--color-text-muted);font-size:var(--text-sm)}.auth-link{color:var(--color-accent);font-weight:var(--font-semibold);text-decoration:none;transition:color var(--transition-fast)}.auth-link:hover{color:var(--color-accent-hover);text-decoration:underline}.guest-divider{align-items:center;display:flex;gap:16px;margin:32px 0;text-align:center}.guest-divider:after,.guest-divider:before{background:#ffffff26;content:"";flex:1 1;height:1px;min-width:20px}.guest-divider span{color:#ffffff80;flex-shrink:0;font-size:13px;letter-spacing:1px;text-transform:uppercase;white-space:nowrap}.guest-section{background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:8px;overflow:hidden;transition:background var(--transition-slow)}.guest-section.collapsed,.guest-section.expanded{padding:0}.guest-toggle-btn{align-items:center;background:#0000;border:none;color:var(--color-success);cursor:pointer;display:flex;font-size:var(--text-base);font-weight:var(--font-semibold);gap:10px;justify-content:center;padding:16px 24px;transition:background var(--transition-base);width:100%}.guest-toggle-btn:hover{background:#34d3991a}.guest-toggle-icon{align-items:center;background:var(--color-success);border-radius:var(--radius-full);color:var(--color-bg);display:flex;font-size:18px;font-weight:700;height:24px;justify-content:center;line-height:1;width:24px}.guest-toggle-hint{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:400;margin-left:4px}.guest-form-container{animation:slideDown .3s ease;padding:0 24px 24px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.guest-section h2{color:var(--color-text);font-size:var(--text-xl);font-weight:var(--font-semibold);margin-bottom:8px;text-align:center}.guest-section>p{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:20px;text-align:center}.guest-form{display:flex;flex-direction:column;gap:16px}.guest-form .input-group{display:flex;flex-direction:column;gap:6px}.guest-form .input-group label{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-medium)}.guest-form .input-group input{background:var(--color-surface-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--text-base);padding:12px 16px;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.guest-form .input-group input::placeholder{color:var(--color-text-subtle)}.guest-form .input-group input:focus{border-color:var(--color-success);box-shadow:0 0 0 3px #34d39929;outline:none}.guest-form .input-group input:disabled{cursor:not-allowed;opacity:.5}.guest-form .error-message{background:#f43f5e1f;border:1px solid #f43f5e4d;border-radius:var(--radius-sm);color:var(--color-danger);font-size:var(--text-sm);padding:12px 16px}.auth-btn.guest-btn{background:linear-gradient(135deg,#34d399,#10b981);color:var(--color-bg)}.auth-btn.guest-btn:hover:not(:disabled){box-shadow:0 8px 24px #34d39959;transform:translateY(-2px)}@media (max-width:480px){.auth-container{margin:10px;padding:24px}.auth-header h1{font-size:24px}.guest-toggle-btn{font-size:15px;padding:14px 16px}.guest-form-container{padding:0 16px 16px}.guest-section h2{font-size:18px}}.info-message{border-radius:12px;font-size:14px;padding:16px}.info-message.approval-pending{align-items:flex-start;background:linear-gradient(135deg,#fbbf241a,#f59e0b1a);border:1px solid #fbbf244d;display:flex;gap:12px}.approval-icon{font-size:28px;line-height:1}.approval-text{color:#fbbf24;flex:1 1}.approval-text strong{color:#f59e0b;display:block;font-size:15px;margin-bottom:4px}.approval-text p{color:#fbbf24e6;line-height:1.5;margin:0}.auth-header .approval-note{background:#fbbf241a;border:1px solid #fbbf2433;border-radius:6px;color:#fbbf24cc;font-size:12px;margin-top:8px;padding:6px 12px}.guest-join-page{align-items:center;background:radial-gradient(900px 600px at 20% -10%,#6366f12e,#0000 60%),var(--color-bg);display:flex;justify-content:center;min-height:100vh;min-height:100dvh;padding:var(--space-5)}.guest-join-container{background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:420px;padding:var(--space-10) var(--space-8);width:100%}.loading-state{color:var(--color-text);padding:var(--space-10) 0;text-align:center}.loading-state .spinner{animation:spin 1s linear infinite;border-top:4px solid var(--color-border-strong);border:4px solid var(--color-border-strong);border-radius:var(--radius-full);border-top-color:var(--color-accent);height:50px;margin:0 auto var(--space-5);width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-state p{color:var(--color-text-muted);margin:0}.error-state{color:var(--color-text);padding:var(--space-8) 0;text-align:center}.error-state .error-icon{align-items:center;background:#f43f5e29;border:2px solid var(--color-danger);border-radius:var(--radius-full);color:var(--color-danger);display:flex;font-size:var(--text-3xl);font-weight:var(--font-bold);height:60px;justify-content:center;margin:0 auto var(--space-5);width:60px}.error-state h2{font-size:var(--text-2xl);margin:0 0 var(--space-2) 0}.error-state p{color:var(--color-text-muted);margin:0 0 var(--space-6) 0}.error-actions{display:flex;gap:var(--space-3);justify-content:center}.login-link-btn,.register-link-btn{border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-3) var(--space-6);text-decoration:none;transition:all var(--transition-base)}.login-link-btn{background:var(--gradient-primary);color:var(--color-text)}.login-link-btn:hover{box-shadow:var(--shadow-glow);transform:translateY(-2px)}.login-link-btn:focus-visible,.register-link-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.register-link-btn{background:var(--color-surface-2);border:1px solid var(--color-border-strong);color:var(--color-text)}.register-link-btn:hover{background:var(--color-surface-3)}.guest-join-header{margin-bottom:var(--space-8);text-align:center}.guest-join-header h1{color:var(--color-text);font-size:var(--text-3xl);font-weight:var(--font-semibold);margin:0 0 var(--space-2) 0}.guest-join-header p{color:var(--color-text-muted);font-size:var(--text-base);margin:0}.meeting-preview{background:var(--color-accent-soft);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);margin-bottom:var(--space-6);padding:var(--space-5);text-align:center}.meeting-badge{color:var(--color-text-subtle);font-size:var(--text-xs);letter-spacing:1px;margin-bottom:var(--space-2);text-transform:uppercase}.meeting-id{color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-lg);font-weight:var(--font-semibold);word-break:break-all}.participant-info{color:var(--color-success);font-size:var(--text-sm);margin-top:var(--space-3)}.guest-form{margin-bottom:var(--space-6)}.guest-form .input-group{margin-bottom:var(--space-5)}.guest-form label{color:var(--color-text-muted);display:block;font-size:var(--text-sm);font-weight:var(--font-medium);margin-bottom:var(--space-2)}.guest-form input{background:var(--color-surface-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font-size:var(--text-base);padding:var(--space-3) var(--space-4);transition:all var(--transition-base);width:100%}.guest-form input:focus{border-color:var(--color-accent);box-shadow:var(--focus-ring);outline:none}.guest-form input::placeholder{color:var(--color-text-subtle)}.error-message{background:#f43f5e1f;border:1px solid #f43f5e4d;border-radius:var(--radius-md);color:var(--color-danger);font-size:var(--text-sm);margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4)}.join-btn{border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-lg);font-weight:var(--font-semibold);padding:var(--space-4);transition:all var(--transition-base);width:100%}.join-btn.primary-btn{background:var(--gradient-primary);color:var(--color-text)}.join-btn.primary-btn:hover:not(:disabled){box-shadow:var(--shadow-glow);transform:translateY(-2px)}.join-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.join-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.guest-footer{border-top:1px solid var(--color-border);padding-top:var(--space-5);text-align:center}.guest-footer p{color:var(--color-text-subtle);font-size:var(--text-sm);margin:0 0 var(--space-2) 0}.auth-links{align-items:center;display:flex;gap:var(--space-4);justify-content:center}.auth-links .auth-link{color:var(--color-accent);font-size:var(--text-sm);font-weight:var(--font-medium);text-decoration:none;transition:color var(--transition-base)}.auth-links .auth-link:hover{color:var(--color-accent-hover)}.auth-links .auth-link:focus-visible{box-shadow:var(--focus-ring);outline:none}.auth-links .divider{color:var(--color-text-subtle)}@media (max-width:480px){.guest-join-container{padding:var(--space-8) var(--space-5)}.guest-join-header h1{font-size:var(--text-2xl)}.error-actions{flex-direction:column}.login-link-btn,.register-link-btn{text-align:center;width:100%}}.App{min-height:100vh;min-height:100dvh}
/*# sourceMappingURL=main.4fa8a568.css.map*/