*,:after,:before{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%;overflow:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0d0d1a;font-family:Segoe UI,system-ui,-apple-system,sans-serif}.App,.room-container{background:#0d0d1a;color:#fff;display:flex;flex-direction:column;height:100%}.header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0a;border-bottom:1px solid #ffffff12;display:flex;flex-shrink:0;justify-content:space-between;padding:12px 24px}.project-name{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#a78bfa,#60a5fa);-webkit-background-clip:text;background-clip:text;font-size:1.6rem;font-weight:800;letter-spacing:-.02em}.status-badge{align-items:center;border-radius:999px;display:flex;font-size:.82rem;font-weight:600;gap:8px;letter-spacing:.03em;padding:6px 16px}.status-badge.connected{background:#22c55e1f;border:1px solid #22c55e4d;color:#4ade80}.status-badge.waiting{background:#fbbf241f;border:1px solid #fbbf244d;color:#fbbf24}.status-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.status-badge.connected .status-dot{animation:glow-pulse 2s infinite;background:#4ade80;box-shadow:0 0 6px #4ade80}.status-badge.waiting .status-dot{animation:blink 1.2s infinite;background:#fbbf24}@keyframes glow-pulse{0%,to{box-shadow:0 0 4px #4ade80}50%{box-shadow:0 0 12px #4ade80}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.stream-container{grid-gap:10px;display:grid;flex:1 1;gap:10px;grid-template-columns:1fr 1fr;min-height:0;padding:10px}.video-wrapper{background:#13132b;border:1px solid #ffffff12;border-radius:18px;box-shadow:0 8px 32px #0006;min-height:0;overflow:hidden;position:relative}.video-wrapper.remote.has-peer{border-color:#a78bfa59;box-shadow:0 0 0 1px #a78bfa26,0 8px 32px #00000080}.video-label{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000008c;border:1px solid #ffffff1f;border-radius:999px;color:#ffffffd9;font-size:.72rem;font-weight:700;left:14px;letter-spacing:.1em;padding:4px 12px;position:absolute;text-transform:uppercase;top:14px;z-index:10}.video-element{display:block;height:100%;object-fit:cover;width:100%}.placeholder{background:radial-gradient(ellipse at center,#1a1a3e 0,#0d0d1a 80%);flex-direction:column;gap:18px;height:100%;width:100%}.placeholder,.placeholder-avatar{align-items:center;display:flex;justify-content:center}.placeholder-avatar{animation:float 3s ease-in-out infinite;background:#a78bfa1a;border:2px dashed #a78bfa4d;border-radius:50%;font-size:2.2rem;height:80px;width:80px}.placeholder p{color:#ffffff59;font-size:.95rem;font-weight:500}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.spinner{animation:spin .9s linear infinite;border:3px solid #a78bfa26;border-radius:50%;border-top-color:#a78bfa;height:36px;width:36px}@keyframes spin{to{transform:rotate(1turn)}}.controls{align-items:center;background:#ffffff05;border-top:1px solid #ffffff0f;display:flex;flex-shrink:0;gap:16px;justify-content:center;padding:14px 24px}.btn-next{align-items:center;background:linear-gradient(135deg,#f43f5e,#e11d48);border:none;border-radius:999px;box-shadow:0 4px 24px #f43f5e73;color:#fff;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:700;gap:10px;letter-spacing:.04em;padding:13px 36px;transition:transform .18s,box-shadow .18s}.btn-next:hover{box-shadow:0 8px 32px #f43f5e99;transform:translateY(-2px)}.btn-next:active{box-shadow:0 2px 12px #f43f5e66;transform:translateY(0)}.btn-next svg{height:18px;width:18px}.controls-hint{color:#ffffff4d;font-size:.88rem}.no-stream{align-items:center;color:#fff6;display:flex;flex:1 1;flex-direction:column;gap:20px;justify-content:center}.no-stream p{font-size:1rem}@media (max-width:640px){.stream-container{gap:8px;grid-template-columns:1fr;grid-template-rows:1fr 1fr;padding:8px}.header{padding:10px 16px}.project-name{font-size:1.3rem}.btn-next{font-size:.88rem;padding:11px 28px}.video-label{font-size:.65rem;padding:3px 10px}}@media (max-width:380px){.status-badge span:not(.status-dot){display:none}}
/*# sourceMappingURL=main.bdae8883.css.map*/