/* Shared navigation and content structure; each app keeps its own theme. */
html { scroll-padding-top: 24px; }
main { overflow-wrap: anywhere; }
.skip-link {
    position: absolute;
    top: -100px;
    left: 20px;
    z-index: 20;
    padding: 12px 16px;
    color: var(--bg);
    background: var(--ink);
}
.skip-link:focus { top: 12px; }
header .wrap { flex-wrap: wrap; }
header nav, .app-footer nav { flex-wrap: wrap; gap: 4px 16px; }
header a, .app-footer a, .support-toc a {
    display: inline-flex;
    align-items: center;
    min-width: 44px;
    min-height: 44px;
}
header nav a[aria-current="page"] { color: var(--ink); font-weight: 700; }
.support-page { padding-block: 48px 72px; }
.page-intro { margin-bottom: 28px; }
.page-intro h1 { text-wrap: balance; margin-top: 0; }
.page-intro > p { max-width: 60ch; }
.download-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 66px;
    padding: 11px;
    margin-inline: -11px;
}
.download-link img { display: block; width: auto; height: 44px; }
.support-toc {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 20px;
    padding-block: 12px;
    margin-bottom: 40px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    font-size: 15px;
}
.support-toc a { color: var(--accent, var(--link)); }
.support-section { margin-top: 44px; scroll-margin-top: 24px; }
.support-section > h2 { margin-top: 0; }
.support-section h3 { margin: 28px 0 8px; font-size: 1.1rem; line-height: 1.4; }
.support-section h3 + p, .support-section h3 + ol, .support-section h3 + ul { margin-top: 0; }
.contact-panel { padding-top: 8px; }
.support-page li + li { margin-top: 8px; }
.app-footer { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.app-footer p { margin: 8px 0 0; font-size: inherit; }
.app-footer .footer-contact { overflow-wrap: anywhere; }
@media (max-width: 600px) {
    header .wrap { flex-direction: column; align-items: flex-start; gap: 4px; padding-block: 12px; }
    header nav { width: 100%; gap: 0 16px; }
    .support-page { padding-top: 32px; }
    .support-toc { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; margin-bottom: 32px; }
    .support-section { margin-top: 36px; }
    .page-intro h1 { overflow-wrap: anywhere; }
}
