/* Download handoff and optional recovery only. */
#browser-help[hidden], #manual-download-copy[hidden], [data-open-browser-help][hidden], #download-platform[hidden] { display: none; }
#browser-help {
  box-sizing: border-box; position: fixed; bottom: 1rem; left: 1rem; right: 1rem;
  z-index: 90; width: auto; max-width: 40rem; margin: 0 auto; padding: 1rem 1.2rem;
  max-height: calc(100vh - 2rem); max-height: calc(100dvh - 2rem); overflow: auto;
  background: #fff; color: #0d1a2e; border: 1px solid #b8c8dc; border-radius: 8px;
  box-shadow: 0 4px 20px #0d1a2e26; font: 1rem/1.5 "Avenir Next", "Segoe UI", sans-serif;
}
#browser-help h2 { font: 700 1.2rem/1.3 "Avenir Next", "Segoe UI", sans-serif; margin: 0 0 .5rem; max-width: none; }
#browser-help p, #browser-help ol { margin: .6rem 0; color: #31445f; }
#browser-help ol { padding-left: 1.4rem; }
.browser-help-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: .8rem; }
.browser-help-actions a, .browser-help-actions button, [data-open-browser-help] {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px;
  padding: .5rem .8rem; border: 1px solid #2457d6; border-radius: 6px;
  background: #fff; color: #183f9e; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer;
}
#browser-help-close { border-color: #b8c8dc; color: #31445f; }
#browser-help .browser-search-fallback { font-size: .9em; margin-top: 1rem; }
#download-copy-url { box-sizing: border-box; display: block; width: 100%; padding: .6rem; min-height: 44px; color: #0d1a2e; background: #f2f6fb; border: 1px solid #b8c8dc; font: inherit; }
#browser-help :focus-visible, [data-open-browser-help]:focus-visible { outline: 3px solid #2457d6; outline-offset: 3px; }
.browser-download-note { font-size: .9rem; color: #31445f; margin: .6rem 0; }
.browser-download-note button { background: none; border: 0; padding: .3rem; color: #183f9e; text-decoration: underline; font: inherit; cursor: pointer; min-height: 44px; }
.browser-download-note button:focus-visible { outline: 3px solid #2457d6; outline-offset: 2px; }
.download-page { margin: 0; background: #eef4f8; color: #0d1a2e; font: 1rem/1.6 "Avenir Next", "Segoe UI", sans-serif; }
.download-page * { box-sizing: border-box; }
.download-page a { color: #183f9e; text-underline-offset: .2em; }
.download-page :focus-visible { outline: 3px solid #2457d6; outline-offset: 3px; }
.download-header, .download-main, .download-footer { width: min(100% - 2rem, 44rem); margin: 0 auto; }
.download-header { padding: 1.2rem 0; }
.download-brand { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; font-weight: 700; text-decoration: none; }
.download-brand img { border-radius: 8px; }
.download-brand span { font-size: .9rem; color: #31445f; }
.download-main { background: #fff; border: 1px solid #d8e2ee; border-radius: 8px; padding: clamp(1rem, 4vw, 2rem); }
.download-main h1 { font-size: clamp(2rem, 6vw, 3rem); line-height: 1.15; margin: 0 0 1rem; }
.download-main p { color: #31445f; }
.download-stores { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1rem 0; }
.download-stores a { display: inline-flex; align-items: center; min-height: 48px; padding: .65rem 1rem; border: 2px solid #2457d6; border-radius: 6px; color: #183f9e; font-weight: 700; text-decoration: none; }
.download-stores a[data-recommended] { background: #2457d6; color: #fff; }
#download-platform { border: 1px solid #d8e2ee; padding: .6rem .8rem; border-radius: 6px; }
#download-platform label { display: inline-flex; align-items: center; min-height: 44px; margin-right: .75rem; gap: .3rem; }
#store-help { margin: 1.5rem 0; }
#store-help summary { cursor: pointer; color: #183f9e; font-weight: 700; padding: .5rem 0; min-height: 44px; }
.download-qr { margin-top: 2rem; border-top: 1px solid #d8e2ee; padding-top: 1rem; }
.download-qr h2 { font-size: 1.25rem; }
.download-qr img { max-width: 100%; height: auto; }
.download-footer { padding: 1.5rem 0; }
.download-footer button { color: #183f9e; background: none; border: 0; text-decoration: underline; font: inherit; }
.download-skip { position: absolute; top: -5rem; left: 1rem; background: #fff; padding: .7rem; z-index: 110; }
.download-skip:focus { top: 1rem; }
@media (max-width: 600px) { .download-qr { display: none; } }
@media (max-width: 420px) {
  #browser-help { bottom: .5rem; left: .5rem; right: .5rem; padding: .9rem; }
  .browser-help-actions > * { flex: 1 1 10rem; }
}
/* No motion is used; reduced-motion preferences require no override. */
