/* Meetly responsive web workspace. Mobile rules remain authoritative below 900px. */
@media (min-width: 901px) {
  html, body { min-width: 1024px; min-height: 720px; }
  body { overflow: hidden; background: #eee8e2; }
  .stage {
    width: 100%; max-width: 1680px; height: 100vh; min-height: 720px;
    margin: 0 auto; padding: 22px; display: grid;
    grid-template-columns: 260px minmax(680px, 1fr); gap: 20px;
  }
  .intro {
    width: auto; max-width: none; height: 100%; margin: 0; padding: 38px 30px;
    border-radius: 28px; color: #fff;
    background: linear-gradient(155deg, #773b49 0%, #b64f65 55%, #d88a82 100%);
    box-shadow: 0 22px 55px rgba(87,42,49,.18); overflow: hidden;
  }
  .intro .brand-mark { background: rgba(255,255,255,.96); color: #a94b60; box-shadow: none; }
  .intro .eyebrow, .intro .lead, .intro .hint { color: rgba(255,255,255,.82); }
  .intro h1 { color: #fff; font-size: clamp(30px, 2.5vw, 42px); line-height: 1.2; }
  .intro .trust-row { display: grid; gap: 10px; }
  .intro .trust-row span { color: #fff; border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.11); }
  .phone {
    width: 100%; height: calc(100vh - 44px); min-height: 676px; margin: 0;
    border: 0; border-radius: 28px; background: var(--paper); overflow: hidden;
    box-shadow: 0 22px 55px rgba(73,53,49,.13); position: relative;
  }
  .phone-top { display: none; }
  .app-shell { height: 100%; position: relative; padding-left: 112px; }
  .app-header {
    height: 76px; padding: 0 28px; border-bottom: 1px solid var(--line);
    background: rgba(255,254,250,.96); position: relative; z-index: 7;
  }
  .wordmark { font-size: 28px; }
  .screen {
    left: 112px; width: calc(100% - 112px); height: calc(100% - 76px);
    padding: 24px clamp(24px, 4vw, 58px) 40px; overflow-y: auto;
    scrollbar-gutter: stable; overscroll-behavior: contain;
  }
  .screen[data-screen="discover"] { padding-inline: clamp(28px, 6vw, 90px); }
  .discover-mode-switch { max-width: 560px; margin-inline: auto; }
  .screen-heading { max-width: 720px; margin-inline: auto; }
  .profile-card { width: min(100%, 620px); height: min(58vh, 580px); min-height: 410px; margin-inline: auto; }
  .actions { margin: 18px auto 0; }
  .voice-promo, .combined-messages-panel { max-width: 720px; margin-inline: auto; }
  .moments-screen, .messages-hub, .group-lobby-screen, .pet-screen, .screen[data-screen="me"] { max-width: none; }
  .moments-feed { display: grid; grid-template-columns: repeat(2, minmax(280px, 1fr)); gap: 18px; align-items: start; }
  .messages-hub .message-row, .settings-list { max-width: 900px; }
  .me-card { max-width: 620px; }
  .tabbar {
    position: absolute; left: 0; top: 0; bottom: 0; right: auto;
    width: 112px; height: 100%; padding: 102px 10px 22px;
    grid-template-columns: 1fr; grid-template-rows: repeat(5, 76px);
    align-content: start; gap: 7px; border: 0; border-right: 1px solid var(--line);
    background: #faf6f2; z-index: 8;
  }
  .tabbar::before {
    content: 'M'; position: absolute; top: 23px; left: 35px; width: 42px; height: 42px;
    display: grid; place-items: center; border-radius: 15px; background: var(--rose);
    color: white; font: 700 23px/1 "Playfair Display", serif;
  }
  .tabbar button { width: 100%; min-height: 68px; border-radius: 16px; gap: 3px; }
  .tabbar button:hover { background: #f1e7e3; color: var(--rose-dark); }
  .tabbar button.active { background: #f2dfdf; }
  .tabbar button span { font-size: 23px; }
  .tabbar button b { font-size: 13px; }
  .tabbar button i { right: 24px; top: 11px; }
  .chat-view, .group-chat-view, .voice-view {
    left: 112px; right: 0; top: 76px; bottom: 0; width: auto; height: auto;
  }
  .meetly-chat.show { left: 112px; top: 76px; }
  .profile-editor { align-items: center; }
  .profile-editor-sheet { max-height: 86vh; border-radius: 25px; }
  .modal-content { width: min(430px, 100%); }
}

@media (min-width: 1280px) {
  .stage { grid-template-columns: 300px minmax(820px, 1fr); }
  .intro { padding: 48px 36px; }
  .moments-feed { grid-template-columns: repeat(3, minmax(240px, 1fr)); }
}

.runtime-empty { width: 100%; padding: 24px; color: var(--muted); text-align: center; font-size: 14px; }
.runtime-panel { position: fixed; inset: 0; z-index: 160; display: none; justify-content: flex-end; background: rgba(35,29,27,.35); backdrop-filter: blur(5px); }
.runtime-panel.show { display: flex; }
.runtime-panel > section { width: min(430px,100%); height: 100%; padding: 20px; background: var(--paper); box-shadow: -16px 0 45px rgba(48,34,31,.15); overflow-y: auto; }
.runtime-panel header { display: flex; align-items: center; justify-content: space-between; padding: 6px 0 18px; border-bottom: 1px solid var(--line); }
.runtime-panel h2 { margin: 0; }
.runtime-panel header button { width: 42px; height: 42px; border: 0; border-radius: 50%; background: #f1e9e4; font-size: 23px; }
.runtime-panel header > div { display: flex; align-items: center; gap: 8px; }
.runtime-panel header #readAllNotifications { width: auto; padding: 0 12px; border-radius: 12px; font-size: 13px; color: var(--rose-dark); }
.runtime-panel-list > button { width: 100%; display: grid; gap: 5px; padding: 16px 4px; border: 0; border-bottom: 1px solid var(--line); background: transparent; text-align: left; }
.runtime-panel-list > button b { font-size: 15px; }
.runtime-panel-list > button span, .runtime-panel-list > button small { color: var(--muted); }
.runtime-panel-list > button.read { opacity: .55; }
.runtime-moment header { display: flex; align-items: center; gap: 10px; }
.runtime-moment header img { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; }
.runtime-moment header p { display: grid; margin: 0; }
.runtime-moment .runtime-delete { margin-left: auto; border: 0; background: transparent; color: var(--rose-dark); font-size: 13px; }
.bubble small { display: block; opacity: .7; margin-top: 4px; }
.api-offline .notice-dot { background: #c58b38; }
.group-chat-header .runtime-exit-room { width: auto; padding: 0 10px; color: var(--rose-dark); font-size: 12px; white-space: nowrap; }
.call-local-media { width: min(280px,75vw); min-height: 160px; margin: 16px auto; display: grid; place-items: center; border-radius: 20px; overflow: hidden; background: #211d1d; color: white; }
.call-local-media video { width: 100%; max-height: 320px; object-fit: cover; transform: scaleX(-1); }
.call-controls { display: flex; justify-content: center; gap: 12px; }
.call-controls button { min-width: 54px; height: 48px; border: 0; border-radius: 18px; }
.chat-image { display: block; width: min(260px,60vw); max-height: 340px; margin-bottom: 6px; border-radius: 14px; object-fit: cover; }
