:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color-scheme:dark;background:#0f1117;color:#f3f6ff}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#222a3f,#0f1117 55%)}.page{min-height:100vh;padding:1rem;display:flex;flex-direction:column;gap:1rem}.copy-link-toast{position:fixed;left:50%;bottom:calc(6.25rem + env(safe-area-inset-bottom,0px));z-index:10050;padding:.65rem 1.35rem;max-width:min(90vw,320px);text-align:center;font-size:.95rem;font-weight:600;color:#e8edff;border-radius:999px;background:#161c2cf5;border:1px solid rgba(255,255,255,.14);box-shadow:0 10px 36px #00000073;pointer-events:none;transform:translate(-50%) translateY(0)}.copy-toast-enter-active,.copy-toast-leave-active{transition:opacity .28s ease,transform .28s ease}.copy-toast-enter-from,.copy-toast-leave-to{opacity:0;transform:translate(-50%) translateY(12px)}.home{justify-content:center;align-items:center;text-align:center}.title{margin:0;font-size:2rem}.subtitle{opacity:.8;max-width:320px}.primary-btn,.secondary-btn,.control-btn,.danger-btn{border:none;border-radius:999px;padding:.9rem 1.3rem;font-size:1rem;font-weight:600;cursor:pointer}.primary-btn{background:#4d8dff;color:#fff;width:min(90vw,340px);min-height:56px;font-size:1.1rem}.secondary-btn,.control-btn{background:#2a334d;color:#f3f6ff}.danger-btn{background:#cc334d;color:#fff}.room-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.room-header h1{margin:0;font-size:1rem;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.videos-stage{flex:1;position:relative;min-height:min(52vh,420px);border-radius:14px;overflow:hidden;background:#000}.videos-stage--pseudo-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;width:100%;height:100%;min-height:100%;min-height:100dvh;max-height:100dvh;border-radius:0;flex:none}body.room-pseudo-fs-lock{overflow:hidden;overscroll-behavior:none}.remote-video-stack{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.video-tile--remote{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:0;border-radius:0;object-fit:contain;object-position:center;display:block}.video-tile--remote--cover{object-fit:cover}.video-tile--remote--hidden{opacity:0;pointer-events:none}.video-tile--remote--camera-off{opacity:0}.remote-video__camera-off{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;padding:1rem;text-align:center;background:radial-gradient(ellipse at 50% 40%,#1a2238,#0a0c12 75%);color:#ffffffe6;pointer-events:none}.remote-video__camera-off-icon{width:clamp(2.5rem,12vmin,4rem);height:clamp(2.5rem,12vmin,4rem);flex-shrink:0;opacity:.92}.remote-video__camera-off-text{font-size:clamp(.95rem,3.5vmin,1.15rem);font-weight:600;letter-spacing:.03em;color:#ffffffd1}.remote-waiting{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;text-align:center;background:radial-gradient(ellipse at 50% 40%,#1a2238,#0a0c12 70%);pointer-events:none}.remote-waiting__title{margin:0;font-size:1.15rem;font-weight:600;color:#e8edff}.remote-waiting__hint{margin:0;font-size:.9rem;opacity:.8;max-width:280px;line-height:1.4}.remote-waiting__copy{margin-top:.35rem;pointer-events:auto}.emoji-burst{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2}.emoji-burst--pip{border-radius:10px}.emoji-burst--remote .emoji-burst__glyph{font-size:clamp(3rem,14vmin,5.5rem)}.emoji-burst--pip .emoji-burst__glyph{font-size:clamp(1.75rem,10vw,2.75rem)}.emoji-burst__glyph{line-height:1;animation:emoji-burst-anim 2.75s ease-out forwards;filter:drop-shadow(0 6px 20px rgba(0,0,0,.55))}@keyframes emoji-burst-anim{0%{opacity:0;transform:scale(.35)}14%{opacity:1;transform:scale(1.06)}22%{transform:scale(1)}72%{opacity:1}to{opacity:0;transform:scale(1.12)}}.emoji-picker-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;background:#00000052}.emoji-picker{position:absolute;left:50%;bottom:calc(5.25rem + env(safe-area-inset-bottom,0px));z-index:6;transform:translate(-50%);box-sizing:border-box;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;padding:.75rem;width:min(96vw,400px);max-width:min(96vw,400px);border-radius:14px;background:#121622f5;border:1px solid rgba(255,255,255,.12);box-shadow:0 16px 48px #0000008c}.emoji-picker__btn{margin:0;padding:.55rem .35rem;font-size:clamp(1.5rem,4.2vw,1.85rem);line-height:1;border:none;border-radius:10px;background:#ffffff12;color:inherit;cursor:pointer;transition:background .15s ease;display:flex;align-items:center;justify-content:center;min-height:2.65rem;min-width:0;-webkit-tap-highlight-color:transparent}.emoji-picker__btn:hover{background:#ffffff29}@media(max-width:639px){.emoji-picker{left:.5rem;right:.5rem;width:auto;max-width:none;transform:none;padding:.85rem .65rem;gap:.55rem;bottom:calc(5rem + env(safe-area-inset-bottom,0px))}.emoji-picker__btn{padding:.7rem .25rem;min-height:3rem;font-size:clamp(1.85rem,9vmin,2.35rem);border-radius:12px}}.room-control-emoji-wrap{position:relative;display:flex;align-items:center}.local-pip{position:absolute;z-index:3;width:clamp(104px,24vw,168px);height:auto;border-radius:12px;overflow:hidden;background:#000;box-shadow:0 10px 40px #00000080;border:2px solid rgba(255,255,255,.14);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.local-pip--dragging{cursor:grabbing;box-shadow:0 14px 48px #000000a6}.local-pip__video{width:100%;height:100%;object-fit:cover;object-position:center;display:block;pointer-events:none;transform:scaleX(-1)}.local-pip__video--off{opacity:0}.local-pip__camera-off{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:.35rem;text-align:center;background:#141820;color:#ffffffe0;pointer-events:none}.local-pip__camera-off-icon{width:clamp(1.5rem,28%,2rem);height:clamp(1.5rem,28%,2rem);flex-shrink:0;opacity:.95}.local-pip__camera-off-text{font-size:clamp(.65rem,3.2vw,.75rem);font-weight:600;letter-spacing:.02em;line-height:1.2;color:#ffffffc7}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.connection-lamp{position:absolute;left:.75rem;bottom:max(1rem,env(safe-area-inset-bottom,0px));z-index:5;width:12px;height:12px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px #0000008c,0 0 10px #00000059;pointer-events:none}.connection-lamp--green{background:#22c55e}.connection-lamp--yellow{background:#eab308}.connection-lamp--red{background:#ef4444}.room-controls-layer{position:absolute;left:0;right:0;bottom:0;z-index:4;display:flex;justify-content:center;align-items:flex-end;padding:.75rem .75rem max(1rem,env(safe-area-inset-bottom,0px));pointer-events:none}.room-controls-bar{display:flex;flex-direction:column;align-items:stretch;gap:.45rem;pointer-events:auto;padding:.45rem .65rem;border-radius:999px;background:#0c0e16c7;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.1);box-shadow:0 12px 40px #00000073}.room-controls-bar--more-open{border-radius:22px}.room-controls-bar__row{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;align-items:center}.room-controls-bar__row--more{padding-top:.35rem;border-top:1px solid rgba(255,255,255,.12)}.room-control-btn{width:48px;height:48px;padding:0;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#f3f6ff;transition:background .15s ease,transform .12s ease,opacity .15s ease}.room-control-btn:active:not(:disabled){transform:scale(.94)}.room-control-btn:disabled{opacity:.55;cursor:not-allowed}.room-control-btn:focus-visible{outline:2px solid #4d8dff;outline-offset:2px}.room-control-btn--neutral{background:#ffffff1f}.room-control-btn--neutral:hover:not(:disabled){background:#fff3}.room-control-btn--neutral.room-control-btn--off{background:#ff505059;color:#fff}.room-control-btn--neutral.room-control-btn--off:hover:not(:disabled){background:#ff505080}.room-control-btn--toggled{background:#4d8dff59;color:#e8f0ff}.room-control-btn--toggled:hover:not(:disabled){background:#4d8dff7a}.room-control-btn--reconnect{border:2px solid rgba(125,190,255,.88);box-shadow:0 0 0 1px #4d8dff33}.room-control-btn--reconnect:hover:not(:disabled){border-color:#aad7fff2;background:#4d8dff42}.room-control-btn--danger{background:#cc334d;color:#fff}.room-control-btn--danger:hover:not(:disabled){background:#e0405c}.room-control-icon{width:22px;height:22px;display:block}.room-control-icon--stroke{fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}.room-control-icon--switch-cam{stroke-width:2.35}.room-control-icon--switch-cam polygon{fill:currentColor;stroke:none}.room-control-icon--spin{transform-origin:50% 50%;animation:room-control-spin .85s linear infinite}@keyframes room-control-spin{to{transform:rotate(360deg)}}@media(min-width:768px){.page{max-width:960px;margin:0 auto}}
