/* ====================================================================
   Neurify — responsive / real-device layer
   --------------------------------------------------------------------
   The screens were authored as a fixed 393×852 phone MOCKUP (fake bezel,
   fake notch, fake "9:41" status bar), scaled to fit and floated on a dark
   canvas. That reads as a design preview, not a real app. This layer keeps
   the polished mobile UI but makes it behave like a shipped web app:

     • phones  (≤ 700px)  → full-bleed; the app fills the screen, no fake
                            chrome, real safe-area insets respected.
     • tablet+ (≥ 701px)  → a clean, centered app card on a branded backdrop.
     • laptops (≥ 1100px) → the card is paired with a brand rail so the extra
                            width is used intentionally.

   Loaded LAST in index.html so it overrides the mockup defaults.
   ==================================================================== */

/* The fake iOS clock + notch never belong on a real site — drop them
   everywhere and let .statusbar act only as a neutral top spacer. */
.statusbar { pointer-events: none; }
.statusbar > * { display: none !important; }

/* ------------------------------------------------------------------ */
/* PHONES — full-bleed real web app                                    */
/* ------------------------------------------------------------------ */
@media (max-width: 700px) {
  html, body {
    background: var(--bg) !important;
    overflow: hidden;
    overscroll-behavior: none;
  }
  #stage { display: block; }

  /* Kill the fit()-driven scale; the device now IS the viewport. */
  .device-scale {
    transform: none !important;
    width: 100%;
    height: 100%;
  }
  .device {
    width: 100vw !important;
    height: 100dvh !important;
    max-width: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  /* Top spacer = the phone's own safe area (notch / status bar). */
  .statusbar { height: max(env(safe-area-inset-top, 0px), 10px) !important; }

  /* Lift the floating nav above the home indicator. */
  .nav { bottom: calc(18px + env(safe-area-inset-bottom, 0px)) !important; }
}

/* ------------------------------------------------------------------ */
/* TABLET & DESKTOP — centered app card on a branded backdrop          */
/* ------------------------------------------------------------------ */
@media (min-width: 701px) {
  body {
    background:
      radial-gradient(1200px 820px at 12% -12%, rgba(202, 78, 121, 0.22), transparent 60%),
      radial-gradient(1100px 720px at 102% 112%, rgba(58, 44, 110, 0.30), transparent 55%),
      #0b1120 !important;
  }
  /* Slim, empty top spacer inside the card. */
  .statusbar { height: 14px !important; }
  /* A touch more depth for the framed card. */
  .device {
    box-shadow: 0 50px 120px rgba(0, 0, 0, 0.55),
                0 0 0 10px #0a0a0c,
                0 0 0 12px #2a2c30 !important;
  }
}

/* ------------------------------------------------------------------ */
/* LAPTOPS / WIDE — pair the app with a brand rail                     */
/* ------------------------------------------------------------------ */
#brand-rail { display: none; }

@media (min-width: 1100px) {
  #stage {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: clamp(48px, 7vw, 130px);
  }
  #brand-rail {
    display: block;
    max-width: 380px;
    color: #eef1f8;
    font-family: 'Archivo', system-ui, sans-serif;
  }
  #brand-rail .br-logo {
    width: 64px; height: 64px; border-radius: 18px;
    display: grid; place-items: center;
    font-size: 34px; font-weight: 800; color: #fff;
    background: linear-gradient(135deg, #8a4090, #ca4e79 55%, #f97a6d);
    box-shadow: 0 16px 40px rgba(202, 78, 121, 0.45);
    margin-bottom: 26px;
  }
  #brand-rail h1 {
    margin: 0;
    font-size: clamp(40px, 4vw, 60px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -0.025em;
    background: linear-gradient(120deg, #f7c1cf, #ca4e79 42%, #f97a6d 72%, #ffc97e);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: transparent;
  }
  #brand-rail p {
    margin: 18px 0 0;
    font-size: 18px;
    line-height: 1.5;
    font-weight: 400;
    color: #b7c0d6;
  }
  #brand-rail .br-meta {
    margin-top: 26px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
  }
  #brand-rail .br-meta span {
    font-size: 13px;
    font-weight: 600;
    color: #cdd5e6;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.10);
  }
}
