:root{--bg: #ffffff;--bg-warm: #fffcf6;--bg-elevated: rgba(255, 255, 255, .82);--bg-deep: rgba(255, 255, 255, .55);--ink: #1a1614;--ink-soft: rgba(26, 22, 20, .58);--ink-faint: rgba(26, 22, 20, .32);--brown: #8b7355;--brown-hover: #7a6549;--brown-soft: rgba(139, 115, 85, .08);--line: rgba(26, 22, 20, .1);--line-strong: rgba(26, 22, 20, .18);--status-live: #5a8a5a;--status-live-hover: #4a7a4a;--status-amber: #c49a3c;--status-error: #9a4040;--status-error-strong: #c53030;--glass-bg: rgba(255, 252, 246, .88);--glass-bg-heavy: rgba(255, 251, 243, .92);--glass-border: rgba(255, 248, 238, .6);--glass-blur: blur(14px) saturate(1.5);--glass-shadow: 0 4px 24px rgba(26, 22, 20, .07), 0 1px 4px rgba(26, 22, 20, .04);--glass-shadow-lg: 0 12px 40px rgba(26, 22, 20, .11), 0 3px 10px rgba(26, 22, 20, .06);--radius-sm: .45rem;--radius-md: .8rem;--radius-lg: 1.1rem;--radius-xl: 1.5rem;--ease-out: cubic-bezier(.17, .84, .44, 1);--ease-snap: cubic-bezier(.3, .84, .38, 1.05);--duration: .38s;--duration-fast: .2s;--font-display: "Times New Roman", Times, Georgia, serif;--font-ui: "Avenir Next", "Helvetica Neue", Arial, sans-serif;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--watermark-opacity: .04;--watermark-size: 48px;--on-accent: #ffffff;--call-bg: #0d0b0a;--call-surface: #1a1614;--call-surface-light: rgba(255, 255, 255, .06);--call-border: rgba(255, 255, 255, .08);--call-text: rgba(255, 255, 255, .85);--call-text-soft: rgba(255, 255, 255, .45);--call-text-strong: rgba(255, 255, 255, .92)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}[hidden]{display:none!important}body{font-family:var(--font-ui);color:var(--ink);background:var(--bg);line-height:1.72;letter-spacing:.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;min-height:100dvh}#app{min-height:100vh;min-height:100dvh}.has-watermark{position:relative;overflow:hidden}.has-watermark:after{content:"";position:absolute;top:var(--space-4);right:var(--space-4);width:var(--watermark-size);height:calc(var(--watermark-size) * 1.73);background:url(/brand/logo-bulb.png) no-repeat center / contain;opacity:var(--watermark-opacity);pointer-events:none;z-index:0}.has-watermark>*{position:relative;z-index:1}.video-watermark{display:none}.logo-bulb{display:block;margin:0 auto var(--space-6);filter:drop-shadow(0 2px 8px rgba(26,22,20,.08));animation:fadeIn .6s var(--ease-out) both}.state-fullscreen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:radial-gradient(ellipse at 25% 15%,rgba(139,115,85,.05) 0%,transparent 55%),radial-gradient(ellipse at 75% 85%,rgba(139,115,85,.04) 0%,transparent 55%),radial-gradient(ellipse at 50% 50%,rgba(255,252,246,.4) 0%,transparent 70%),var(--bg)}.message-card{text-align:center;max-width:420px;width:100%;padding:var(--space-10) var(--space-8) var(--space-8);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow-lg);animation:cardEnter .5s var(--ease-out) both}.message-card h1{font-family:var(--font-display);font-size:clamp(1.3rem,3.5vw,1.5rem);font-weight:400;letter-spacing:.04em;margin-bottom:var(--space-3)}.message-card p{color:var(--ink-soft);font-size:.92rem;line-height:1.72}@keyframes fadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes cardEnter{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes subtlePulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}@keyframes breathe{0%,to{opacity:.5}50%{opacity:.9}}@keyframes gentleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes dotPulse{0%,80%,to{opacity:.2;transform:scale(.7)}40%{opacity:1;transform:scale(1.1)}}@keyframes qualityPulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}#state-checking .brand-mark{animation:fadeIn .8s var(--ease-out) both}#state-checking .logo-bulb{animation:fadeIn .8s var(--ease-out) both,gentleFloat 3s ease-in-out .8s infinite;margin-bottom:0}.lobby-card{width:100%;max-width:380px;padding:var(--space-10) var(--space-8) var(--space-8);text-align:center;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow-lg);animation:cardEnter .4s var(--ease-out) both}.lobby-card h1{font-family:var(--font-display);font-size:clamp(1.3rem,3.5vw,1.5rem);font-weight:400;letter-spacing:.04em;margin-bottom:var(--space-1);animation:fadeInUp .5s var(--ease-out) .1s both}.lobby-subtitle{color:var(--ink-soft);font-size:.88rem;margin-bottom:var(--space-5);animation:fadeInUp .5s var(--ease-out) .2s both}.lobby-divider{width:32px;height:1px;background:var(--line);margin:0 auto var(--space-5);animation:fadeIn .6s var(--ease-out) .3s both}.lobby-form{display:flex;flex-direction:column;gap:var(--space-3);animation:fadeInUp .5s var(--ease-out) .35s both}.lobby-form input{padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:.95rem;color:var(--ink);background:#ffffffa6;outline:none;text-align:center;transition:border-color var(--duration) var(--ease-out),box-shadow var(--duration) var(--ease-out),background var(--duration) var(--ease-out)}.lobby-form input::placeholder{color:var(--ink-faint);font-style:italic}.lobby-form input:focus{border-color:var(--brown);box-shadow:0 0 0 3px #8b73551a;background:#fffc}.lobby-form button{padding:var(--space-3) var(--space-6);background:var(--brown);color:var(--on-accent);border:none;border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:.9rem;font-weight:500;letter-spacing:.03em;cursor:pointer;transition:background var(--duration) var(--ease-out),transform var(--duration-fast) var(--ease-out),box-shadow var(--duration) var(--ease-out)}.lobby-form button:hover{background:var(--brown-hover);box-shadow:0 2px 12px #8b735533}.lobby-form button:active{transform:scale(.97)}.lobby-form button:focus-visible{outline:2px solid var(--brown);outline-offset:2px}.lobby-form button:disabled{opacity:.5;cursor:default;box-shadow:none;transform:none}.lobby-error{margin-top:var(--space-2);font-size:.85rem;color:var(--status-error)}.setup-card{max-width:440px;width:90%;padding:var(--space-8) var(--space-6) var(--space-6);border-radius:var(--radius-xl);background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow-lg);text-align:center;animation:cardEnter .4s var(--ease-out) both}.setup-card h1{font-family:var(--font-display);font-size:clamp(1.3rem,3vw,1.6rem);font-weight:400;letter-spacing:.04em;color:var(--ink);margin:0 0 var(--space-1);animation:fadeInUp .5s var(--ease-out) .05s both}.setup-subtitle{font-family:var(--font-ui);font-size:.84rem;color:var(--ink-soft);margin:0 0 var(--space-5);animation:fadeInUp .5s var(--ease-out) .12s both}.setup-preview{position:relative;width:100%;aspect-ratio:4 / 3;border-radius:var(--radius-lg);overflow:hidden;background:var(--call-bg);margin-bottom:var(--space-4);box-shadow:inset 0 0 0 1px #0000000f,0 2px 12px #1a161414;animation:fadeIn .5s var(--ease-out) .18s both}.setup-preview video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1);display:block;opacity:0;transition:opacity .8s var(--ease-out)}.setup-preview video.stream-active{opacity:1}.setup-no-camera{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--space-2);color:#ffffff59;font-family:var(--font-ui);font-size:.82rem;letter-spacing:.02em}.setup-no-camera:before{content:"";display:block;width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(255,255,255,.12);background:#ffffff0a}.setup-tagline{text-align:right;margin-bottom:var(--space-4);font-family:var(--font-display);font-size:1.45rem;letter-spacing:.04em;color:var(--ink);line-height:1.2;animation:fadeIn .5s var(--ease-out) .2s both}.setup-tagline-looking{opacity:0;transition:opacity .6s var(--ease-out) .1s}.setup-tagline-meetings{transition:opacity .35s var(--ease-out)}.setup-tagline-period{opacity:0;transition:opacity .5s var(--ease-out) .25s}.setup-tagline.revealed .setup-tagline-looking{opacity:1}.setup-tagline.revealed .setup-tagline-meetings{display:none}.setup-tagline.revealed .setup-tagline-period{opacity:1}.setup-controls{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-5);animation:fadeInUp .4s var(--ease-out) .25s both}.setup-toggle{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-strong);background:transparent;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.setup-toggle svg{width:20px;height:20px}.setup-toggle:hover{background:#1a16140a;box-shadow:0 1px 6px #1a16140f}.setup-toggle.active{background:#9a404014;border-color:#9a404040;color:var(--status-error)}.setup-mic-level{width:80px;height:5px;border-radius:3px;background:#1a16140f;overflow:hidden}.setup-mic-bar{height:100%;width:0%;background:var(--status-live);border-radius:3px;transition:width .08s linear}.setup-join-btn{display:inline-block;padding:12px 40px;border:none;border-radius:var(--radius-sm);background:var(--brown);color:var(--on-accent);font-family:var(--font-ui);font-size:.9rem;font-weight:500;letter-spacing:.03em;cursor:pointer;transition:background var(--duration) var(--ease-out),transform var(--duration-fast) var(--ease-out),box-shadow var(--duration) var(--ease-out);animation:fadeInUp .4s var(--ease-out) .32s both}.setup-join-btn:hover{background:var(--brown-hover);box-shadow:0 2px 12px #8b735533}.setup-join-btn:active{transform:scale(.97)}.setup-join-btn:focus-visible{outline:2px solid var(--brown);outline-offset:2px}#state-waiting .state-fullscreen,#state-waiting.state-fullscreen{position:relative}.waiting-card{width:100%;max-width:440px;padding:var(--space-12) var(--space-8) var(--space-10);text-align:center;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow-lg);animation:cardEnter .6s var(--ease-out) both}.waiting-card .logo-bulb{animation:fadeIn .6s var(--ease-out) both,gentleFloat 4s ease-in-out 1s infinite}.waiting-card h1{font-family:var(--font-display);font-size:clamp(1.3rem,3.5vw,1.5rem);font-weight:400;letter-spacing:.04em;margin-bottom:var(--space-6);animation:fadeInUp .6s var(--ease-out) .15s both}.waiting-indicator{margin-bottom:var(--space-6);animation:fadeInUp .5s var(--ease-out) .3s both}.waiting-dots{display:flex;justify-content:center;gap:.4rem}.waiting-dots span{width:6px;height:6px;border-radius:50%;background:var(--brown);opacity:.4;animation:dotPulse 1.4s var(--ease-out) infinite}.waiting-dots span:nth-child(2){animation-delay:.2s}.waiting-dots span:nth-child(3){animation-delay:.4s}.waiting-dots-sm span{width:4px;height:4px;background:#ffffffb3}.waiting-copy{font-family:var(--font-display);font-size:1.05rem;font-style:italic;color:var(--ink-soft);letter-spacing:.02em;line-height:1.65;min-height:3.3em;opacity:0;transform:translateY(6px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);padding:0 var(--space-2)}.waiting-copy.visible{opacity:1;transform:translateY(0)}.waiting-name{margin-top:var(--space-8);font-size:.8rem;color:var(--ink-faint);letter-spacing:.03em;animation:fadeInUp .5s var(--ease-out) .5s both}.waiting-name strong{font-weight:500;color:var(--ink-soft)}.ambient-particles{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0}.ambient-particles span{position:absolute;width:6px;height:6px;background:radial-gradient(circle,rgba(139,115,85,.12) 0%,transparent 70%);border-radius:50%;animation:particleDrift linear infinite}.ambient-particles span:nth-child(1){left:12%;width:8px;height:8px;animation-duration:22s;animation-delay:0s}.ambient-particles span:nth-child(2){left:30%;width:5px;height:5px;animation-duration:28s;animation-delay:-4s}.ambient-particles span:nth-child(3){left:48%;width:7px;height:7px;animation-duration:25s;animation-delay:-8s}.ambient-particles span:nth-child(4){left:65%;width:4px;height:4px;animation-duration:30s;animation-delay:-12s}.ambient-particles span:nth-child(5){left:80%;width:6px;height:6px;animation-duration:24s;animation-delay:-2s}.ambient-particles span:nth-child(6){left:22%;width:5px;height:5px;animation-duration:26s;animation-delay:-16s}.ambient-particles span:nth-child(7){left:55%;width:9px;height:9px;animation-duration:32s;animation-delay:-6s}.ambient-particles span:nth-child(8){left:88%;width:4px;height:4px;animation-duration:27s;animation-delay:-10s}@keyframes particleDrift{0%{top:110%;opacity:0;transform:translate(0) scale(.5)}10%{opacity:1}90%{opacity:1}to{top:-10%;opacity:0;transform:translate(40px) scale(1)}}#state-waiting .logo-bulb{animation:fadeIn .6s var(--ease-out) both,logoGlow 4s ease-in-out infinite 1s}@keyframes logoGlow{0%,to{filter:drop-shadow(0 2px 8px rgba(26,22,20,.08))}50%{filter:drop-shadow(0 2px 16px rgba(139,115,85,.2)) drop-shadow(0 0 24px rgba(139,115,85,.08))}}.connected-flourish{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:25;pointer-events:none;width:0;height:0}.flourish-ring{position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;border:1.5px solid rgba(139,115,85,.45);transform:translate(-50%,-50%);animation:flourishRipple 2.6s var(--ease-out) both;box-shadow:0 0 12px #8b73550f}.flourish-ring:nth-child(2){animation-delay:.3s;border-color:#8b735547}.flourish-ring:nth-child(3){animation-delay:.6s;border-color:#8b735524}@keyframes flourishRipple{0%{width:0;height:0;opacity:1;border-width:2px}30%{opacity:.7;border-width:1.5px}to{width:min(320px,60vw);height:min(320px,60vw);opacity:0;border-width:.5px}}.end-petals{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0}.end-petals span{position:absolute;top:-20px;width:4px;height:4px;border-radius:50%;opacity:0;animation:petalFall linear forwards}@keyframes petalFall{0%{opacity:0;transform:translate(0) rotate(0)}8%{opacity:.6}80%{opacity:.3}to{opacity:0;transform:translate(30px) rotate(180deg);top:100%}}#state-call{position:relative;height:100vh;height:100dvh;background:radial-gradient(ellipse at 50% 50%,rgba(26,22,20,.3) 0%,transparent 70%),radial-gradient(ellipse at 50% 0%,rgba(26,22,20,.8) 0%,transparent 60%),var(--call-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}#state-call:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 18% 85%,rgba(139,115,85,.055) 0%,transparent 50%),radial-gradient(ellipse at 78% 12%,rgba(139,115,85,.04) 0%,transparent 42%);background-size:200% 200%;animation:ambientDrift 35s ease-in-out infinite alternate;pointer-events:none;z-index:0}@keyframes ambientDrift{0%{background-position:0% 0%}50%{background-position:3% 5%}to{background-position:-2% -3%}}#state-call:after{content:"";position:absolute;top:5%;left:50%;transform:translate(-50%);width:40px;height:69.2px;background:url(/brand/logo-bulb.png) no-repeat center / contain;opacity:.07;pointer-events:none;z-index:0;filter:brightness(3)}#videos{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);width:100%;max-width:1200px;padding:var(--space-4);align-items:center;transition:max-width .5s var(--ease-out),padding .5s var(--ease-out),gap .5s var(--ease-out)}#videos video,#remote-videos video{width:100%;aspect-ratio:16/9;background:var(--call-surface);border-radius:var(--radius-lg);object-fit:cover;border:1px solid var(--call-border);box-shadow:0 4px 20px #0000004d;transition:width .4s var(--ease-out),border-radius .4s var(--ease-out),border .4s var(--ease-out),box-shadow .4s var(--ease-out)}#local-video{width:100%;aspect-ratio:16/9;background:var(--call-surface);border-radius:var(--radius-lg);object-fit:cover;transform:scaleX(-1);border:1px solid var(--call-border);box-shadow:0 4px 20px #0000004d;transition:width .4s var(--ease-out),border-radius .4s var(--ease-out),border .4s var(--ease-out),box-shadow .4s var(--ease-out)}#local-video.camera-off{background:var(--call-surface)}#videos.view-focus-remote{grid-template-columns:1fr;grid-template-rows:1fr;max-width:none;padding:0;align-items:stretch;height:100%}#videos.view-focus-remote #remote-videos{width:100%;height:100%}#videos.view-focus-remote #remote-videos video{width:100%;height:100%;aspect-ratio:auto;border-radius:0;border:none}#videos.view-focus-remote #local-video{position:absolute;bottom:100px;right:var(--space-4);width:200px;height:auto;aspect-ratio:16/9;z-index:5;border-radius:var(--radius-md);border:2px solid rgba(255,255,255,.12);box-shadow:0 4px 20px #00000080}#videos.view-focus-local{grid-template-columns:1fr;grid-template-rows:1fr;max-width:none;padding:0;align-items:stretch;height:100%}#videos.view-focus-local #local-video{width:100%;height:100%;aspect-ratio:auto;border-radius:0;border:none}#videos.view-focus-local #remote-videos{position:absolute;bottom:100px;right:var(--space-4);width:200px;z-index:5}#videos.view-focus-local #remote-videos video{width:200px;aspect-ratio:16/9;border-radius:var(--radius-md);border:2px solid rgba(255,255,255,.12);box-shadow:0 4px 20px #00000080}#btn-view .icon-view-focus,#btn-view.active .icon-view-split{display:none}#btn-view.active .icon-view-focus{display:block}.call-status{margin-top:var(--space-3);color:var(--call-text-soft);font-size:.78rem;font-family:var(--font-ui);letter-spacing:.03em;position:absolute;bottom:100px;text-align:center;transition:opacity var(--duration) var(--ease-out)}.connection-quality{position:absolute;top:var(--space-4);right:var(--space-4);z-index:10;padding:6px 8px;background:#00000059;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-sm);border:1px solid var(--call-border);cursor:default;transition:opacity var(--duration) var(--ease-out)}.quality-bars{display:block;width:16px;height:12px}.quality-bars .bar{transition:opacity .5s var(--ease-out)}[data-quality=good] .bar{opacity:1;color:var(--status-live)}[data-quality=fair] .bar{color:var(--status-amber)}[data-quality=fair] .bar-3{opacity:.2}[data-quality=poor] .bar{color:var(--status-error)}[data-quality=poor] .bar-2,[data-quality=poor] .bar-3{opacity:.2}[data-quality=poor] .bar-1{animation:qualityPulse 2s ease-in-out infinite}.peer-reconnecting-banner{position:absolute;top:var(--space-4);left:50%;transform:translate(-50%);z-index:10;display:flex;align-items:center;gap:8px;padding:10px 18px;background:#00000080;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--call-border);border-radius:var(--radius-lg);color:var(--call-text);font-size:.82rem;font-family:var(--font-ui);animation:cardEnter .3s var(--ease-out) both;box-shadow:0 4px 16px #0000004d}.waiting-notification{position:absolute;top:var(--space-4);left:50%;transform:translate(-50%);z-index:10;display:flex;align-items:center;gap:10px;padding:10px 12px 10px 16px;background:#0000008c;backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);color:var(--call-text);font-size:.82rem;font-family:var(--font-ui);animation:notificationSlideIn .4s var(--ease-snap) both;box-shadow:0 8px 32px #00000059,0 2px 8px #0003;white-space:nowrap}@keyframes notificationSlideIn{0%{opacity:0;transform:translate(-50%) translateY(-12px) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.waiting-notification-name{font-weight:600;color:var(--call-text-strong)}.waiting-notification-extra{color:var(--call-text-soft);font-size:.72rem;letter-spacing:.02em}.waiting-notification-admit{margin-left:2px;padding:5px 14px;background:var(--status-live);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.78rem;font-family:var(--font-ui);font-weight:500;cursor:pointer;letter-spacing:.02em;transition:background var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.waiting-notification-admit:hover{background:var(--status-live-hover);transform:scale(1.04);box-shadow:0 2px 8px #5a8a5a4d}.waiting-notification-admit:active{transform:scale(.97)}.waiting-notification-dismiss{background:none;border:none;color:#ffffff4d;font-size:1.05rem;cursor:pointer;padding:2px 4px;line-height:1;transition:color var(--duration-fast) var(--ease-out)}.waiting-notification-dismiss:hover{color:#ffffffb3}.peer-reconnecting-banner:not([hidden])~.waiting-notification:not([hidden]){top:calc(var(--space-4) + 52px)}.call-controls{position:absolute;bottom:28px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:10px 20px;background:#0d0b0a8c;backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border:1px solid var(--call-border);border-radius:var(--radius-xl);z-index:20;transition:opacity .4s var(--ease-out),transform .4s var(--ease-out);box-shadow:0 8px 32px #0000004d}.call-controls.controls-hidden{opacity:0;transform:translate(-50%) translateY(8px);pointer-events:none}.control-btn{width:44px;height:44px;border-radius:50%;border:none;background:var(--call-surface-light);color:var(--call-text-strong);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);padding:0}.control-btn:hover{background:#ffffff26;transform:scale(1.06);box-shadow:0 0 12px #ffffff0f}.control-btn:active{transform:scale(.95)}.control-btn:focus-visible{outline:2px solid var(--brown);outline-offset:2px}.control-btn .icon{width:18px;height:18px}.control-btn .icon-mic-off,.control-btn .icon-camera-off,.control-btn .icon-lock,.control-btn .icon-blur-on,.control-btn .icon-noise-on,.control-btn.active .icon-mic,.control-btn.active .icon-camera,.control-btn.active .icon-unlock,.control-btn.active .icon-blur-off,.control-btn.active .icon-noise-off{display:none}.control-btn.active .icon-mic-off,.control-btn.active .icon-camera-off,.control-btn.active .icon-lock,.control-btn.active .icon-blur-on,.control-btn.active .icon-noise-on{display:block}.control-btn.active{background:#c83c3c59}.control-btn.active:hover{background:#c83c3c80;transform:scale(1.06);box-shadow:0 0 14px #c83c3c33}#btn-screenshare.active{background:#5a8a5a66}#btn-screenshare.active:hover{background:#5a8a5a8c;box-shadow:0 0 14px #5a8a5a33}#btn-blur.active{background:#5a8a5a66}#btn-blur.active:hover{background:#5a8a5a8c;box-shadow:0 0 14px #5a8a5a33}#btn-noise.active{background:#5a8a5a66}#btn-noise.active:hover{background:#5a8a5a8c;box-shadow:0 0 14px #5a8a5a33}#btn-captions.active{background:#5a8a5a66}#btn-captions.active:hover{background:#5a8a5a8c;box-shadow:0 0 14px #5a8a5a33}#btn-transcript.active{background:#5a8a5a66}#btn-transcript.active:hover{background:#5a8a5a8c;box-shadow:0 0 14px #5a8a5a33}#btn-flag.active{background:#c49a3c59}.control-btn .icon-cc-on,.control-btn.active .icon-cc-off{display:none}.control-btn.active .icon-cc-on{display:block}#btn-lock.active{background:#c49a3c59}#btn-lock.active:hover{background:#c49a3c80;box-shadow:0 0 14px #c49a3c33}.perf-warning{position:absolute;bottom:96px;left:50%;transform:translate(-50%);z-index:15;padding:8px 18px;background:#c49a3c33;-webkit-backdrop-filter:blur(10px) saturate(1.3);backdrop-filter:blur(10px) saturate(1.3);border:1px solid rgba(196,154,60,.25);border-radius:var(--radius-md);color:var(--call-text);font-size:.78rem;font-family:var(--font-ui);letter-spacing:.01em;white-space:nowrap;animation:cardEnter .3s var(--ease-out) both}.control-btn-end{background:var(--status-error-strong);width:52px;border-radius:22px;margin-left:4px;position:relative}.control-btn-end:before{content:"";position:absolute;left:-5px;top:25%;height:50%;width:1px;background:#ffffff0f}.control-btn-end:hover{background:#a82828;transform:scale(1.06);box-shadow:0 0 16px #c530304d}.screen-share-active #videos{grid-template-columns:1fr;position:relative}.screen-share-active #remote-videos video{width:100%;max-height:80vh;aspect-ratio:auto;object-fit:contain}.screen-share-active #local-video{position:absolute;bottom:12px;right:12px;width:180px;aspect-ratio:16/9;border-radius:var(--radius-sm);border:2px solid rgba(255,255,255,.15);z-index:5;box-shadow:0 4px 16px #0006}.screen-share-local #local-video{position:absolute;bottom:12px;right:12px;width:180px;aspect-ratio:16/9;border-radius:var(--radius-sm);border:2px solid rgba(90,138,90,.4);z-index:5;box-shadow:0 4px 16px #0006;transform:none}.end-card{animation:cardEnter .5s var(--ease-out) both;max-width:440px}.end-duration{font-family:var(--font-ui);font-size:.88rem;color:var(--ink-soft);margin-bottom:var(--space-4)}.end-divider{width:40px;height:1px;background:var(--line);margin:0 auto var(--space-5)}.end-brief-section{margin-bottom:var(--space-6)}.end-brief-label{font-family:var(--font-ui);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--line)}.end-brief-placeholder{font-family:var(--font-display);font-style:italic;font-size:.92rem;color:var(--ink-soft);line-height:1.65}.end-dashboard-btn{display:inline-block;margin-top:var(--space-4);text-decoration:none;text-align:center}.end-footer{padding-top:var(--space-4);border-top:1px solid var(--line)}.end-link{display:inline-block;font-family:var(--font-ui);font-size:.8rem;color:var(--brown);text-decoration:none;letter-spacing:.02em;transition:color var(--duration) var(--ease-out);position:relative}.end-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--brown);transition:width var(--duration) var(--ease-out)}.end-link:hover{color:var(--brown-hover)}.end-link:hover:after{width:100%}.rejoin-actions{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-5)}.btn-secondary{padding:var(--space-3) var(--space-5);background:var(--brown);color:var(--on-accent);border:none;border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:.88rem;font-weight:500;cursor:pointer;transition:background var(--duration) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.btn-secondary:hover{background:var(--brown-hover)}.btn-secondary:active{transform:scale(.97)}.btn-secondary:focus-visible{outline:2px solid var(--brown);outline-offset:2px}.btn-muted{background:transparent;color:var(--ink-soft);border:1px solid var(--line)}.btn-muted:hover{background:#00000008;border-color:var(--line-strong)}.state-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:fadeIn .25s var(--ease-out) both}.state-overlay .message-card{animation:cardEnter .3s var(--ease-out) both}.state-overlay .waiting-dots{margin-bottom:var(--space-4)}.state-overlay p{color:var(--ink-soft);font-size:.9rem}@media(max-width:768px){.lobby-card,.waiting-card,.message-card,.setup-card{max-width:100%;padding:var(--space-8) var(--space-6)}.waiting-copy{font-size:.95rem}#btn-view{display:none}#videos,#videos.view-split,#videos.view-focus-remote,#videos.view-focus-local{grid-template-columns:1fr;grid-template-rows:3fr 2fr;position:relative;padding:0;gap:0;height:100%}#remote-videos,#videos.view-focus-local #remote-videos{position:static;width:100%;height:100%;overflow:hidden;order:-1}#remote-videos video,#videos.view-focus-local #remote-videos video{width:100%;height:100%;border-radius:0;aspect-ratio:auto;object-fit:cover;border:none;box-shadow:none}#remote-videos:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 5%,rgba(139,115,85,.25) 30%,rgba(139,115,85,.4) 50%,rgba(139,115,85,.25) 70%,transparent 95%);z-index:2}#local-video,#videos.view-focus-remote #local-video{position:static;width:100%;height:100%;aspect-ratio:auto;border-radius:0;border:none;z-index:auto;box-shadow:none}.call-controls{bottom:env(safe-area-inset-bottom,12px);padding:8px 14px;gap:6px;row-gap:8px}.control-btn{width:40px;height:40px;min-width:40px;min-height:40px}.control-btn .icon{width:17px;height:17px}.call-status{bottom:calc(80px + env(safe-area-inset-bottom,0px));font-size:.72rem}.captions-overlay{bottom:calc(90px + env(safe-area-inset-bottom,0px));font-size:.95rem}.perf-warning{bottom:calc(80px + env(safe-area-inset-bottom,0px))}.connection-quality{top:calc(var(--space-3) + env(safe-area-inset-top,0px));padding:5px 6px;background:#00000073}.quality-bars{width:14px;height:10px}.recording-indicator{top:calc(var(--space-3) + env(safe-area-inset-top,0px))}.screen-share-active #local-video,.screen-share-local #local-video{position:absolute;width:100px;bottom:calc(80px + env(safe-area-inset-bottom,0px));right:12px;aspect-ratio:16/9;border-radius:var(--radius-md);border:2px solid rgba(255,255,255,.12);z-index:5;box-shadow:0 4px 16px #00000080}#state-call .transcript-panel{top:auto;bottom:0;left:0;right:0;width:100%;max-width:100%;height:55vh;border-left:none;border-top:1px solid var(--call-border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:0 -8px 32px #0000004d;transform:translateY(100%)}#state-call .transcript-panel.open{transform:translateY(0)}.transcript-header{padding:var(--space-2) var(--space-4);cursor:grab}.transcript-header:before{content:"";display:block;width:36px;height:4px;background:#fff3;border-radius:2px;margin:0 auto var(--space-2)}#state-lobby.state-fullscreen,#state-setup.state-fullscreen{overflow-y:auto;-webkit-overflow-scrolling:touch;align-items:flex-start}#state-lobby .lobby-card,#state-setup .setup-card{margin:auto}}@media(max-width:480px){.state-fullscreen{padding:var(--space-4)}.lobby-card,.waiting-card,.message-card,.setup-card{padding:var(--space-6) var(--space-5);border-radius:var(--radius-lg)}.lobby-card h1,.waiting-card h1,.message-card h1{font-size:1.25rem}.lobby-subtitle{font-size:.84rem}.waiting-copy{font-size:.9rem;padding:0}.waiting-card{padding:var(--space-8) var(--space-5) var(--space-6)}.logo-bulb{margin-bottom:var(--space-5)}.end-card{max-width:100%;max-height:90vh;max-height:90dvh;overflow-y:auto;-webkit-overflow-scrolling:touch}.brief-actions .btn-secondary,.brief-error .btn-secondary,.end-dashboard-btn{display:block;width:100%;text-align:center}.call-controls{width:calc(100vw - var(--space-8));max-width:calc(100vw - var(--space-8));flex-wrap:wrap;justify-content:center;gap:6px;row-gap:8px;padding:8px 12px}.control-btn{width:36px;height:36px;min-width:36px;min-height:36px}.control-btn-end{width:48px;min-width:48px}.recording-indicator{top:calc(var(--space-2) + env(safe-area-inset-top,0px));left:var(--space-2);padding:4px 8px}.captions-overlay{max-width:92%;bottom:calc(110px + env(safe-area-inset-bottom,0px));font-size:.95rem}.call-status{bottom:calc(96px + env(safe-area-inset-bottom,0px))}}@media(orientation:landscape)and (max-height:500px){#videos,#videos.view-split,#videos.view-focus-remote,#videos.view-focus-local{grid-template-columns:1fr 1fr;grid-template-rows:1fr;gap:0;padding:0;height:100%}#remote-videos,#videos.view-focus-local #remote-videos{position:static;width:100%;height:100%;overflow:hidden;order:-1}#remote-videos video,#videos.view-focus-local #remote-videos video{width:100%;height:100%;border-radius:0;aspect-ratio:auto;object-fit:cover;border:none;box-shadow:none}#remote-videos:after{display:none}#remote-videos:before{content:"";position:absolute;top:0;right:0;bottom:0;width:2px;background:linear-gradient(180deg,transparent 5%,rgba(139,115,85,.25) 30%,rgba(139,115,85,.4) 50%,rgba(139,115,85,.25) 70%,transparent 95%);z-index:2}#local-video,#videos.view-focus-remote #local-video{position:static;width:100%;height:100%;aspect-ratio:auto;border-radius:0;border:none;z-index:auto;box-shadow:none}.call-controls{bottom:env(safe-area-inset-bottom,6px);padding:6px 12px;gap:5px}.control-btn{width:34px;height:34px;min-width:34px;min-height:34px}.control-btn .icon{width:15px;height:15px}.control-btn-end{width:46px}.captions-overlay{bottom:calc(60px + env(safe-area-inset-bottom,0px))}.call-status{bottom:calc(56px + env(safe-area-inset-bottom,0px));font-size:.68rem}.perf-warning{bottom:calc(56px + env(safe-area-inset-bottom,0px))}#state-call .transcript-panel{height:50vh}#btn-view{display:none}.connection-quality{top:calc(var(--space-2) + env(safe-area-inset-top,0px));right:calc(var(--space-2) + env(safe-area-inset-right,0px))}.recording-indicator{top:calc(var(--space-2) + env(safe-area-inset-top,0px));left:calc(var(--space-2) + env(safe-area-inset-left,0px))}}.recording-indicator{position:absolute;top:var(--space-4);left:var(--space-4);z-index:10;display:flex;align-items:center;gap:6px;padding:6px 10px;background:#00000059;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-md);border:1px solid var(--call-border);cursor:default}.recording-dot{display:block;width:8px;height:8px;border-radius:50%;background:#c53030;flex-shrink:0;animation:recPulse 2s ease-in-out infinite}@keyframes recPulse{0%,to{opacity:1}50%{opacity:.4}}.recording-label{font-size:.65rem;font-weight:600;font-family:var(--font-ui);color:#ffffffb3;letter-spacing:.06em;text-transform:uppercase}.captions-overlay{position:absolute;bottom:100px;left:50%;transform:translate(-50%) translateY(4px);z-index:22;max-width:80%;text-align:center;pointer-events:none;opacity:0;transition:opacity .3s var(--ease-out),transform .3s var(--ease-out)}.captions-overlay.caption-visible{opacity:1;transform:translate(-50%) translateY(0)}.captions-text{display:inline-block;padding:8px 18px;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-md);color:var(--call-text);font-size:.92rem;font-family:var(--font-ui);line-height:1.5;max-width:100%;text-shadow:0 1px 3px rgba(0,0,0,.5);letter-spacing:.01em}.caption-speaker{font-weight:500;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;opacity:.5}.transcript-panel{position:absolute;top:0;right:0;width:340px;max-width:85vw;height:100%;z-index:25;background:#0d0b0ae0;backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);border-left:1px solid var(--call-border);display:flex;flex-direction:column;box-shadow:-8px 0 32px #0000004d;transform:translate(100%);opacity:0;pointer-events:none;transition:transform .38s var(--ease-out),opacity .38s var(--ease-out)}.transcript-panel.open{transform:translate(0);opacity:1;pointer-events:auto}.transcript-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--call-border);flex-shrink:0}.transcript-header h3{font-family:var(--font-ui);font-size:.85rem;font-weight:600;color:var(--call-text);margin:0;text-transform:uppercase;letter-spacing:.04em}.transcript-close{background:none;border:none;color:var(--call-text-soft);font-size:1.3rem;cursor:pointer;padding:8px 12px;border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.transcript-close:hover{color:var(--call-text);background:#ffffff14}.transcript-close:focus-visible{outline:2px solid var(--brown);outline-offset:2px}.transcript-lines{flex:1;overflow-y:auto;padding:var(--space-2) 0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.transcript-line{padding:var(--space-2) var(--space-4);border-bottom:1px solid rgba(255,255,255,.04);transition:background var(--duration-fast) var(--ease-out);animation:transcriptFadeUp .25s var(--ease-out) both}@keyframes transcriptFadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.transcript-line:hover{background:#ffffff08}.transcript-line.flagged{background:#c49a3c1a;border-left:4px solid var(--status-amber)}.transcript-line.flagged .transcript-line-speaker:before{content:"⚑";font-size:.72rem}.transcript-line-speaker{font-size:.68rem;font-weight:600;font-family:var(--font-ui);color:var(--call-text-soft);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.transcript-line-text{font-size:.85rem;font-family:var(--font-ui);color:var(--call-text);line-height:1.5}.transcript-note{padding:var(--space-3) var(--space-4);font-size:.78rem;font-family:var(--font-ui);color:var(--call-text-soft);line-height:1.5;font-style:italic;border-bottom:1px solid rgba(255,255,255,.06)}.brief-processing{text-align:center;padding:var(--space-4) 0}.brief-processing-text{font-size:.88rem;color:var(--ink-soft);margin-top:var(--space-3);transition:opacity .15s var(--ease-out)}.brief-result{text-align:left;max-width:520px;margin:0 auto;animation:fadeInUp .4s var(--ease-out) both}.brief-summary{font-size:.92rem;color:var(--ink);line-height:1.72;margin-bottom:var(--space-4)}.brief-section-title{font-family:var(--font-display);font-size:.95rem;color:var(--brown);letter-spacing:.04em;margin:var(--space-4) 0 var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--line)}.brief-section-title:first-of-type{border-top:none;padding-top:0}.brief-list{padding-left:20px;margin:0 0 var(--space-3)}.brief-list li{font-size:.88rem;color:var(--ink);line-height:1.6;margin-bottom:var(--space-1)}.brief-nothing{font-size:.88rem;color:var(--ink-soft);font-style:italic;margin:0 0 var(--space-3)}.brief-flagged-moment{background:#8b73550f;border-left:3px solid var(--brown);padding:var(--space-2) var(--space-3);margin:var(--space-2) 0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:.88rem;color:var(--ink);line-height:1.5}.brief-error,.brief-fallback{text-align:center;padding:var(--space-3) 0}.brief-error-text,.brief-fallback-text{font-size:.88rem;color:var(--ink-soft);margin-bottom:var(--space-3)}.brief-actions{margin-top:var(--space-4);text-align:center;animation:fadeInUp .4s var(--ease-out) .1s both}.brief-actions .btn-secondary,.brief-error .btn-secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}.brief-actions .btn-secondary:hover,.brief-error .btn-secondary:hover{background:#1a16140a;border-color:#1a161433}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
