@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Outfit:wght@400;500;600&display=swap";:root{--bg:#07090e;--surface:#12161f;--elev:#1a2030;--border:#ffffff14;--text:#f0f2f7;--muted:#8892a8;--accent:#5b8def;--accent-glow:#5b8def59;--danger:#e05252;--ok:#3dcc85;--radius:14px;--font:"Outfit", system-ui, sans-serif;--font-call:"Inter", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{font:15px/1.5 var(--font);color:var(--text);-webkit-font-smoothing:antialiased;background:#050505}#app{min-height:100%}.lobby{min-height:100dvh;font-family:var(--font-call);color:#ffffffe6;background:#060606;flex-direction:column;margin:0;padding:0;display:flex;position:relative;overflow:hidden}body.in-call .lobby{display:none}.lobby-halves{flex:1;grid-template-columns:1fr 1fr;min-height:320px;display:grid}.lobby-half{text-align:center;padding-left:clamp(1rem,4vw,2rem);padding-right:clamp(1rem,4vw,2rem);padding-top:max(env(safe-area-inset-top), .85rem);padding-bottom:max(env(safe-area-inset-bottom), clamp(1.25rem, 4vw, 2.5rem));-webkit-overflow-scrolling:touch;flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex;position:relative;overflow-y:auto}.lobby-half--create{background:radial-gradient(80% 60% at 30% 80%,#5b8def1f,#0000 55%),linear-gradient(#0c0e16f2 0%,#06070afa 100%);border-right:1px solid #ffffff0f}.lobby-half--join{background:radial-gradient(75% 55% at 70% 75%,#ffffff0f,#0000 50%),linear-gradient(#0a0a0cf5 0%,#060608fc 100%)}.lobby-toast{left:50%;bottom:max(1rem, env(safe-area-inset-bottom));z-index:200;max-width:min(90vw,380px);font-size:.875rem;font-weight:500;font-family:var(--font-call);text-align:center;pointer-events:none;opacity:0;border-radius:12px;padding:.7rem 1.1rem;line-height:1.35;transition:opacity .22s,transform .22s;position:fixed;transform:translate(-50%,8px);box-shadow:0 12px 44px #0000008c}.lobby-toast--error{color:#ffe6e6f5;background:#2d161af5;border:1px solid #ff646447}.lobby-toast--info{color:#f0f2f7f5;background:#161a23f5;border:1px solid #ffffff1f}.lobby-toast--visible{opacity:1;transform:translate(-50%)}@keyframes lobby-shake{0%,to{transform:translate(0)}15%{transform:translate(-9px)}30%{transform:translate(9px)}45%{transform:translate(-6px)}60%{transform:translate(6px)}75%{transform:translate(-3px)}90%{transform:translate(3px)}}.lobby-half--join.lobby-half--shake{animation:.5s cubic-bezier(.36,.07,.19,.97) both lobby-shake}.lobby-half:before{content:"";pointer-events:none;opacity:0;z-index:0;transition:opacity .55s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.lobby-half--create:before{background:radial-gradient(95% 75% at 50% 85%,#5b8def47,#0000 58%)}.lobby-half--join:before{background:radial-gradient(95% 75% at 50% 85%,#ffffff24,#0000 58%)}.lobby-half>*{z-index:1;position:relative}@media (hover:hover) and (pointer:fine){.lobby-half{transition:transform .55s cubic-bezier(.22,1,.36,1),filter .55s cubic-bezier(.22,1,.36,1),box-shadow .55s}.lobby-halves:has(.lobby-half--create:hover) .lobby-half--join{filter:brightness(.62)saturate(.88);transform:scale(.98)}.lobby-halves:has(.lobby-half--join:hover) .lobby-half--create{filter:brightness(.62)saturate(.88);transform:scale(.98)}.lobby-half--create:hover{filter:brightness(1.06)saturate(1.05);z-index:2;transform:scale(1.02);box-shadow:inset 0 0 100px #5b8def1f,0 0 0 1px #5b8def40,0 24px 56px #00000059}.lobby-half--create:hover:before{opacity:1}.lobby-half--join:hover{filter:brightness(1.08);z-index:2;transform:scale(1.02);box-shadow:inset 0 0 90px #ffffff0a,0 0 0 1px #ffffff24,0 24px 56px #00000059}.lobby-half--join:hover:before{opacity:1}.lobby-half--create:hover .landing-hero-title{letter-spacing:.04em;text-shadow:0 0 100px #5b8def8c,0 0 40px #5b8def59;color:#fff;transform:translateY(-4px)}.lobby-half--join:hover .landing-hero-title{letter-spacing:.04em;text-shadow:0 0 60px #ffffff59;color:#fff;transform:translateY(-4px)}.lobby-half:hover .landing-tagline{color:#ffffff85}}@media (prefers-reduced-motion:reduce){.lobby-half,.lobby-half:before,.landing-hero-title,.landing-tagline{transition-duration:.01ms!important}@media (hover:hover) and (pointer:fine){:is(.lobby-halves:has(.lobby-half--create:hover) .lobby-half--join,.lobby-halves:has(.lobby-half--join:hover) .lobby-half--create,.lobby-half--create:hover,.lobby-half--join:hover){transform:none}.lobby-half--create:hover .landing-hero-title,.lobby-half--join:hover .landing-hero-title{letter-spacing:-.03em;transform:none}}}.landing-hero-title{letter-spacing:-.03em;text-transform:uppercase;color:#fffffff0;margin:0;font-size:clamp(2.75rem,11vw,6.5rem);font-weight:800;line-height:.95;transition:letter-spacing .55s cubic-bezier(.22,1,.36,1),text-shadow .55s,transform .55s cubic-bezier(.22,1,.36,1),color .45s}.lobby-half--create .landing-hero-title{text-shadow:0 0 80px #5b8def40}.landing-tagline{color:#ffffff61;max-width:20rem;margin:-.25rem 0 0;font-size:.8125rem;font-weight:400;line-height:1.45;transition:color .45s}.host-modal-protect-label{color:#ffffffe0;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:.65rem;max-width:100%;margin:0;font-size:.90625rem;font-weight:500;display:flex}.pre-call-panel.pre-call-panel--host-sala{width:min(100%,420px);padding:1.55rem 1.5rem 1.38rem}.pre-call-panel--host-sala .pre-call-title{margin-bottom:.85rem}.pre-call-panel--host-sala .host-sala-hint{color:#ffffff94;text-align:center;opacity:0;max-width:22rem;margin:0 auto 1.3rem;padding:0 .25rem;font-size:.84375rem;line-height:1.55;animation:.48s cubic-bezier(.22,1,.36,1) .28s both pre-call-fade-drop;transform:translateY(10px)}.pre-call-panel--host-sala .host-sala-options{opacity:0;background:#00000059;border:1px solid #ffffff1a;border-radius:14px;flex-direction:column;align-items:stretch;gap:1rem;margin:0 0 1.3rem;padding:1.05rem 1.2rem 1.12rem;animation:.52s cubic-bezier(.22,1,.36,1) .34s both pre-call-fade-drop;display:flex;transform:translateY(10px);box-shadow:inset 0 1px #ffffff0a}.pre-call-panel--host-sala .host-modal-protect-label{opacity:1;justify-content:center;min-height:2.5rem;padding:.2rem 0;animation:none;transform:none}.pre-call-panel--host-sala .host-pwd-wrap{width:100%;max-width:none;margin:0}.pre-call-panel--host-sala .host-pwd-inp{box-sizing:border-box;color:#fffffff5;width:100%;font:500 .9375rem var(--font-call);letter-spacing:.02em;text-align:left;background:#ffffff12;border:1px solid #ffffff29;border-radius:11px;margin:0;padding:.8rem 1rem;transition:border-color .2s,box-shadow .2s,background .2s;display:block}.pre-call-panel--host-sala .host-pwd-inp::placeholder{color:#ffffff7a}.pre-call-panel--host-sala .host-pwd-inp:hover{background:#ffffff16;border-color:#fff3}.pre-call-panel--host-sala .host-pwd-inp:focus{background:#ffffff17;border-color:#5b8def8c;outline:none;box-shadow:0 0 0 3px #5b8def24,0 0 28px #5b8def14}.pre-call-panel--host-sala .pre-call-actions{gap:.65rem;margin-top:.15rem}.pre-call-panel--host-sala .pre-call-actions .btn.ghost{color:#ffffffe6;background:#ffffff0d;border-color:#ffffff24}.pre-call-panel--host-sala .pre-call-actions .btn.ghost:hover:not(:disabled){background:#ffffff1a;border-color:#fff3}.pre-call-panel--host-sala .pre-call-actions .btn.primary{box-shadow:0 4px 20px #ffffff1f}.lobby-half--create>.landing-cta{margin-top:.25rem}.host-protect-cb{accent-color:#5b8deff2;cursor:pointer;flex-shrink:0;width:1.125rem;height:1.125rem}.host-pwd-wrap{width:100%;max-width:min(100%,320px);margin:.45rem 0 0}.host-pwd-inp{font:500 .875rem var(--font-call);letter-spacing:.03em;text-align:left;margin:0}.landing-pwd-in{max-width:min(100%,320px);font:500 .875rem var(--font-call);letter-spacing:.03em;text-align:left;border-radius:4px;margin:.5rem 0 0;padding:.65rem 1rem}.landing-cta{border-radius:4px;max-width:min(100%,280px);margin-top:.25rem;padding:.7rem 1.25rem;font-size:.8125rem;font-weight:600}.landing-cta--small{max-width:min(100%,260px);padding:.55rem 1rem;font-size:.75rem}.landing-code-in{letter-spacing:.08em;border-radius:4px;max-width:min(100%,320px);margin:0;padding:.75rem 1rem;font:600 .9375rem ui-monospace,monospace}.landing-room{border-top:1px solid #ffffff1a;width:100%;max-width:min(100%,300px);margin-top:.5rem;padding-top:1rem}.room-result .label{text-transform:uppercase;letter-spacing:.1em;color:#ffffff57;text-align:center;margin:0 0 .35rem;font-size:.625rem;font-weight:600}.code-big{letter-spacing:.14em;color:#fffffff2;text-align:center;word-break:break-all;margin:0 0 .5rem;font:600 clamp(.9rem,2.2vw,1.05rem) ui-monospace,monospace}.pre-call-modal{z-index:150;padding:max(1rem, env(safe-area-inset-top)) 1.25rem max(1rem, env(safe-area-inset-bottom));justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pre-call-modal[hidden]{display:none!important}.pre-call-modal:not([hidden]) .pre-call-backdrop{animation:.55s forwards pre-call-backdrop-in}.pre-call-modal:not([hidden]) .pre-call-panel{animation:.65s cubic-bezier(.22,1,.36,1) 60ms both pre-call-panel-in,2.8s ease-in-out .75s infinite pre-call-border-glow}.pre-call-backdrop{-webkit-backdrop-filter:blur(14px);opacity:0;background:radial-gradient(85% 65% at 50% 40%,#2337788c,#000000d1);position:absolute;inset:0}.pre-call-panel{z-index:1;isolation:isolate;background:#0e1016f0;border:1px solid #ffffff1f;border-radius:16px;width:min(100%,400px);padding:1.45rem 1.45rem 1.25rem;position:relative;overflow:hidden;box-shadow:0 28px 72px #00000094,0 0 0 1px #5b8def1f,0 0 48px #5b8def1f}.pre-call-panel>*{z-index:1;position:relative}.pre-call-panel:after{content:"";z-index:0;border-radius:inherit;pointer-events:none;background:linear-gradient(105deg,#0000 36%,#ffffff0d 48%,#0000 58%) 0 0/220% 100%;animation:2.8s ease-in-out .4s infinite pre-call-panel-shimmer;position:absolute;inset:0}.pre-call-title{z-index:1;text-align:center;flex-wrap:wrap;justify-content:center;align-items:baseline;column-gap:0;min-height:2.75rem;margin:0 0 1rem;line-height:1.25;display:flex;position:relative}.pre-call-title-line{letter-spacing:-.03em;background:linear-gradient(120deg,#fff 12%,#c8dafff2 55%,#fff 88%) 0 0/200%;color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(1.15rem,4.2vw,1.45rem);font-weight:600;animation:4s ease-in-out infinite pre-call-title-shine;display:inline}.pre-call-title-typed{white-space:normal}.pre-call-cursor{vertical-align:-.12em;background:#81aefff2;border-radius:1px;width:2.5px;height:1em;margin-left:3px;animation:.75s step-end infinite pre-call-cursor-blink;display:inline-block;box-shadow:0 0 10px #5b8defa6}.pre-call-cursor--off{opacity:0;box-shadow:none;animation:none}.pre-call-label{letter-spacing:.12em;text-transform:uppercase;color:#ffffff6b;opacity:0;margin-bottom:.45rem;font-size:.625rem;font-weight:600;animation:.48s cubic-bezier(.22,1,.36,1) .32s both pre-call-fade-drop;display:block;transform:translateY(10px)}.pre-call-nick-wrap{opacity:0;width:100%;min-height:2.95rem;margin-bottom:1rem;animation:.5s cubic-bezier(.22,1,.36,1) .4s both pre-call-fade-drop;position:relative;transform:translateY(10px)}.pre-call-nick-input{z-index:2;color:#0000;caret-color:#0000;width:100%;height:100%;font:500 1.0625rem var(--font-call);letter-spacing:.01em;cursor:text;box-sizing:border-box;background:0 0;border:none;border-radius:0;margin:0;padding:.9rem 0 .45rem;position:absolute;inset:0}.pre-call-nick-input:focus{outline:none}.pre-call-nick-display{z-index:1;pointer-events:none;box-sizing:border-box;border-bottom:1px solid #fff3;min-height:2.95rem;padding:.9rem 0 .65rem;transition:border-color .2s,box-shadow .2s;position:relative;box-shadow:0 1px #5b8def24}.pre-call-nick-wrap:focus-within .pre-call-nick-display{border-bottom-color:#5b8defa6;box-shadow:0 1px #5b8def73}.pre-call-nick-typed{font:500 1.0625rem var(--font-call);letter-spacing:.01em;color:#fffffff5;word-break:break-word}.pre-call-nick-typed--placeholder{color:#fff6}.pre-call-nick-cursor{vertical-align:-.1em;margin-left:2px}.pre-call-actions{opacity:0;gap:.55rem;animation:.52s cubic-bezier(.22,1,.36,1) .48s both pre-call-fade-drop;display:flex;transform:translateY(10px)}.pre-call-actions .btn{border-radius:12px;flex:1}@keyframes pre-call-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes pre-call-panel-in{0%{opacity:0;filter:blur(5px);transform:translateY(22px)scale(.94)perspective(520px)rotateX(4deg)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)perspective(520px)rotateX(0)}}@keyframes pre-call-border-glow{0%,to{box-shadow:0 28px 72px #00000094,0 0 0 1px #5b8def24,0 0 44px #5b8def1a}50%{box-shadow:0 28px 72px #00000094,0 0 0 1px #81aeff6b,0 0 64px #5b8def47}}@keyframes pre-call-panel-shimmer{0%,to{opacity:0;background-position:120%}40%{opacity:1}55%{opacity:.65;background-position:-20%}}@keyframes pre-call-fade-drop{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pre-call-title-shine{0%,to{background-position:0%}50%{background-position:100%}}@keyframes pre-call-cursor-blink{0%,45%{opacity:1}50%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.pre-call-modal:not([hidden]) .pre-call-backdrop,.pre-call-modal:not([hidden]) .pre-call-panel{animation:none!important}.pre-call-backdrop{opacity:1!important}.pre-call-panel{filter:none!important;opacity:1!important;transform:none!important;box-shadow:0 28px 72px #00000094,0 0 0 1px #ffffff1f!important}.pre-call-panel:after{animation:none!important}.pre-call-title-line{background:0 0!important;-webkit-background-clip:unset!important;background-clip:unset!important;color:#fffffff5!important;animation:none!important}.pre-call-label,.pre-call-nick-wrap,.pre-call-actions,.host-sala-hint,.host-sala-options{opacity:1!important;animation:none!important;transform:none!important}.pre-call-title .pre-call-cursor{display:none}.pre-call-nick-cursor{opacity:1!important;animation:none!important}}@media (width<=768px){.lobby-halves{grid-template-rows:auto auto;grid-template-columns:1fr}.lobby-half--create{border-bottom:1px solid #ffffff0f;border-right:none;min-height:38vh}.lobby-half--join{min-height:38vh}.landing-hero-title{font-size:clamp(2.4rem,14vw,3.75rem)}}.btn{color:#ffffffe0;width:100%;font:500 .8125rem var(--font-call);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:999px;padding:.62rem 1rem;transition:background .15s,border-color .15s}.btn:hover:not(:disabled){background:#ffffff1c;border-color:#ffffff29}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{color:#0a0a0a;background:#ffffffeb;border-color:#0000;font-weight:600}.btn.primary:hover:not(:disabled){filter:none;background:#fff}.btn.ghost{background:0 0;border-color:#ffffff14;font-size:.78125rem}.inp{color:#ffffffeb;letter-spacing:.12em;text-align:center;background:#0006;border:1px solid #ffffff1a;border-radius:999px;width:100%;margin-bottom:0;padding:.62rem 1rem;font:600 .9375rem ui-monospace,monospace}.inp::placeholder{color:#ffffff38;letter-spacing:.02em;font-weight:500}.inp:focus{border-color:#ffffff47;outline:none}.lobby .btn,.lobby .inp{border-radius:4px}.call{z-index:50;font-family:var(--font-call);background:#0a0a0a;display:none;position:fixed;inset:0}body.in-call .call{display:block}.call-nick-top{pointer-events:none;box-sizing:border-box;flex:0 auto;justify-content:flex-end;align-items:flex-start;min-width:0;max-width:min(240px,46vw);margin:0;padding:0;display:flex}.call-nick-top-name{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.03em;color:#fffffff0;text-align:right;-webkit-backdrop-filter:blur(18px);background:#0e0e10c7;border:1px solid #ffffff1a;border-radius:999px;width:fit-content;max-width:100%;margin:0;padding:.4rem .85rem .45rem;font-size:clamp(.9375rem,3.2vw,1.2rem);font-weight:600;display:block;overflow:hidden;box-shadow:0 6px 28px #00000059}.call-vignette{z-index:4;pointer-events:none;background:radial-gradient(120% 80% at 50% 0,#0000 0%,#00000059 100%);position:absolute;inset:0}.tiles-stage{z-index:5;padding-top:4.75rem;padding-bottom:6.75rem;padding-left:max(0, env(safe-area-inset-left));padding-right:max(0, env(safe-area-inset-right));box-sizing:border-box;flex-direction:column;min-height:0;display:flex;position:absolute;inset:0}.tiles-wait{z-index:8;color:#ffffff73;letter-spacing:.02em;pointer-events:none;background:#08080a73;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;font-size:.8125rem;display:flex;position:absolute;inset:0}.tiles-wait[hidden]{display:none!important}.tiles-wait .wait-ring{border:1.5px solid #ffffff1f;border-top-color:#ffffff8c;border-radius:50%;width:44px;height:44px;margin-bottom:.65rem;animation:1.1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.tiles-wait .wait-title{color:#ffffffbf;letter-spacing:-.02em;margin:0;font-size:.9375rem;font-weight:500}.tiles-wait .wait-sub{text-align:center;color:#ffffff61;max-width:18rem;margin:0;padding:0 1rem;font-size:.8125rem;font-weight:400}.tiles-grid{grid-template-columns:repeat(var(--tile-cols,1), minmax(0, 1fr));grid-template-rows:repeat(var(--tile-rows,1), minmax(0, 1fr));-webkit-overflow-scrolling:touch;flex:1;place-content:stretch;gap:.5rem;min-height:0;padding:.35rem;display:grid;overflow:hidden}.tile{box-sizing:border-box;background:#14151a;border:1px solid #ffffff14;border-radius:12px;width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}.tile--local{outline:1px solid #5b8def66}.tile-video{object-fit:cover;background:#0a0a0c;width:100%;height:100%;display:block}.tile-video.is-off{display:none}.tile-avatar{letter-spacing:-.02em;color:#ffffffeb;background:linear-gradient(160deg,#2c3550 0%,#1a1d28 100%);justify-content:center;align-items:center;font-size:clamp(1.25rem,6vw,2.25rem);font-weight:700;display:flex;position:absolute;inset:0}.tile-avatar[hidden]{display:none!important}.tile-bar{pointer-events:none;background:0 0;justify-content:space-between;align-items:center;gap:.35rem;padding:.35rem .45rem;display:flex;position:absolute;bottom:0;left:0;right:0}.tile-bar>*{pointer-events:auto}.tile-nick{color:#ffffffe0;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 8px #000000d9,0 1px 2px #000000e6;min-width:0;font-size:.6875rem;font-weight:600;overflow:hidden}.tile-mute-local{color:#ffffffd9;cursor:pointer;background:#00000073;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;padding:0;transition:background .15s;display:flex}.tile-mute-local:hover{background:#ffffff1f}.tile-mute-local.is-active{color:#fff;background:#c8464673}@media (width<=720px){.call-badge{flex:auto;min-width:0;max-width:min(100%,320px)}.call-nick-top{flex:0 auto;max-width:min(11rem,42vw);margin-left:0}.call-nick-top-name{padding:.35rem .7rem .4rem;font-size:.8125rem}.call-code-row{flex-direction:column;align-items:stretch;gap:.4rem}.call-code{letter-spacing:.1em;word-break:break-all;text-align:center;font-size:.8125rem;line-height:1.35}.share-btn{box-sizing:border-box;justify-content:center;width:100%}.call-kicker{text-align:center;align-self:stretch}.call-role{text-align:center;align-self:center}.call-role:before{display:none}}.call-header{z-index:20;padding:.75rem 1rem;padding-left:max(.75rem, env(safe-area-inset-left));padding-right:max(.75rem, env(safe-area-inset-right));padding-top:max(.75rem, env(safe-area-inset-top));pointer-events:none;flex-flow:row;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex;position:absolute;top:0;left:0;right:0}.call-header>*{pointer-events:auto}.call-roominfo-stack{flex-direction:column;align-items:flex-start;gap:.35rem;display:flex}.call-info-toggle{-webkit-backdrop-filter:blur(18px);color:#ffffffb8;cursor:pointer;background:#101012b8;border:1px solid #ffffff1f;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;padding:0;transition:background .15s,color .15s,border-color .15s;display:flex}.call-info-toggle:hover{color:#fffffff2;background:#ffffff1a;border-color:#ffffff2e}.call-info-toggle-chev{transition:transform .22s;display:block;transform:rotate(180deg)}.call-header--badge-hidden .call-info-toggle-chev{transform:rotate(0)}.call-header--badge-hidden .call-badge{display:none}.call-header--badge-hidden~.tiles-stage{padding-top:3.1rem}.call-badge{-webkit-backdrop-filter:blur(18px);background:#101012b8;border:1px solid #ffffff12;border-radius:14px;flex-direction:column;flex:0 auto;align-items:flex-start;gap:.35rem;min-width:0;max-width:min(100%,320px);padding:.55rem .75rem .6rem;display:flex}.call-kicker{letter-spacing:.06em;text-transform:uppercase;color:#ffffff6b;font-size:.6875rem;font-weight:500}.call-code-row{flex-wrap:wrap;align-items:center;gap:.5rem .65rem;display:flex}.call-code{letter-spacing:.18em;color:#fffffff2;font-size:1rem;font-weight:600}.call-code.mono{font-family:ui-monospace,SF Mono,monospace}.share-btn{color:#ffffffe0;font:500 .75rem var(--font-call);cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .65rem;transition:background .15s,border-color .15s;display:inline-flex}.share-btn:hover{background:#ffffff24;border-color:#fff3}.share-btn .share-ic{opacity:.85}.call-role{color:#ffffff61;text-transform:lowercase;font-size:.72rem;font-weight:400}.call-role:before{content:"·";color:#ffffff38;margin-right:.4rem}.call-dock-wrap{z-index:30;padding-bottom:max(1.25rem, env(safe-area-inset-bottom));padding-left:max(0, env(safe-area-inset-left));padding-right:max(0, env(safe-area-inset-right));pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;bottom:0;left:0;right:0}.call-dock{pointer-events:none;justify-content:center;padding:0 1rem;display:flex;position:static}.dock-react-panel{pointer-events:auto;-webkit-backdrop-filter:blur(18px);background:#16161af0;border:1px solid #ffffff1a;border-radius:14px;max-width:min(100vw - 2rem,300px);margin-bottom:.45rem;padding:.45rem .6rem .55rem;box-shadow:0 8px 32px #0006}.dock-react-panel[hidden]{display:none!important}.dock-av-panel{pointer-events:auto;-webkit-backdrop-filter:blur(18px);background:#16161af5;border:1px solid #ffffff1a;border-radius:14px;max-width:min(100vw - 2rem,320px);margin-bottom:.45rem;padding:.55rem .7rem .65rem;box-shadow:0 8px 32px #00000073}.dock-av-panel[hidden]{display:none!important}.dock-av-title{color:#ffffffe0;text-align:center;margin:0 0 .45rem;font-size:.78rem;font-weight:600}.dock-av-tabs{gap:.35rem;margin-bottom:.55rem;display:flex}.dock-av-tab{color:#ffffffa6;font-size:.72rem;font-weight:600;font-family:var(--font-call);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;flex:1;padding:.35rem .5rem;transition:background .12s,color .12s}.dock-av-tab:hover{color:#ffffffe6;background:#ffffff14}.dock-av-tab.dock-av-tab--on{color:#fff;background:#5b8def47;border-color:#5b8def66}.dock-av-section{flex-direction:column;gap:.35rem;display:flex}.dock-av-label{text-transform:uppercase;letter-spacing:.06em;color:#ffffff61;margin-top:.15rem;font-size:.65rem;font-weight:600}.dock-av-label:first-child{margin-top:0}.dock-av-select{color:#ffffffeb;width:100%;font-size:.8rem;font-family:var(--font-call);background:#00000059;border:1px solid #ffffff1f;border-radius:8px;padding:.45rem .5rem}.dock-av-cb{color:#ffffffc7;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.45rem;margin-top:.25rem;font-size:.78rem;display:flex}.dock-av-cb input{width:15px;height:15px;accent-color:var(--accent)}.dock-av-hint{color:#ffffff61;margin:.15rem 0 0;font-size:.65rem;line-height:1.35}.tile-video.tile-video--mirror{transform:scaleX(-1)}.dock-react-hint{text-align:center;color:#ffffff6b;text-transform:uppercase;letter-spacing:.07em;margin:0 0 .35rem;font-size:.625rem;font-weight:500}.dock-react-emoji{font-size:1.4rem;line-height:1}.emoji-panel{background:#0a0a0ce6;border:1px solid #ffffff12;border-radius:10px;flex-wrap:wrap;justify-content:center;gap:.15rem;padding:.25rem;display:flex}.chat-panel .emoji-panel{margin:0 .75rem .4rem}.emoji-panel[hidden]{display:none!important}.emoji-panel-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.28rem .4rem;font-size:1.3rem;line-height:1;transition:background .12s}.emoji-panel-btn:hover{background:#ffffff1f}.chat-emoji-btn{cursor:pointer;background:#00000059;border:1px solid #ffffff1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.15rem;line-height:1;transition:background .15s,border-color .15s;display:flex}.chat-emoji-btn:hover{background:#ffffff1a;border-color:#ffffff29}.bubble-head{justify-content:space-between;align-items:center;gap:.35rem;width:100%;min-width:0;display:flex}.bubble.mine .bubble-head{flex-direction:row-reverse}.bubble-head .bubble-nick{text-overflow:ellipsis;white-space:nowrap;min-width:0;text-align:inherit;flex:1;overflow:hidden}.bubble.mine .bubble-head .bubble-nick{text-align:right}.bubble-menu-btn{color:#ffffff80;cursor:pointer;background:#00000038;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin:-.1rem -.2rem -.1rem 0;padding:0;transition:background .15s,color .15s,opacity .12s,visibility .12s;display:flex}.bubble-menu-btn:hover,.bubble-menu-btn[aria-expanded=true]{color:#fffffff2;background:#ffffff1f}@media (hover:hover) and (pointer:fine){.bubble-menu-btn{opacity:0;visibility:hidden;pointer-events:none}.bubble:hover .bubble-menu-btn,.bubble:focus-within .bubble-menu-btn,.bubble-menu-btn[aria-expanded=true]{opacity:1;visibility:visible;pointer-events:auto}}.bubble-menu-dots{font-size:1.05rem;font-weight:700;line-height:1}.bubble-react-menu{box-sizing:border-box;background:#0000006b;border:1px solid #ffffff1a;border-radius:8px;flex-wrap:wrap;gap:.12rem;width:100%;margin-top:.1rem;padding:.35rem .4rem;display:flex}.bubble-react-menu[hidden]{display:none!important}.bubble-react-menu-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.18rem .32rem;font-size:1.05rem;line-height:1;transition:background .12s}.bubble-react-menu-btn:hover{background:#ffffff1f}.bubble.mine .bubble-menu-btn{background:#0000002e}.bubble-reactions-row{flex-wrap:wrap;gap:.25rem;margin-top:.2rem;display:flex}.bubble-reaction-pill{color:#ffffffe6;background:#00000059;border-radius:999px;padding:.1rem .4rem;font-size:.72rem;font-weight:500}.bubble.mine .bubble-reaction-pill{background:#00000047}.tile-float-reaction{pointer-events:none;z-index:12;opacity:0;filter:drop-shadow(0 4px 14px #0000008c);font-size:clamp(2.25rem,7vw,3.25rem);line-height:1;transition:opacity .35s,transform .45s cubic-bezier(.34,1.34,.64,1);position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)scale(.35)}.tile-float-reaction.is-on{opacity:1;transform:translate(-50%,-50%)scale(1)}.dock-inner{-webkit-backdrop-filter:blur(20px);pointer-events:auto;background:#1c1c1cb8;border:1px solid #ffffff12;border-radius:100px;justify-content:center;align-items:center;gap:.5rem;padding:.5rem .65rem;display:flex;box-shadow:0 4px 40px #00000059}.dock-btn{color:#ffffffe6;cursor:pointer;background:#ffffff0f;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:background .15s,color .15s,transform .12s;display:flex}.dock-btn:hover{background:#ffffff1c;transform:scale(1.04)}.dock-btn:active{transform:scale(.98)}.dock-btn.off{color:#f0a8a8;background:#dc505033}.dock-btn.on{color:#fff;background:#ffffff24}@keyframes chat-alert-pulse{0%,to{background:#ffffff0f;box-shadow:0 0 #5b8def8c}50%{color:#fff;background:#5b8def47;box-shadow:0 0 0 8px #5b8def1f}}.dock-btn.dock-chat.chat-alert{animation:1.15s ease-in-out infinite chat-alert-pulse}@media (prefers-reduced-motion:reduce){.dock-btn.dock-chat.chat-alert{background:#5b8def59;animation:none;box-shadow:0 0 0 2px #5b8def66}}.dock-btn.hang{color:#fff;background:#c43d3d;width:52px;height:52px;margin-left:.15rem}.dock-btn.hang:hover{background:#d14a4a}.dock-btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.dock-btn svg{flex-shrink:0}.chat-panel{z-index:40;-webkit-backdrop-filter:blur(24px);background:#0e0e0ec7;border-left:1px solid #ffffff0f;flex-direction:column;width:min(100%,340px);transition:transform .32s cubic-bezier(.32,.72,0,1);display:flex;position:absolute;top:0;bottom:0;right:0;transform:translate(100%)}.chat-panel.open{transform:translate(0)}.chat-top{padding:.65rem .85rem;padding-top:max(.65rem, env(safe-area-inset-top));border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;display:flex}.chat-title{color:#ffffff8c;letter-spacing:.04em;text-transform:uppercase;font-size:.8125rem;font-weight:500}.iconbtn{color:#fff6;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s,color .15s;display:flex}.iconbtn:hover{color:#ffffffd9;background:#ffffff0f}.chat-list{flex-direction:column;flex:1;gap:.35rem;padding:.75rem .85rem;display:flex;overflow-y:auto}.bubble{color:#ffffffd1;word-break:break-word;background:#ffffff0f;border-radius:16px;flex-direction:column;align-self:flex-start;align-items:flex-start;gap:.15rem;max-width:92%;padding:.45rem .65rem .5rem;font-size:.875rem;line-height:1.4;display:flex}.bubble-text{text-align:left;width:100%;display:block}.bubble.mine .bubble-text{text-align:right}.bubble-nick{letter-spacing:.04em;text-transform:uppercase;color:#ffffff61;font-size:.625rem;font-weight:600}.bubble.mine{color:#fff;background:#ffffff24;align-self:flex-end;align-items:flex-end}.bubble.mine .bubble-nick{color:#ffffff80}.chat-compose{padding:.65rem .75rem;padding-bottom:max(.65rem, env(safe-area-inset-bottom));border-top:1px solid #ffffff0f;align-items:center;gap:.35rem;display:flex}.chat-inp{color:#ffffffeb;min-width:0;font:.875rem var(--font-call);background:#00000059;border:1px solid #ffffff14;border-radius:100px;flex:1;padding:.55rem .85rem}.chat-inp::placeholder{color:#ffffff47}.chat-inp:focus{border-color:#ffffff2e;outline:none}.chat-send{color:#ffffffe6;cursor:pointer;background:#ffffff1f;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:background .15s;display:flex}.chat-send:hover:not(:disabled){background:#fff3}.chat-send:disabled{opacity:.3;cursor:not-allowed}@media (width<=540px){.chat-panel{border-left:none;width:100%}}
