/* Compact academic reading surface. Clinical warning colours retain their meaning. */
:root {
  --read-teal: #116c65;
  --read-blue: #2a6080;
  --read-soft: #edf6f5;
  --read-blue-soft: #eff5f9;
  --read-line: #d5e3e4;
  --read-ink: #213d49;
  --read-surface: #fff;
  --read-muted: #506b76;
}
html[data-theme='dark'] {
  --read-teal: #9ad9ce;
  --read-blue: #accfe4;
  --read-soft: #1b3b40;
  --read-blue-soft: #203846;
  --read-line: #38535e;
  --read-ink: #e1eeee;
  --read-surface: #142c37;
  --read-muted: #b1c8ce;
}
@media screen {
  #main { padding-top: 22px; }
  #main :is(.page-heading,.si-heading,.ref-heading,.atb-title,.guide-hero) { margin-bottom: 18px; }
  #main :is(.page-heading,.si-heading,.ref-heading,.atb-title,.guide-hero,.condition-header) h1 { font-size: clamp(1.5rem, 2.2vw, 1.875rem); letter-spacing: -.025em; line-height: 1.2; }
  #main :is(.page-heading,.si-heading,.ref-heading,.atb-title) > p { margin-top: 6px; line-height: 1.5; }
  #main :is(.si-hero,.condition-header) { padding: 18px 60px 18px 20px; border-radius: 12px; min-height: 0; box-shadow: none; }
  #main .condition-area-icon { display: none; }
  #main .condition-header p { margin-top: 8px; max-width: 90ch; }
  #main .condition-header .eyebrow { font-size: .75rem; letter-spacing: .08em; color: var(--read-teal); }
  #main .history-navigation { margin-bottom: 14px; gap: 5px 14px; }
  #main .internal-breadcrumbs { font-size: .8125rem; }
  #main .history-navigation > button { padding: 6px 10px; min-height: 36px; }
  #main .home-access, #main .overview-section { margin: 20px 0 0; }
  #main :is(.home-access,.overview-section) > h2 { display: flex; align-items: center; gap: 9px; margin: 0 0 10px; font-size: .875rem; letter-spacing: .04em; font-weight: 700; color: var(--read-teal); }
  #main :is(.home-access,.overview-section) > h2::after { content: ''; flex: 1; height: 1px; background: var(--read-line); }
  #main .home-access-grid.home-featured { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
  #main .home-access-grid.home-module-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
  #main .home-access-grid > a.si-card { grid-column: auto; }
  #main .home-access-grid a.si-card { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 3px 11px; align-content: center; min-height: 82px; padding: 13px 15px; border-radius: 11px; box-shadow: none; }
  #main .home-access-grid a.si-card .si-icon { grid-column: 1; grid-row: 1; align-self: center; width: 34px; height: 34px; min-width: 34px; border-radius: 9px; background: var(--read-soft); color: var(--read-teal); }
  #main .home-access-grid a.si-card > div { grid-column: 2; grid-row: 1; min-width: 0; }
  #main .home-access-grid .si-card h3, #main .home-access-grid .si-card h2 { font-size: .9375rem; margin: 0; line-height: 1.35; letter-spacing: -.01em; }
  #main .home-access-grid .si-card p { grid-column: 2; font-size: .875rem; line-height: 1.4; margin: 0; }
  #main .home-access-grid .si-arrow { display: none; }
  #main .home-access-grid .home-primary { border-top: 0; }
  #main .home-access-grid .home-primary .si-icon { background: #ffffff12; }
  #main .home-module-grid > a:nth-child(3n+2) .si-icon { background: var(--read-blue-soft); color: var(--read-blue); }
  #main .home-module-grid > a:nth-child(3n+2) .si-icon svg { color: var(--read-blue); }
  #main .home-shortcuts { display: flex; flex-wrap: wrap; gap: 6px; margin: 9px 0 0; }
  #main .home-shortcuts-caption { align-self: center; color: var(--read-muted); font-size: .75rem; font-weight: 700; letter-spacing: .02em; margin-right: 2px; }
  #main .home-shortcuts a { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 6px 10px; border: 1px solid var(--read-line); border-radius: 8px; background: var(--read-surface); color: var(--read-teal); font-size: .875rem; text-decoration: none; line-height: 1.4; }
  #main .home-shortcuts a:hover { background: var(--read-soft); border-color: var(--read-teal); }
  #main .home-shortcuts-reset { min-height: 36px; border: 0; padding: 6px; background: transparent; color: var(--read-muted); font-size: .75rem; cursor: pointer; }
  #main .home-shortcuts-reset:hover { color: var(--read-teal); text-decoration: underline; }
  #main .home-shortcuts svg, .home-search-icon svg { width: 18px; height: 18px; flex: none; }
  #main .search-launch { min-height: 52px; padding: 12px 16px; margin-bottom: 0; border: 1px solid var(--read-line); box-shadow: 0 2px 8px #153c4405; }
  #main .home-search-icon { display: flex; color: var(--read-teal); }
  #main .overview-empty { font-size: .875rem; margin: 0; padding: 12px 14px; border: 1px dashed var(--read-line); border-radius: 9px; color: var(--read-muted); }
  #main .overview-section .cards { gap: 8px; }
  #main .overview-section .card { min-height: 64px; padding: 12px 54px 12px 50px; border-radius: 10px; }
  #main .overview-section .card-top { margin: 0; }
  #main .overview-section .card h3 { font-size: .9375rem; margin: 0; }
  #main .overview-section .favorite-toggle { width: 44px; height: 44px; right: 6px; }
  #main .overview-section .card p { font-size: .875rem; margin: 5px 0; }
  #main .overview-section .card-end { display: none; }
  #main .context-links { gap: 6px; padding: 10px 0; margin: 0 0 16px; border: 0; background: transparent; }
  #main .context-links > span { color: var(--read-muted); font-size: .75rem; }
  #main :is(.context-links a,.condition-aside a,.ph-bi-actions .si-link) { border: 1px solid var(--read-line); border-radius: 8px; background: var(--read-soft); color: var(--read-teal); padding: 8px 10px; font-size: .875rem; line-height: 1.4; }
  #main .context-links a { min-height: 36px; display: inline-flex; align-items: center; }
  #main .guide-shell { gap: 12px; }
  #main .condition-layout { grid-template-columns: minmax(0,1fr) 190px; gap: 14px; }
  #main .condition-content { gap: 12px; }
  #main .condition-section { padding: 16px; border-radius: 11px; box-shadow: none; }
  #main .guide-treatment-heading { padding-bottom: 10px; margin-bottom: 10px; }
  #main .guide-treatment-heading h2 { font-size: 1rem !important; letter-spacing: -.01em; }
  #main .guide-treatment-heading svg { width: 20px; height: 20px; }
  #main .guide-diagnosis { border-top: 3px solid var(--read-blue); }
  #main .guide-diagnosis .guide-treatment-heading { color: var(--read-blue); }
  #main .guide-treatment { border-top: 3px solid var(--read-teal); background: var(--read-surface); }
  #main .guide-followup { border-top: 3px solid var(--read-blue); }
  #main .guide-followup .guide-treatment-heading { color: var(--read-blue); }
  #main .guide-recommendations .guide-treatment-heading { color: var(--read-teal); }
  #main .guide-clinical-block h3 { color: var(--read-ink); font-size: .9375rem; line-height: 1.4; margin: 16px 0 7px; }
  #main .guide-clinical-block:first-child h3 { margin-top: 0; }
  #main :is(.guide-assessment,.guide-clinical-block,.ph-bi-card-body) { font-size: 1rem; line-height: 1.55; }
  #main .guide-clinical-block p, #main .ph-bi-card-body p { margin: 7px 0; line-height: 1.55; }
  #main .guide-follow-plan > div { padding: 8px 0; gap: 10px; }
  #main .guide-follow-plan dd { line-height: 1.55; }
  #main .guide-prescriptions .rx-card { padding: 15px; gap: 10px; border-radius: 10px; }
  #main .guide-prescriptions .rx-card p { font-size: 1rem; line-height: 1.55; margin: 7px 0; }
  #main .guide-prescriptions .rx-grid { gap: 12px; }
  #main .guide-prescriptions .rx-dose { margin: 9px 0; padding: 11px; background: var(--read-soft); }
  #main .guide-prescriptions .rx-dose strong { font-size: 1.0625rem; }
  #main .guide-strategy { padding: 14px 16px; margin-bottom: 16px; }
  #main .guide-treatment-group { margin-top: 18px; }
  #main .condition-aside { padding: 12px; border-radius: 10px; }
  #main .condition-aside h2 { font-size: .8125rem; color: var(--read-muted); margin: 0 0 9px; }
  #main .condition-aside nav { gap: 6px; }
  #main .clinical-section-nav { position: sticky; top: 8px; z-index: 5; display: flex; flex-wrap: nowrap; gap: 4px; padding: 5px; margin: 0 0 4px; border: 1px solid var(--read-line); border-radius: 10px; background: var(--read-surface); box-shadow: 0 3px 10px #16374008; overflow-x: auto; scrollbar-width: thin; }
  #main .clinical-section-nav button { flex: 0 0 auto; min-height: 36px; padding: 7px 12px; border: 0; border-radius: 6px; background: transparent; color: var(--read-muted); font-size: .875rem; font-weight: 600; white-space: nowrap; }
  #main .clinical-section-nav button:hover, #main .clinical-section-nav button[aria-current='location'] { background: var(--read-soft); color: var(--read-teal); }
  #main :is(.condition-section[id],.guide-sources[id],.ph-bi-card[id]) { scroll-margin-top: 76px; }
  #main .ph-bi-profile-grid { gap: 14px; }
  #main .ph-bi-profile-grid .ph-bi-card { border-radius: 11px; box-shadow: none; }
  #main .ph-bi-profile-grid .ph-bi-card > header { padding: 12px 15px; gap: 8px; }
  #main .ph-bi-profile-grid .ph-bi-card h2 { font-size: 1rem; gap: 9px; }
  #main .ph-bi-section-icon { width: 30px; height: 30px; flex-basis: 30px; border-radius: 8px; }
  #main .ph-bi-section-icon svg { width: 20px; height: 20px; }
  #main .ph-bi-profile-grid .ph-bi-card-body { padding: 8px 15px 15px; }
  #main .ph-bi-context { padding: 13px 16px; margin: 0 0 16px; border-radius: 10px; }
  #main .ph-bi-context p { margin: 6px 0; line-height: 1.5; }
  #main .ph-bi-rationale { padding: 10px 12px; margin-top: 12px; }
  #main .ph-bi-profile-grid [data-section='alternatives'] .ph-bi-card-body { gap: 16px; padding-top: 14px; }
  #main .ph-bi-alternative p { line-height: 1.55; }
  #main .catalog-toolbar { padding: 12px; gap: 12px; border-radius: 11px; }
  #main :is(.ref-specialty,.pv-entry,.atb-card) { border-radius: 11px; box-shadow: none; }
  #main .si-cards .resource-favorite > .si-card { padding: 15px 50px 15px 15px; gap: 10px; }
  #main .si-cards .resource-favorite .si-icon { width: 32px; height: 32px; flex-basis: 32px; }
  #main .si-cards .resource-favorite .si-icon svg { width: 22px; height: 22px; }
  #main :is(.guide-filters,.guide-search) { box-shadow: none; }
  #main .guide-condition-card > a { min-height: 66px; padding: 12px 46px 12px 13px; align-content: center; }
  #main .guide-condition-card { border-radius: 9px; }
  #main .guide-area-group { margin-bottom: 18px; }
  #main .guide-area-group > h2 { padding: 8px 0; border-bottom: 1px solid var(--read-line); color: var(--read-teal); }
  #main .guide-images-heading { margin-bottom: 9px; }
  #main .guide-image-card figcaption { padding: 10px; }
  #main .guide-sources { padding: 14px 16px; border-radius: 10px; }
  #main .guide-sources h2 { font-size: .9375rem; }
  #main .health-news { margin-top: 22px; }
  #main :is(a,button):focus-visible { outline: 3px solid var(--read-teal); outline-offset: 3px; }
  .sidebar nav .nav-group { margin-top: 7px; padding-top: 5px; }
  .sidebar nav .nav-group-toggle { min-height: 32px; padding-block: 5px; letter-spacing: .05em; }
  .sidebar nav a { min-height: 39px; padding-block: 7px; border-radius: 9px; }
}
/* One searchable destination per resource, with explicit result types. */
.command-dialog { background: var(--read-surface); color: var(--read-ink); border-color: var(--read-line); border-radius: 14px; }
.command-head { padding: 14px 18px 8px; }
.command-head button { width: 32px; min-height: 32px; font-size: 1.25rem; padding: 0; }
.command-dialog > input { background: var(--read-surface); color: var(--read-ink); padding: 12px 18px 15px; font-size: 1.125rem; }
.search-filters { display: flex; flex-wrap: wrap; gap: 4px; padding: 10px 14px 6px; }
.search-filters button { min-height: 32px; padding: 5px 9px; border: 1px solid transparent; border-radius: 6px; background: transparent; color: var(--read-muted); font: inherit; font-size: .875rem; cursor: pointer; }
.search-filters button[aria-pressed='true'] { background: var(--read-soft); color: var(--read-teal); border-color: var(--read-line); }
.search-summary { margin: 4px 18px 6px; color: var(--read-muted); font-size: .75rem; }
.search-load-note:empty { display: none; }
.search-load-note { margin: 5px 18px; color: var(--read-muted); font-size: .875rem; }
.search-result { position: relative; gap: 3px; border: 1px solid transparent; padding: 10px 36px 10px 11px; }
.search-result strong { font-size: 1rem; line-height: 1.35; color: var(--read-ink); }
.search-result-type { font-size: .75rem; line-height: 1.4; text-transform: none; letter-spacing: 0; color: var(--read-teal); }
.search-result-type[data-kind='score'], .search-result-type[data-kind='flow'] { color: var(--read-blue); }
.search-result .search-result-detail { font-size: .875rem; color: var(--read-muted); line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.search-result .search-result-open { position: absolute; top: 16px; right: 12px; color: var(--read-muted); font-size: 1rem; }
.search-result:hover, .search-result[aria-selected='true'] { background: var(--read-soft); border-color: var(--read-line); }
.command-foot { background: var(--read-soft); color: var(--read-muted); padding: 9px 18px; }
.search-filters button:focus-visible { outline: 2px solid var(--read-teal); outline-offset: 1px; }
@media screen and (max-width: 1100px) {
  #main .home-featured > a.si-card.home-primary { grid-column: auto; }
  #main .home-access-grid.home-module-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #main .condition-layout { grid-template-columns: minmax(0,1fr); }
  #main .condition-aside { order: -1; position: static; }
  #main .condition-aside nav { display: flex; flex-wrap: wrap; }
  #main .condition-aside nav > a { width: auto; margin: 0; }
}
@media screen and (max-width: 700px) {
  .sidebar { position: sticky; top: 0; z-index: 20; grid-template-columns: minmax(0,1fr) 104px minmax(0,1fr); column-gap: 0; row-gap: 0; padding: 8px 12px; }
  .sidebar > .brand { grid-column: 2; grid-row: 1; width: 104px; min-height: 44px; display: grid; place-items: center; justify-self: center; align-self: center; margin: 0; }
  .sidebar .sidebar-controls { display: contents; }
  .sidebar .sidebar-controls .sidebar-search { grid-column: 3; grid-row: 1; justify-self: end; width: 44px; height: 44px; padding: 0; margin-right: 48px; }
  .sidebar .sidebar-controls .sidebar-search span { display: none; }
  .sidebar .sidebar-controls .theme-toggle { grid-column: 1; grid-row: 1; justify-self: start; width: 66px; margin: 0; }
  .sidebar .sidebar-controls .mobile-menu { grid-column: 3; grid-row: 1; justify-self: end; width: 44px; height: 44px; }
  .sidebar > nav { grid-column: 1/-1; grid-row: 2; margin-top: 6px; max-height: calc(100dvh - 78px); }
  #main { padding: 16px 12px 64px; }
  #main :is(.page-heading,.si-heading,.ref-heading,.atb-title,.guide-hero) { margin-bottom: 14px; }
  #main :is(.si-hero,.condition-header) { padding: 15px 52px 15px 15px; }
  #main .home-access-grid.home-featured, #main .home-access-grid.home-module-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #main .home-featured > a.si-card.home-primary:first-child { grid-column: 1/-1; }
  #main .home-access-grid a.si-card { min-height: 74px; padding: 12px; grid-template-columns: 28px minmax(0,1fr); gap: 4px 12px; }
  #main .home-access-grid a.si-card .si-icon { width: 28px; height: 28px; min-width: 28px; }
  #main .home-access-grid a.si-card .si-icon svg { width: 20px; height: 20px; }
  #main .home-module-grid .si-card p { display: none; }
  #main .home-featured > a:not(:first-child) p { display: none; }
  #main .home-shortcuts a { min-height: 44px; padding: 7px 10px; }
  #main .home-shortcuts-caption { flex-basis: 100%; }
  #main .home-shortcuts-reset { min-height: 44px; }
  #main .clinical-section-nav { position: sticky; top: 68px; padding: 4px; }
  #main .clinical-section-nav button { min-height: 44px; padding: 8px 10px; }
  #main :is(.condition-section[id],.guide-sources[id],.ph-bi-card[id]) { scroll-margin-top: 136px; }
  #main .condition-section { padding: 14px; }
  #main .guide-follow-plan > div { gap: 4px; }
  #main .context-links a, #main .condition-aside a { min-height: 44px; flex: 0 1 auto; }
  #main .context-links { display: flex; flex-wrap: wrap; }
  #main .context-links > span { flex-basis: 100%; }
  #main .condition-aside nav { gap: 5px; }
  #main .ph-bi-profile-grid { gap: 12px; }
  #main .history-navigation > button { min-height: 44px; }
  .sidebar nav a { min-height: 44px; }
  .sidebar nav .nav-group-toggle { min-height: 44px; }
  .search-filters button { min-height: 40px; }
  .command-head button { width: 44px; min-height: 44px; }
  .command-dialog { max-height: calc(100dvh - 20px); }
}
@media screen and (max-width: 380px) {
  #main .home-access-grid.home-module-grid a.si-card { display: flex; flex-direction: column; align-items: flex-start; gap:7px; min-height:90px; padding:10px; }
  #main .home-module-grid .si-card :is(h2,h3) { font-size:.875rem; }
}
@media screen and (max-width: 340px) {
  .sidebar { grid-template-columns: minmax(0,1fr) 88px minmax(0,1fr); }
  .sidebar > .brand { width: 88px; }
}
@media print {
  .home-shortcuts, .bi-section-nav { display: none !important; }
}
@media screen {
  #main .si-hero { padding-right: 20px; }
  #main .si-heading .si-eyebrow { margin: 0 0 6px; }
  #main .si-heading .module-title-row h1 { margin: 0; }
}
@media screen and (max-width:700px) {
  #main .si-hero { padding-right: 15px; }
}

@media screen {
  #main .condition-header { padding-right: 20px; }
  #main .condition-header h1 { padding-right: 36px; }
}
@media screen and (max-width:700px) {
  #main .condition-header { padding-right: 15px; }
}
@media screen {
  #main #cards .card { border-radius: 11px; box-shadow: none; }
  #main #cards.scores-compact .icon { color: var(--read-blue); background: var(--read-blue-soft); border-radius: 7px; }
  #main #cards.scores-compact .catalog-area-heading { color: var(--read-teal); }
}

/* Compact brand row; search and theme share one full-width control surface. */
@media screen {
  .sidebar {
    display: grid;
    grid-template-columns: minmax(0,1fr) 44px;
    grid-auto-rows: min-content;
    align-content: start;
    column-gap: 12px;
  }
  .sidebar > .brand {
    grid-column: 1 / -1;
    grid-row: 1;
    width: min(100%, 240px);
    min-height: 44px;
    margin: 0;
    justify-self: start;
    align-self: center;
    display: grid;
    align-items: center;
  }
  .sidebar .sidebar-controls { display: contents; }
  html.js .sidebar > .theme-toggle { display: none; }
  .sidebar .sidebar-search-box {
    grid-column: 1 / -1;
    grid-row: 2;
    display: flex;
    align-items: center;
    min-width: 0;
    width: 100%;
    min-height: 44px;
    box-sizing: border-box;
    margin: 12px 0 0;
    padding-right: 7px;
    border: 1px solid #ffffff24;
    border-radius: 12px;
    background: #ffffff09;
  }
  .sidebar .sidebar-search-box:hover { border-color: #7ccdc580; }
  .sidebar .sidebar-controls .theme-toggle {
    position: relative;
    inset: auto;
    flex: 0 0 54px;
    width: 54px;
    min-width: 54px;
    height: 30px;
    min-height: 30px;
    margin: 0;
  }
  .sidebar .theme-toggle-track { grid-template-columns: 22px 22px; }
  .sidebar .theme-toggle-thumb { width: 22px; height: 22px; }
  .sidebar .theme-toggle svg { width: 14px; height: 14px; }
  html[data-theme='dark'] .sidebar .theme-toggle-thumb { transform: translateX(24px); }
  .sidebar .sidebar-controls .sidebar-search {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    min-height: 42px;
    height: 42px;
    margin: 0;
    padding: 8px 12px;
    border: 0;
    background: transparent;
    justify-content: flex-start;
  }
  .sidebar .sidebar-controls .sidebar-search:hover { background: #ffffff09; }
  .sidebar .sidebar-controls .sidebar-search span { display: inline; }
  .sidebar > nav { grid-column: 1 / -1; grid-row: 3; margin-top: 14px; }
  .sidebar-bottom { grid-column: 1 / -1; }
}
/* The SVG remains unchanged on desktop; mobile aligns its caption with the menu. */
.mobile-brand-tagline { display: none; }
@media screen and (max-width:700px) {
  .sidebar { grid-template-columns: minmax(0,1fr) 44px; row-gap: 10px; }
  .sidebar > .brand { grid-column: 1; width: 100%; grid-template-columns: 120px minmax(0,1fr); column-gap: 8px; }
  .sidebar > .brand .brand-artwork { grid-column: 1; grid-row: 1; justify-self: start; width: 120px; height: 48px; aspect-ratio: auto; overflow: hidden; }
  .sidebar > .brand .brand-lockup { width: 240px; max-width: none; height: 48px; }
  .sidebar > .brand .brand-reveal { width: 240px; right: auto; }
  /* Crop the caption on the moving layer itself, before its transform. */
  .sidebar > .brand .brand-reveal-wordmark { clip-path: inset(0 50% 0 13.75%); }
  html[data-brand-intro='pending'] .sidebar .mobile-brand-tagline { visibility: hidden; }
  .sidebar > .brand .mobile-brand-tagline {
    display: block;
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    align-self: center;
    color: #d9e8ea;
    font-family: Inter, 'Segoe UI', Arial, sans-serif;
    font-size: 8px;
    font-weight: 720;
    line-height: 12px;
    letter-spacing: .82px;
    text-align: right;
    text-transform: uppercase;
    white-space: nowrap;
  }
  .sidebar .sidebar-search-box { margin: 0; }
  .sidebar .sidebar-controls .mobile-menu { grid-column: 2; grid-row: 1; }
  .sidebar > nav { margin-top: 0; max-height: calc(100dvh - 136px); }
  #main .clinical-section-nav { top: 122px; }
  #main :is(.condition-section[id],.guide-sources[id],.ph-bi-card[id]) { scroll-margin-top: 190px; }
}
/* Clinical reading scale: the criteria in Vigilância set the common body size. */
@media screen {
  :root {
    --mgf-reading-size: 15px;
    --mgf-reading-caption: 13px;
    --mgf-reading-subtitle: 16px;
  }

  .sidebar nav a, .sidebar .sidebar-search span,
  .search-result .search-result-detail, .search-filters button {
    font-size: var(--mgf-reading-size);
  }
  #main { font-size: var(--mgf-reading-size); }
  #main :is(p,li,dt,dd,blockquote,td,th,figcaption) {
    font-size: var(--mgf-reading-size) !important;
  }
  #main :is(label,legend,summary) {
    font-size: var(--mgf-reading-size) !important;
  }
  #main :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea) {
    font-size: var(--mgf-reading-size) !important;
  }
  #main :is(.guide-assessment,.guide-clinical-block,.ph-bi-card-body,
    .atb-dialog-body,.pv-result,.si-table-wrap table,
    .dm-node > span:not(.dm-node-number),.dm-node dl,.dm-node .dm-branches > span,
    .dm-node .dm-summary,.notice,.exercise-safety,.atb-card-summary,
    .ph-bi-card-body li small,.ls-field small,.ts-field small,
    .vs-check small) {
    font-size: var(--mgf-reading-size) !important;
  }

  /* The surveillance criteria, conclusions and plans use the same reading size. */
  #main :is(.vc-shell,.ts-shell,.ls-shell) :is(
    .vs-empty,.vs-selected,.vs-check,.vs-result-note,.vc-key-note,
    .vc-interval-badge,.ls-list,.ls-note,.ls-related,.ls-definitions,
    .ts-related,.ts-small,.ts-definition,.ts-context-note,.ls-context,
    .ls-source-section,.ts-sources,.ls-sources,.vs-aaa-links a) {
    font-size: var(--mgf-reading-size) !important;
  }
  #main :is(.vs-record h3,.vc-context strong,.ts-risk-list h3,
    .si-card h2,.si-card h3,.card h3,.guide-condition-card h3,
    .exercise-card h3,.program-exercise h3,.rx-card h3) {
    font-size: var(--mgf-reading-subtitle) !important;
  }
  #main :is(.ls-tabs button,.ts-tabs button,.vs-search button,.vs-open-plan,
    .ls-primary,.ts-primary,.ls-reset,.ts-reset) {
    font-size: var(--mgf-reading-size) !important;
  }
  #main :is(.vs-record-title > span,.vc-eyebrow,.vs-shell .vc-context span,
    .vs-shell .vc-table-head,.ls-kicker,.ts-result-kicker,
    .ls-meta span,.ts-meta span,.vs-search [role=status]) {
    font-size: var(--mgf-reading-caption) !important;
  }

  #main :is(p,li,dt,dd,td,th,figcaption,.vs-record,.vc-row,
    .ls-result,.ts-result,.guide-clinical-block,.ph-bi-card-body) {
    overflow-wrap: break-word;
  }
  @media (max-width:700px) {
    /* Native inputs remain at 16px or larger, preventing iPhone focus zoom. */
    #main :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea) {
      font-size: 16px !important;
    }
  }
}

/* Fit exercise text to its panel, including tablets with a visible sidenav. */
@media screen {
  .exercise-library, .exercise-program, .exercise-preview { container: exercise-panel / inline-size; }
  .exercise-card { grid-template-columns: minmax(0,1fr) auto; }
  .exercise-card-main { grid-template-columns: 124px minmax(0,1fr); }
  .exercise-card-main > div, .program-exercise-copy { min-width: 0; overflow-wrap: anywhere; }
  .program-fields { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .exercise-program-footer { flex-wrap: wrap; gap: 8px; }
  .exercise-print header { flex-wrap: wrap; }
  .exercise-print header > div { min-width: 0; }
  .exercise-print header h2 { overflow-wrap: anywhere; }
  @container exercise-panel (max-width: 420px) {
    .exercise-card { grid-template-columns: minmax(0,1fr); }
    .exercise-card-main { grid-template-columns: 72px minmax(0,1fr); gap: 10px; }
    .exercise-add { margin: 0 10px 10px; }
    .program-exercise { grid-template-columns: 26px minmax(0,1fr) 32px; gap: 10px; }
    .program-order { grid-row: 1; }
    .program-thumb { grid-column: 2; grid-row: 1; width: 92px; max-width: 100%; }
    .program-exercise-copy { grid-column: 1 / -1; grid-row: 2; }
    .program-actions { grid-column: 3; grid-row: 1; }
    .program-fields { grid-column: 1 / -1; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .program-fields > label:last-child:nth-child(odd) { grid-column: 1 / -1; }
    .exercise-print { padding: 16px; }
    .exercise-print-card { grid-template-columns: minmax(0,1fr); }
    .exercise-print-image { width: min(100%,240px); }
    .exercise-print-heading > div { min-width: 0; overflow-wrap: anywhere; }
  }
}

/* Mobile card alignment: centre icon boxes and their accompanying text block. */
@media screen and (max-width:700px) {
  #main .home-access-grid a.si-card { align-items: center; }
  #main .home-access-grid a.si-card > div { align-self: center; }
  #main .si-card { align-items: center; }
  #main .si-card > div > :is(h2,h3):last-child { margin-block: 0; }
  #main :is(.si-icon,.pv-entry-icon,.ref-specialty-icon) {
    display: grid;
    place-items: center;
    align-self: center;
    justify-self: center;
    flex: none;
    margin-block: 0;
    line-height: 0;
  }
  #main :is(.si-icon,.pv-entry-icon,.ref-specialty-icon,.cards .icon) > svg {
    display: block;
    margin: 0;
  }
  #main #cards.scores-compact .card { align-items: center; }
  #main #cards.scores-compact .icon { align-self: center; justify-self: center; }
  #main #cards.scores-compact .favorite-toggle { top: 50%; transform: translateY(-50%); }
  #main .pv-entry { align-items: center; align-content: center; }
  #main .ref-specialty-heading { align-items: center; }
  #main .ref-specialty-heading h3 { margin-block: 0; }
}
@media screen and (max-width:380px) {
  #main .home-access-grid.home-module-grid a.si-card {
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  #main .home-access-grid.home-module-grid a.si-card > div { flex: none; width: 100%; }
}
