@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";body,html{margin:0;padding:0;background:#0f172a;overflow:hidden}.security-screen[data-v-944e1511]{height:100vh;width:100vw;display:grid;place-items:center;background:radial-gradient(circle at top center,#1e293b,#0f172a);color:#e2e8f0;font-family:Inter,sans-serif;position:relative;overflow:hidden}.overlay[data-v-944e1511]{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:radial-gradient(circle at center,black 40%,transparent 100%);mask-image:radial-gradient(circle at center,black 40%,transparent 100%);pointer-events:none}.card-container[data-v-944e1511]{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;gap:24px;width:100%;padding:20px}.card[data-v-944e1511]{width:min(440px,90vw);background:#1e293bb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:40px 32px;box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #ffffff0d inset;text-align:center;animation:slideUp-944e1511 .6s cubic-bezier(.16,1,.3,1)}@keyframes slideUp-944e1511{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.icon-wrapper[data-v-944e1511]{position:relative;width:64px;height:64px;margin:0 auto 24px;display:grid;place-items:center;color:#ef4444}.lock-icon[data-v-944e1511]{width:32px;height:32px;z-index:2}.pulse-ring[data-v-944e1511]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#ef444426;animation:pulse-944e1511 2s infinite}@keyframes pulse-944e1511{0%{transform:scale(.8);opacity:.5}to{transform:scale(1.5);opacity:0}}.title[data-v-944e1511]{margin:0;font-size:24px;font-weight:600;color:#fff;letter-spacing:-.02em}.subtitle[data-v-944e1511]{margin:8px 0 0;font-size:14px;color:#94a3b8;font-weight:400}.status-box[data-v-944e1511]{margin:32px 0;background:#0f172a80;border-radius:12px;padding:16px;border:1px solid rgba(255,255,255,.05)}.status-row[data-v-944e1511]{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:4px 0}.status-row[data-v-944e1511]:not(:last-child){border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:8px;margin-bottom:8px}.label[data-v-944e1511]{color:#64748b}.value[data-v-944e1511]{color:#cbd5e1;font-weight:500}.mono[data-v-944e1511]{font-family:JetBrains Mono,monospace}.secure[data-v-944e1511]{color:#10b981;background:#10b9811a;padding:2px 8px;border-radius:4px;font-size:10px;letter-spacing:.05em}.message[data-v-944e1511]{font-size:13px;line-height:1.6;color:#94a3b8;margin-bottom:32px}.actions[data-v-944e1511]{display:flex;flex-direction:column;gap:12px;width:100%}.btn-primary[data-v-944e1511]{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;background:#3b82f6;color:#fff;border:none;border-radius:10px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #3b82f640}.btn-primary[data-v-944e1511]:hover{background:#2563eb;transform:translateY(-1px)}.btn-icon[data-v-944e1511]{width:16px;height:16px}.btn-secondary[data-v-944e1511]{width:100%;padding:12px;background:transparent;color:#64748b;border:none;border-radius:10px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s}.btn-secondary[data-v-944e1511]:hover{color:#94a3b8;background:#ffffff08}.footer[data-v-944e1511]{font-size:11px;color:#475569;font-family:JetBrains Mono,monospace;letter-spacing:-.02em}@media(max-height:700px){.card[data-v-944e1511]{padding:24px}.status-box[data-v-944e1511]{margin:20px 0}.message[data-v-944e1511]{margin-bottom:20px}}@keyframes fade-in-011f9f22{0%{opacity:0}to{opacity:1}}.animate-fade-in[data-v-011f9f22]{animation:fade-in-011f9f22 .3s ease-out forwards}@keyframes fade-in-b5405be9{0%{opacity:0}to{opacity:1}}.animate-fade-in[data-v-b5405be9]{animation:fade-in-b5405be9 .3s ease-out forwards}@keyframes slide-up-b5405be9{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up[data-v-b5405be9]{animation:slide-up-b5405be9 .5s ease-out forwards}@keyframes ripple-b5405be9{0%{transform:scale(1);opacity:.8}to{transform:scale(1.5);opacity:0}}.ripple-1[data-v-b5405be9]{animation:ripple-b5405be9 2s infinite ease-out;animation-delay:0s}.ripple-2[data-v-b5405be9]{animation:ripple-b5405be9 2s infinite ease-out;animation-delay:.6s}.ripple-3[data-v-b5405be9]{animation:ripple-b5405be9 2s infinite ease-out;animation-delay:1.2s}.ripple-1,.ripple-2,.ripple-3{animation:ripple 2s infinite ease-out}.ripple-1{animation-delay:0s}.ripple-2{animation-delay:.6s}.ripple-3{animation-delay:1.2s}@keyframes ripple{0%{transform:scale(1);opacity:1}to{transform:scale(1.5);opacity:0}}

/* Host speaking ring (reuse existing ripple animation) */
.speaking-ring {
  position: relative;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  display: grid;
  place-items: center;
}

.speaking-ring::before,
.speaking-ring::after {
  content: "";
  position: absolute;
  inset: -10px;
  border-radius: 50%;
  border: 2px solid #10b981;
  animation: ripple 2s infinite ease-out;
  opacity: 0.8;
}

.speaking-ring::after {
  animation-delay: 0.8s;
}

.speaking-ring img {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  z-index: 1;
}

/* Responsive layout */
#app {
  min-height: 100vh;
  min-height: 100dvh;
}
.card-container[data-v-944e1511] {
  width: 100%;
  max-width: 100%;
  padding: clamp(12px, 4vw, 20px);
  box-sizing: border-box;
}
#loader-screen {
  width: 100%;
  max-width: min(420px, 92vw);
}
@media (max-width: 480px) {
  .card-container[data-v-944e1511] {
    padding: 12px;
  }
}

/* Auth loading overlay - joining meeting spinner */
.auth-loading-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  background: rgba(15, 23, 42, 0.95);
  z-index: 50;
  border-radius: inherit;
}
.auth-loading-overlay.hidden {
  display: none;
}
.auth-loading-spinner {
  width: 48px;
  height: 48px;
  animation: auth-loading-spin 1s linear infinite;
}
.auth-loading-text {
  font-size: 14px;
  color: #94a3b8;
  font-weight: 500;
  margin: 0;
}
@keyframes auth-loading-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
