body.large-text { font-size: 118%; }
body.extra-large-text { font-size: 132%; }

body.large-text h1 { font-size: clamp(1.9rem, 8vw, 2.55rem); }
body.large-text h2 { font-size: clamp(1.68rem, 6.4vw, 2.35rem); }
body.large-text h3 { font-size: 1.24rem; }
body.large-text .lede { font-size: 1.16rem; }
body.large-text .small { font-size: 1.05rem; }
body.large-text .micro { font-size: .94rem; }
body.large-text .choice-card span { font-size: .98rem; }
body.large-text .step-label { font-size: .86rem; }
body.large-text .action.compact { font-size: 1rem; }
body.large-text .tab-btn { font-size: 1.02rem; }
body.large-text input[type="text"],
body.large-text textarea { font-size: 1.08rem; }

body.simplified-layout .panel,
body.simplified-density .panel,
body.simplified-density .saved-card,
body.simplified-density .install-card,
body.simplified-density .step-box {
  box-shadow: none;
}

body.simplified-layout .grid,
body.simplified-density .grid,
body.simplified-density .chip-row,
body.simplified-density .toolbar {
  gap: .65rem;
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }
}

.accessibility-panel {
  display: grid;
  gap: 1rem;
}

.accessibility-settings-list {
  display: grid;
  gap: .2rem;
  margin-top: .25rem;
}

.accessibility-setting-row {
  align-items: stretch;
  padding: .9rem 0;
}

.accessibility-setting-copy {
  min-width: 0;
}

.accessibility-setting-copy h3 {
  margin: .18rem 0 .2rem;
}

.accessibility-setting-copy p {
  margin: 0;
}

.accessibility-setting-hint {
  margin-top: .38rem !important;
  color: var(--muted);
}

.settings-toggle {
  align-self: center;
  min-width: 5.25rem;
  min-height: 3rem;
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: 999px;
  padding: .55rem .85rem;
  background: #fff;
  color: var(--muted);
  font: inherit;
  font-weight: 900;
  cursor: pointer;
  touch-action: manipulation;
}

.settings-toggle.is-on {
  border-color: rgba(54, 171, 156, .42);
  background: var(--soft-teal);
  color: var(--brand-dark);
  box-shadow: inset 0 0 0 1px rgba(54, 171, 156, .12);
}

.settings-toggle:focus-visible {
  outline: 3px solid rgba(54, 171, 156, .42);
  outline-offset: 3px;
}

.settings-toggle:disabled {
  cursor: progress;
  opacity: .72;
}

.accessibility-status {
  margin: .15rem 0 .35rem;
}

.accessibility-toolbar {
  margin-top: .35rem;
}

.accessibility-privacy-note {
  margin: 0;
  color: var(--muted);
}

body.simplified-layout .accessibility-setting-row,
body.simplified-density .accessibility-setting-row {
  padding: .72rem 0;
}

body.high-contrast .settings-toggle {
  border-color: #0F172A;
  color: #0F172A;
}

body.high-contrast .settings-toggle.is-on {
  background: #003C36;
  color: #fff;
  border-color: #003C36;
}

@media (max-width: 640px) {
  .accessibility-setting-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: .7rem;
  }

  .settings-toggle {
    width: 100%;
    justify-self: stretch;
  }
}

.language-panel {
  display: grid;
  gap: 1rem;
}

.language-option-list {
  display: grid;
  gap: .75rem;
}

.language-option-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .85rem;
  align-items: center;
  border: 1px solid rgba(229, 231, 235, .95);
  border-radius: 20px;
  padding: .95rem;
  background: #fff;
  color: var(--ink);
  box-shadow: 0 8px 20px rgba(15, 23, 42, .045);
}

.language-option-card.is-selected {
  border-color: rgba(54, 171, 156, .42);
  background: linear-gradient(135deg, #fff 0%, var(--soft-teal) 100%);
}

.language-option-main h3 {
  margin: .18rem 0 .2rem;
}

.language-option-main p {
  margin: 0;
}

.language-selected-note,
.language-status,
.language-local-note {
  color: var(--muted);
}

.language-toolbar {
  margin-top: .25rem;
}

body.high-contrast .language-option-card.is-selected {
  border-color: #003C36;
  box-shadow: inset 0 0 0 2px #003C36;
}

@media (max-width: 640px) {
  .language-option-card {
    grid-template-columns: 1fr;
  }

  .language-option-card .action,
  .language-option-card .settings-toggle {
    width: 100%;
  }
}

body.large-text .context-follow-up-grid,
body.large-text .context-follow-up-panel--script .script-sheet-grid {
  grid-template-columns: 1fr;
}

body.large-text .context-follow-up-anchor,
body.large-text .reset-result-context-line {
  border-radius: 1rem;
}

body.simplified-layout .context-follow-up-panel,
body.simplified-density .context-follow-up-panel,
body.simplified-density .context-follow-up-choice,
body.simplified-density .reset-result-context-line {
  box-shadow: none;
}

/* RESET-KIT-19 accessibility guardrails: keep acute support usable with touch, keyboard, large text, contrast, and reduced motion. */
button,
a,
summary,
.action,
.chip,
.tab-btn,
.choice-card,
.context-follow-up-choice,
.reset-page-choice,
.reset-page-checkbox-row,
.reset-page-attachment-chip,
.support-tag-chip,
.tiny-sequence-card,
.script-card,
.reset-library-card,
.more-menu-card,
.language-option-card button,
.settings-toggle {
  min-height: max(44px, 2.75rem);
}

button:focus-visible,
a:focus-visible,
summary:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible,
.choice-card:focus-visible,
.context-follow-up-choice:focus-visible,
.reset-page-choice:focus-visible,
.reset-page-checkbox-row:focus-within,
.support-tag-chip:focus-visible {
  outline: 3px solid rgba(54, 171, 156, 0.42);
  outline-offset: 3px;
  box-shadow: var(--focus);
}

.reset-cue-icon[aria-hidden="true"] + .reset-cue-label,
.support-tag-icon[aria-hidden="true"] + .support-tag-chip-label,
.suite-category-icon[aria-hidden="true"] + span {
  min-width: 0;
}

body.reduce-motion *,
body.reduce-motion *::before,
body.reduce-motion *::after {
  animation-duration: 0.001ms !important;
  animation-iteration-count: 1 !important;
  scroll-behavior: auto !important;
  transition-duration: 0.001ms !important;
}

body.large-text .reset-page-view,
body.large-text .reset-card,
body.large-text .context-follow-up-choice,
body.large-text .script-card,
body.large-text .tiny-sequence-card,
body.large-text .support-tag-chip {
  line-height: 1.6;
}

body.large-text .reset-page-choice-grid,
body.large-text .reset-library-grid,
body.large-text .support-tag-grid,
body.large-text .toolbar {
  grid-template-columns: 1fr;
}

body.high-contrast .reset-page-card,
body.high-contrast .reset-card,
body.high-contrast .support-tag-chip,
body.high-contrast .reset-cue-icon,
body.high-contrast .privacy-info-card,
body.high-contrast .pro-limit-card,
body.high-contrast .pro-boundary-column {
  border-color: var(--line);
  box-shadow: none;
}

body.high-contrast .reset-cue-icon svg,
body.high-contrast .support-tag-icon svg {
  filter: contrast(1.15);
}

@media (forced-colors: active) {
  button,
  a,
  summary,
  .action,
  .chip,
  .reset-card,
  .reset-page-card,
  .support-tag-chip {
    forced-color-adjust: auto;
    border: 1px solid ButtonText;
  }
}

/* RESET-KIT-20 final polish: prevent chip/card text from crowding or pushing under route navigation. */
.reset-page-view,
.reset-card,
.context-follow-up-choice,
.reset-library-item-card,
.tiny-sequence-card,
.script-card,
.support-tag-chip,
.route-chip,
.action {
  overflow-wrap: anywhere;
}

@media (max-width: 520px) {
  .toolbar,
  .reset-page-toolbar,
  .reset-page-complete-actions,
  .reset-card-actions,
  .route-toolbar {
    display: grid;
    grid-template-columns: 1fr;
  }

  .toolbar .action,
  .reset-page-toolbar .action,
  .reset-card-actions .action,
  .route-toolbar .action {
    width: 100%;
  }
}


/* RESET-KIT-28Z: smart triage launch guardrails. */
.direct-home-grid > *,
.quick-shortcut-grid > *,
.context-follow-up-grid > * {
  min-width: 0;
}

body.large-text .direct-home-grid,
body.large-text .quick-shortcut-grid {
  grid-template-columns: 1fr;
}

body.high-contrast .direct-home-choice,
body.high-contrast .context-follow-up-choice,
body.high-contrast .quick-shortcut-grid .action {
  border-width: 2px;
}

@media (max-width: 430px) {
  .direct-home-grid,
  .quick-shortcut-grid {
    grid-template-columns: 1fr;
  }
}

@media (forced-colors: active) {
  .choice-card,
  .context-follow-up-choice,
  .direct-home-choice,
  .quick-shortcut-grid .action {
    forced-color-adjust: auto;
    border: 1px solid ButtonText;
  }
}

body.high-contrast .apps-pro-modal-card,
body.high-contrast .apps-pro-modal-close,
body.high-contrast .apps-pro-modal-free-lock,
body.high-contrast .apps-pro-modal-checkout-paused {
  border-color: currentColor;
}

@media (forced-colors: active) {
  .apps-pro-modal-card,
  .apps-pro-modal-close,
  .apps-pro-modal-free-lock,
  .apps-pro-modal-checkout-paused {
    border: 2px solid CanvasText;
  }
}

.settings-select { min-width: 9.5rem; min-height: 3rem; border: 1px solid rgba(15,23,42,.18); border-radius: 14px; padding: .55rem .75rem; background: #fff; color: var(--ink); font: inherit; font-weight: 800; }
.settings-select:focus-visible { outline: 3px solid rgba(54,171,156,.42); outline-offset: 3px; }
body.high-contrast .settings-select { border-color: #0F172A; }
@media (max-width:640px){ .settings-select { width:100%; } }
