/* Contourly — 2d private room. Owned by Wave-2 agent B.
   Foundation (.ct-room__*, .ct-stage, .ct-actions) lives in app.css; this file
   carries the STAGE-archetype layout, the full-bleed blue invite, and desktop
   presentation. Host + terminal panels = centered stage on the paper dot-grid;
   the friend's invite = full-bleed cobalt moment (arch "blue"). */

/* ---- host waiting -------------------------------------------------------- */
.ct-room__stage { gap: 26px; }              /* pair ↔ text ↔ link (reference) */
.ct-room__pair { justify-content: center; }

/* ---- friend's invite (blue) ---------------------------------------------- */
/* The stage archetype forces `background:transparent` (it is declared after
   .ct-screen--blue in app.css, so it wins); restore the cobalt fill here so the
   invite stays a full-bleed colour moment that fills the whole desktop viewport
   while its content column still caps + centres at the stage max-width. */
.ct-room--invite { background: var(--ct-blue); }
.ct-room__invite { position: relative; }
.ct-room__host { position: relative; z-index: 1; }
.ct-room__spark { position: absolute; z-index: 0; pointer-events: none; }
.ct-room__spark:first-of-type { animation: ct-pulse 2.4s ease-in-out infinite; }
.ct-room--invite .ct-stage__sub { margin-top: 10px; opacity: .85; }
.ct-room__invite-note { color: rgba(255, 255, 255, .78); }

/* ---- terminal panels (expired / full / server error) --------------------- */
/* Centered on the stage dot-grid, capped so the sticker reads as a card. */
.ct-room__sys { justify-content: center; }
.ct-room__sys .ct-panel { width: 100%; max-width: 360px; margin: 0 auto; }
.ct-room__sys--a .ct-panel { transform: rotate(-.5deg); }
.ct-room__sys--b .ct-panel { transform: rotate(.5deg); }

/* ==========================================================================
   TABLET / DESKTOP ≥768 — one cohesive centered stage on the dot-grid.
   Stop the stage from stretching to full viewport height so the host pair,
   copy link + "Share invite" (and the blue invite's coin + CTA) present as a
   single comfortably-sized card centred on the paper, not a stranded phone
   column with the CTA pinned to the far bottom edge.
   ========================================================================== */
@media (min-width: 768px) {
  .ct-room { justify-content: center; gap: 14px; padding-top: 28px; padding-bottom: 28px; }
  .ct-room__stage,
  .ct-room__invite { flex: 0 0 auto; }
  .ct-room .ct-queue__topbar { padding: 0 4px; }
  .ct-room .ct-actions { padding: 4px 8px 0; }
  /* terminal panels stay vertically centred as their own full-height stage */
  .ct-room__sys { flex: 1; }
}
