/* =====================================================================
   NEURA — One active browser (.session-gate)
   Full-screen modal shown by auth/session-coordinator.js while another
   browser is the active one for this account. A modal <dialog> sits in the
   top layer, so it covers other open dialogs and leaves them untouched.
   ===================================================================== */
.session-gate {
  position: fixed;
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  margin: 0;
  padding: clamp(20px, 5vw, 48px);
  border: 0;
  box-sizing: border-box;
  display: grid;
  place-items: center;
  background: rgba(6, 6, 9, 0.94);
  color: var(--text-primary, #eff3fa);
  font-family: "SF Pro Rounded", "SF Pro Display", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
}
.session-gate:not([open]) { display: none; }
.session-gate::backdrop { background: rgba(6, 6, 9, 0.6); }

.session-gate__panel {
  width: min(460px, 100%);
  padding: clamp(24px, 4vw, 36px);
  border: 1px solid rgba(160, 180, 205, 0.28);
  border-radius: 20px;
  background: #121922;
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.55);
  text-align: left;
}
.session-gate__title {
  margin: 0 0 12px;
  font-size: clamp(20px, 2.4vw, 24px);
  font-weight: 600;
  line-height: 1.25;
}
.session-gate__text,
.session-gate__note {
  margin: 0 0 12px;
  font-size: 15px;
  line-height: 1.55;
  color: var(--text-secondary, #c9d3e0);
}
.session-gate__note:empty,
.session-gate__status:empty,
.session-gate__error:empty { display: none; }

.session-gate__action {
  margin-top: 8px;
  min-height: 44px;
  padding: 10px 22px;
  border: 0;
  border-radius: 12px;
  background: #e8f0fa;
  color: #0b1118;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}
.session-gate__action:hover:not(:disabled) { background: #ffffff; }
.session-gate__action:focus-visible { outline: 3px solid #8ab4ff; outline-offset: 3px; }
.session-gate__action:disabled { opacity: 0.55; cursor: default; }
.session-gate__action[aria-busy="true"] { cursor: progress; }

.session-gate__status {
  margin: 14px 0 0;
  font-size: 14px;
  color: var(--text-secondary, #c9d3e0);
}
.session-gate__error {
  margin: 14px 0 0;
  font-size: 14px;
  color: #ffb4a8;
}

@media (prefers-reduced-motion: no-preference) {
  .session-gate[open] .session-gate__panel { animation: session-gate-in 180ms ease-out; }
}
@keyframes session-gate-in {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: none; }
}

/* Text typed in this window before Continue here, kept for copying before the
   page loads the latest work again. */
.session-gate__drafts {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-height: 72px;
  max-height: 30vh;
  margin: 4px 0 8px;
  padding: 10px 12px;
  border: 1px solid rgba(160, 180, 205, 0.28);
  border-radius: 10px;
  background: #0b1118;
  color: var(--text-primary, #eff3fa);
  font: inherit;
  font-size: 14px;
  line-height: 1.45;
  resize: vertical;
}
.session-gate__drafts[hidden],
.session-gate__copy[hidden] { display: none; }
.session-gate__copy {
  margin: 8px 0 0 12px;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid rgba(160, 180, 205, 0.45);
  border-radius: 12px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 15px;
  cursor: pointer;
}
.session-gate__copy:focus-visible { outline: 3px solid #8ab4ff; outline-offset: 3px; }
