/* Shared by the homepage and /download; no viewport-based device detection. */
.mobile-handoff-card,
.has-mobile-handoff [data-pc-download-files] {
  --mobile-handoff-surface: var(--theme-raised, var(--surface, #fff));
  --mobile-handoff-soft: var(--theme-surface, var(--surface-alt, #f7f3fc));
  --mobile-handoff-ink: var(--theme-ink, var(--ink, #251c32));
  --mobile-handoff-muted: var(--theme-muted, var(--muted, #63566f));
  --mobile-handoff-line: var(--theme-border, var(--line, #ddd2e9));
  --mobile-handoff-accent: var(--theme-accent, var(--accent, #7044e9));
  --mobile-handoff-tint: var(--theme-accent-pale, var(--pale, #f1ebff));
}
.mobile-handoff-card {
  box-sizing: border-box;
  width: 100%;
  max-width: 38rem;
  min-width: 0;
  margin: 18px 0 0;
  padding: clamp(16px, 4vw, 24px);
  border: 1px solid var(--mobile-handoff-line);
  border-radius: 16px;
  background: var(--mobile-handoff-surface);
  color: var(--mobile-handoff-ink);
  text-align: left;
  overflow-wrap: anywhere;
}
.mobile-handoff-card *, .mobile-handoff-card *::before, .mobile-handoff-card *::after { box-sizing: border-box; }
[data-pc-handoff][data-placement="download"] .mobile-handoff-card { max-width: none; margin-top: 24px; padding: 20px 0 0; border: 0; border-top: 1px solid var(--mobile-handoff-line); border-radius: 0; background: transparent; }
.mobile-handoff-card .mobile-handoff-heading { display: flex; align-items: center; gap: 12px; min-width: 0; }
.mobile-handoff-card .mobile-handoff-icon { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; border-radius: 10px; color: var(--mobile-handoff-accent); background: var(--mobile-handoff-tint); }
.mobile-handoff-card svg { width: 20px; height: 20px; flex: 0 0 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.mobile-handoff-card .mobile-handoff-title { margin: 0; min-width: 0; font: inherit; font-size: 19px; font-weight: 750; line-height: 1.35; letter-spacing: -.35px; color: var(--mobile-handoff-ink); }
.mobile-handoff-card .mobile-handoff-description { margin: 14px 0 18px; max-width: none; font-size: 14px; line-height: 1.65; color: var(--mobile-handoff-muted); }
.mobile-handoff-card .mobile-handoff-actions { display: flex; flex-wrap: wrap; gap: 10px; min-width: 0; }
.mobile-handoff-card .mobile-handoff-button { display: flex; align-items: center; justify-content: center; gap: 9px; flex: 1 1 200px; min-width: 0; min-height: 48px; max-width: 100%; margin: 0; padding: 12px 14px; border: 1px solid var(--mobile-handoff-line); border-radius: 11px; background: var(--mobile-handoff-surface); color: var(--mobile-handoff-ink); font: inherit; font-size: 13px; font-weight: 700; line-height: 1.45; text-align: center; white-space: normal; cursor: pointer; box-shadow: none; }
.mobile-handoff-card .mobile-handoff-button-label { min-width: 0; }
.mobile-handoff-card .mobile-handoff-button:hover:not(:disabled) { background: var(--mobile-handoff-soft); }
.mobile-handoff-card .mobile-handoff-primary { color: #fff; background: #7044e9; border-color: #7044e9; }
.mobile-handoff-card .mobile-handoff-primary:hover:not(:disabled) { color: #fff; background: #6036d1; border-color: #6036d1; }
.mobile-handoff-card .mobile-handoff-button:disabled { opacity: .65; cursor: wait; }
.mobile-handoff-card .mobile-handoff-link-label { display: block; margin: 16px 0 0; font-size: 12px; font-weight: 600; line-height: 1.5; color: var(--mobile-handoff-muted); }
.mobile-handoff-card .mobile-handoff-url { display: block; width: 100%; min-width: 0; max-width: 100%; min-height: 44px; margin: 7px 0 0; padding: 10px 12px; border: 1px solid var(--mobile-handoff-line); border-radius: 9px; background: var(--mobile-handoff-soft); color: var(--mobile-handoff-ink); font: inherit; font-size: 16px; line-height: 1.5; text-overflow: clip; cursor: text; }
.mobile-handoff-card .mobile-handoff-status { min-height: 0; margin: 12px 0 0; font-size: 12px; line-height: 1.6; color: var(--mobile-handoff-muted); }
.mobile-handoff-card .mobile-handoff-status:empty { margin: 0; }
.mobile-handoff-card :is(button,input):focus-visible { outline: 3px solid var(--theme-focus, var(--mobile-handoff-accent)); outline-offset: 3px; }
[data-pc-mobile-label] { display: none; }
.has-mobile-handoff [data-pc-desktop-label], .has-mobile-handoff [data-pc-legacy-copy] { display: none !important; }
.has-mobile-handoff [data-pc-mobile-label] { display: inline; }
[data-pc-download-files] > summary { display: none; }
/* The wrapper moves these two paragraphs out of article > p; keep their existing typography. */
.download-page [data-pc-download-files] > div > p { margin: 24px 0; font-size: 16px; color: var(--muted, #63566f); }
.download-page [data-pc-download-files] > div > p.download-version { margin: 12px 0; font-size: 14px; font-weight: 700; color: var(--ink, #251c32); }
.has-mobile-handoff [data-pc-download-files] { min-width: 0; margin: 16px 0 0; padding: 0; border: 1px solid var(--mobile-handoff-line); border-radius: 12px; background: var(--mobile-handoff-surface); color: var(--mobile-handoff-ink); overflow-wrap: anywhere; }
.has-mobile-handoff [data-pc-download-files] > summary { display: list-item; min-height: 48px; margin: 0; padding: 14px 16px; font-size: 13px; font-weight: 600; line-height: 1.55; cursor: pointer; list-style-position: inside; color: var(--mobile-handoff-muted); }
.has-mobile-handoff [data-pc-download-files] > summary:focus-visible { outline: 3px solid var(--theme-focus, var(--mobile-handoff-accent)); outline-offset: 3px; border-radius: 10px; }
.has-mobile-handoff [data-pc-download-files] > div { padding: 0 16px 16px; min-width: 0; }
@media (forced-colors: active) {
  .mobile-handoff-card .mobile-handoff-button, .mobile-handoff-card .mobile-handoff-url, .mobile-handoff-card { border-color: CanvasText; }
}
