@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap";:root,[data-theme=dark]{--bg-primary: #000000;--bg-secondary: #1c1c1e;--bg-tertiary: #2c2c2e;--bg-elevated: rgba(44, 44, 46, .72);--bg-glass: rgba(28, 28, 30, .65);--text-primary: #f5f5f7;--text-secondary: #a1a1a6;--text-tertiary: #6e6e73;--accent: #0a84ff;--accent-hover: #409cff;--accent-subtle: rgba(10, 132, 255, .12);--danger: #ff453a;--danger-subtle: rgba(255, 69, 58, .15);--success: #30d158;--success-subtle: rgba(48, 209, 88, .15);--warning: #ffd60a;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .16);--separator: rgba(255, 255, 255, .06);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 8px 32px rgba(0, 0, 0, .4);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .5);--shadow-glow: 0 0 0 1px rgba(255, 255, 255, .05);--blur-md: blur(20px);--blur-lg: blur(40px);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);color-scheme:dark}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f2f2f7;--bg-tertiary: #e5e5ea;--bg-elevated: rgba(255, 255, 255, .72);--bg-glass: rgba(255, 255, 255, .65);--text-primary: #1d1d1f;--text-secondary: #6e6e73;--text-tertiary: #aeaeb2;--accent: #007aff;--accent-hover: #0071e3;--accent-subtle: rgba(0, 122, 255, .08);--danger: #ff3b30;--danger-subtle: rgba(255, 59, 48, .1);--success: #34c759;--success-subtle: rgba(52, 199, 89, .1);--warning: #ff9f0a;--border: rgba(0, 0, 0, .06);--border-strong: rgba(0, 0, 0, .12);--separator: rgba(0, 0, 0, .04);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 8px 32px rgba(0, 0, 0, .08);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .12);--shadow-glow: 0 0 0 1px rgba(0, 0, 0, .04);color-scheme:light}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{touch-action:manipulation}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100dvh;display:flex;justify-content:center;align-items:center;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .4s ease,color .3s ease;overscroll-behavior:none}#root{width:100%;min-height:100dvh;display:flex;justify-content:center;align-items:center}.lobby{position:relative;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);padding:3rem 2.5rem 2.5rem;text-align:center;max-width:400px;width:90%;box-shadow:var(--shadow-lg),var(--shadow-glow);animation:lobby-appear .6s cubic-bezier(.16,1,.3,1) both}@keyframes lobby-appear{0%{opacity:0;transform:scale(.96) translateY(12px)}}.lobby-logo{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-bottom:.4rem}.lobby-logo svg{width:32px;height:32px;color:var(--accent)}.lobby h1{font-size:1.65rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,var(--text-primary),var(--text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{color:var(--text-secondary);margin-bottom:2rem;font-size:.9rem;font-weight:400}.lobby-error{color:var(--danger);font-size:.85rem;margin-bottom:1rem;padding:.6rem .9rem;background:var(--danger-subtle);border-radius:var(--radius-md)}.divider{color:var(--text-tertiary);margin:1.6rem 0;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:1rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--separator)}.join-row{display:flex;gap:.5rem}.join-row input{flex:1;padding:.7rem 1rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:16px;outline:none;transition:border-color .2s,box-shadow .2s}.join-row input::placeholder{color:var(--text-tertiary)}.join-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.theme-toggle{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border:none;border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s,transform .2s}.theme-toggle:hover{background:var(--border-strong);color:var(--text-primary);transform:scale(1.08)}.theme-toggle:active{transform:scale(.95)}.theme-toggle svg{width:18px;height:18px}.btn{padding:.72rem 1.3rem;border:none;border-radius:var(--radius-md);font-family:inherit;font-size:.92rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;width:100%}.btn-primary:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 16px #007aff4d}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--border-strong)}.call{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;display:flex;align-items:center;justify-content:center}.remote-video{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.remote-video video{width:100%;height:100%;object-fit:contain}.remote-placeholder{display:flex;flex-direction:column;align-items:center;gap:1rem}.remote-placeholder svg{width:48px;height:48px;color:#ffffff26;animation:placeholder-pulse 3s ease-in-out infinite}@keyframes placeholder-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.05)}}.pip-wrapper{position:absolute;top:calc(3.2rem + var(--safe-top));right:calc(.8rem + var(--safe-right));width:180px;z-index:10;transition:opacity .3s,transform .3s}.pip-wrapper.pip-hidden{opacity:0;pointer-events:none;transform:scale(.8) translateY(-10px)}.pip-video{width:100%;border-radius:var(--radius-lg);overflow:hidden;border:2px solid rgba(255,255,255,.12);box-shadow:var(--shadow-lg);transition:border-color .2s;aspect-ratio:16 / 9}.pip-video video{width:100%;height:100%;object-fit:cover;display:block}.pip-resize-handle{position:absolute;bottom:-6px;left:-6px;width:44px;height:44px;cursor:nwse-resize;z-index:2;display:flex;align-items:center;justify-content:center;opacity:.5;transition:opacity .2s;touch-action:none}.pip-wrapper:hover .pip-resize-handle,.pip-wrapper.pip-resizing .pip-resize-handle{opacity:1}.pip-resize-handle svg{width:14px;height:14px;color:#ffffffb3;transform:rotate(90deg);filter:drop-shadow(0 1px 3px rgba(0,0,0,.6))}.pip-wrapper.pip-resizing .pip-video{border-color:var(--accent)}.top-bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:calc(.5rem + var(--safe-top)) calc(.8rem + var(--safe-right)) .5rem calc(.8rem + var(--safe-left));z-index:15;background:linear-gradient(to bottom,rgba(0,0,0,.5) 0%,transparent 100%)}.top-bar-left{display:flex;align-items:center;gap:.5rem}.top-bar-right{display:flex;align-items:center;gap:.4rem}.session-badge{font-family:SF Mono,SFMono-Regular,Menlo,monospace;font-size:.72rem;font-weight:500;color:#fff9;background:#ffffff1a;padding:.3rem .7rem;border-radius:var(--radius-full);-webkit-backdrop-filter:var(--blur-md);backdrop-filter:var(--blur-md);border:1px solid rgba(255,255,255,.06)}.top-action-btn{font-family:inherit;font-size:.72rem;font-weight:500;color:#fffc;background:#ffffff1a;border:1px solid rgba(255,255,255,.06);padding:.3rem .7rem;border-radius:var(--radius-full);cursor:pointer;-webkit-backdrop-filter:var(--blur-md);backdrop-filter:var(--blur-md);transition:background .2s,color .2s;display:flex;align-items:center;gap:.35rem}.top-action-btn:hover{background:#ffffff2e;color:#fff}.top-action-btn svg{width:13px;height:13px}.theme-toggle-call{width:32px;height:32px;border:none;border-radius:var(--radius-full);background:#ffffff1a;color:#ffffffb3;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:var(--blur-md);backdrop-filter:var(--blur-md);border:1px solid rgba(255,255,255,.06);transition:background .2s,color .2s}.theme-toggle-call:hover{background:#ffffff2e;color:#fff}.theme-toggle-call svg{width:15px;height:15px}.status-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.9rem;font-weight:600;padding:.55rem 1.4rem;border-radius:var(--radius-full);background:#0000008c;-webkit-backdrop-filter:var(--blur-lg);backdrop-filter:var(--blur-lg);border:1px solid rgba(255,255,255,.08);z-index:10;pointer-events:none;white-space:nowrap}.status-waiting{color:#fff9}.status-connecting{color:var(--warning);animation:status-blink 2s ease-in-out infinite}.status-connected{display:none}.status-reconnecting{color:var(--warning);animation:status-blink 1.2s ease-in-out infinite}.status-disconnected{color:var(--danger)}@keyframes status-blink{0%,to{opacity:1}50%{opacity:.5}}.controls-bar{position:absolute;bottom:calc(1.5rem + var(--safe-bottom));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#1c1c1ea6;-webkit-backdrop-filter:var(--blur-lg);backdrop-filter:var(--blur-lg);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl);z-index:20;box-shadow:var(--shadow-lg);animation:controls-appear .5s cubic-bezier(.16,1,.3,1) .3s both}@keyframes controls-appear{0%{opacity:0;transform:translate(-50%) translateY(20px)}}.ctrl-btn{position:relative;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;border-radius:var(--radius-full);background:#ffffff1a;color:#fff;cursor:pointer;transition:background .2s,transform .15s,color .2s;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ctrl-btn svg{width:22px;height:22px}.ctrl-btn:hover{background:#ffffff2e;transform:scale(1.06)}.ctrl-btn:active{transform:scale(.94)}.ctrl-btn.ctrl-off{background:var(--danger-subtle);color:var(--danger)}.ctrl-btn.ctrl-off:hover{background:#ff453a40}.ctrl-btn.ctrl-active{background:var(--success-subtle);color:var(--success)}.ctrl-btn.ctrl-active:hover{background:#30d15840}.ctrl-btn.ctrl-hangup{background:var(--danger);color:#fff}.ctrl-btn.ctrl-hangup:hover{background:#ff6680;transform:scale(1.06)}.ctrl-btn-screen{display:flex}.volume-control{display:flex;align-items:center;gap:.3rem;padding:0 .4rem}.volume-icon{color:#fff9}.volume-icon svg{width:18px;height:18px}.volume-control input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:80px;height:4px;border-radius:2px;background:#ffffff26;outline:none;cursor:pointer}.volume-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0000004d}.volume-control input[type=range]::-moz-range-thumb{width:14px;height:14px;border:none;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0000004d}@media(max-width:600px){.lobby{padding:2.5rem 1.8rem 2rem;border-radius:var(--radius-lg)}.pip-wrapper{top:calc(2.8rem + var(--safe-top));right:calc(.5rem + var(--safe-right));width:120px}.pip-video{border-radius:var(--radius-md)}.top-bar{padding:calc(.4rem + var(--safe-top)) .5rem .4rem .5rem}.session-badge,.top-action-btn{font-size:.65rem;padding:.2rem .5rem}.controls-bar{bottom:calc(.8rem + var(--safe-bottom));gap:.35rem;padding:.4rem;border-radius:var(--radius-lg)}.ctrl-btn{width:44px;height:44px}.ctrl-btn svg{width:20px;height:20px}.volume-control,.ctrl-btn-screen{display:none}}@media(max-width:400px){.lobby{width:95%;padding:2rem 1.4rem 1.6rem}.pip-wrapper{width:100px}.ctrl-btn{width:40px;height:40px}.ctrl-btn svg{width:18px;height:18px}}@media(max-height:500px)and (orientation:landscape){.pip-wrapper{top:calc(2.5rem + var(--safe-top));right:calc(.5rem + var(--safe-right));width:140px}.top-bar{padding:calc(.3rem + var(--safe-top)) calc(.5rem + var(--safe-right)) .3rem calc(.5rem + var(--safe-left))}.controls-bar{bottom:calc(.5rem + var(--safe-bottom));gap:.3rem;padding:.35rem}.ctrl-btn{width:40px;height:40px}.ctrl-btn svg{width:18px;height:18px}.volume-control,.ctrl-btn-screen{display:none}}
