/* App handoff: scoped styles, shared typography and light/dark tokens. */
body.ivacars-launch-open { overflow: hidden; }
body.iv2026-shell dialog.ivacars-launch {
  position: fixed;
  inset: 0;
  margin: auto;
  box-sizing: border-box;
  width: min(520px, calc(100% - 32px));
  height: fit-content;
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px);
  overflow: auto;
  padding: 30px;
  border: 1px solid var(--iv-line);
  border-radius: 20px;
  background: var(--iv-surface);
  color: var(--iv-text);
  box-shadow: 0 24px 70px rgba(5, 18, 38, .3);
  font-family: var(--iv-font-body);
  z-index: 2147482000;
}
body.iv2026-shell dialog.ivacars-launch:not([open]) { display: none; }
dialog.ivacars-launch::backdrop { background: rgba(6, 17, 34, .58); }
body.iv2026-shell dialog.ivacars-launch--fallback { box-shadow: 0 0 0 100vmax rgba(6, 17, 34, .58); }
body.iv2026-shell .ivacars-launch__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; margin-bottom: 18px;
  border-radius: 14px; background: var(--iv-blue-soft); color: var(--iv-blue);
  font-size: 23px;
}
body.iv2026-shell .ivacars-launch__kicker {
  margin: 0 44px 7px 0; color: var(--iv-muted); font-size: 13px;
  font-weight: 500; line-height: 1.4;
}
body.iv2026-shell .ivacars-launch__title {
  margin: 0 0 14px; padding: 0; font-family: var(--iv-font-display);
  font-size: 26px; font-weight: 600; line-height: 1.22;
  color: var(--iv-text-strong); overflow-wrap: anywhere;
}
/* The heading receives focus for screen readers, but is not an input field. */
body.iv2026-shell .ivacars-launch__title:focus { outline: none !important; box-shadow: none !important; }
body.iv2026-shell .ivacars-launch__body {
  margin: 0; font-size: 16px; line-height: 1.65; font-weight: 400; color: var(--iv-text);
}
body.iv2026-shell .ivacars-launch__note {
  margin: 18px 0 0; font-size: 13px; line-height: 1.55; font-weight: 400; color: var(--iv-muted);
}
body.iv2026-shell .ivacars-launch__error {
  margin: 14px 0 0; padding: 12px 14px; border-radius: 10px;
  color: var(--iv-danger); background: var(--iv-danger-soft); font-size: 14px; line-height: 1.5;
}
body.iv2026-shell .ivacars-launch__actions { display: flex; gap: 12px; margin-top: 24px; }
body.iv2026-shell .ivacars-launch__action,
body.iv2026-shell .ivacars-launch__action:visited {
  display: inline-flex; flex: 1; justify-content: center; align-items: center;
  box-sizing: border-box; min-height: 46px; padding: 11px 16px;
  margin: 0; border: 1px solid var(--iv-line-strong); border-radius: 10px;
  background: var(--iv-surface); color: var(--iv-text);
  font-family: var(--iv-font-body); font-size: 15px; font-weight: 600;
  line-height: 1.4; text-align: center; text-decoration: none; cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease;
}
body.iv2026-shell .ivacars-launch__download,
body.iv2026-shell .ivacars-launch__download:visited,
body.iv2026-shell .ivacars-launch__download:hover,
body.iv2026-shell .ivacars-launch__download:focus {
  /* Keep contrast against the site's generic dark-mode link rules. */
  color: #ffffff !important; background: #1d5fd1; border-color: #1d5fd1;
}
body.iv2026-shell .ivacars-launch__retry:hover,
body.iv2026-shell .ivacars-launch__retry:focus { color: var(--iv-text); background: var(--iv-surface); }
body.iv2026-shell .ivacars-launch__action:hover { transform: translateY(-2px); box-shadow: var(--iv-shadow-sm); }
body.iv2026-shell .ivacars-launch__action:focus-visible,
body.iv2026-shell .ivacars-launch__close:focus-visible { outline: 3px solid var(--iv-blue); outline-offset: 3px; }
body.iv2026-shell .ivacars-launch__close {
  position: absolute; top: 16px; right: 16px; display: flex;
  align-items: center; justify-content: center; width: 40px; height: 40px;
  margin: 0; padding: 0; border: 1px solid var(--iv-line); border-radius: 10px;
  color: var(--iv-muted); background: var(--iv-surface-soft); font-size: 18px;
  cursor: pointer; transform: none;
}
body.iv2026-shell .ivacars-launch__close:hover { color: var(--iv-text); background: var(--iv-surface-soft); transform: none; }
body.iv2026-shell .ivacars-launch [hidden] { display: none !important; }
@media (max-width: 480px) {
  body.iv2026-shell dialog.ivacars-launch { padding: 24px 20px; }
  body.iv2026-shell .ivacars-launch__title { font-size: 24px; }
  body.iv2026-shell .ivacars-launch__actions { flex-direction: column; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  body.iv2026-shell .ivacars-launch__action { transition: none; }
  body.iv2026-shell .ivacars-launch__action:hover { transform: none; }
}
