/* Group apps (plugins v2): the app view, its fixed host chrome, and consent prompts.
 * Host chrome always sits outside the app frame; a frame can't draw over it. */
.ga-app {
  position: fixed; inset: 0; z-index: 60;
  display: flex; flex-direction: column;
  background: var(--bg);
}
.ga-chrome {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px;
  padding: 10px 16px;
  border-bottom: 1px solid var(--line);
  background: var(--surface, var(--bg));
}
.ga-chrome b { font-size: 16px; }
.ga-chrome .g-meta { color: var(--text-2); font-size: 13px; }
.ga-frame-slot { flex: 1; min-height: 0; display: flex; }
.ga-frame { flex: 1; width: 100%; border: 0; background: var(--surface, #fff); }
.ga-frame.ga-dim { opacity: .35; filter: grayscale(.4); }
.ga-interstitial { margin: 40px auto; max-width: 520px; }
.ga-modal-backdrop {
  position: fixed; inset: 0; z-index: 80;
  display: grid; place-items: center; padding: 16px;
  background: var(--scrim);
}
.ga-modal {
  width: min(560px, 100%); max-height: calc(100vh - 32px); overflow: auto;
  padding: 22px; border-radius: 18px;
  border: 1px solid var(--line-strong); border-top: 4px solid var(--accent);
  background: var(--surface, var(--bg)); color: var(--text);
  box-shadow: var(--shadow-3);
}
.ga-modal h2 { margin-top: 0; }
.ga-modal .g-actions, .ga-apps .g-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.ga-sentences { padding-left: 20px; }
.ga-sentences li { margin: 4px 0; }
.ga-history { padding-left: 20px; font-size: 13px; color: var(--text-2); }
.ga-trust.ga-official { background: var(--accent-soft); color: var(--accent); }
.ga-trust.ga-unverified { background: var(--warn-soft); color: var(--warn); }
.ga-draft { white-space: pre-wrap; overflow-wrap: anywhere; padding: 12px; border-radius: 10px; background: var(--sunken); font: inherit; }
.ga-directory { list-style: none; padding: 0; }
.ga-directory li { display: flex; align-items: center; gap: 8px; margin: 6px 0; }
.ga-promise { font-size: 13px; }
