:root { --climb-user-text-scale: 1; --climb-user-spacing-scale: 1; }
html.climb-pref-large-text { --climb-user-text-scale: 1.18; }
html.climb-pref-readable-spacing { --climb-user-spacing-scale: 1.18; }
html.climb-pref-large-text .climb-page-shell, html.climb-pref-large-text .climb-plugin-output { font-size: calc(1rem * var(--climb-user-text-scale)); }
html.climb-pref-readable-spacing .climb-page-shell, html.climb-pref-readable-spacing .climb-plugin-output { line-height: 1.8; letter-spacing: .02em; }
html.climb-pref-readable-spacing .climb-page-section { padding-block: calc(var(--climb-space-4) * var(--climb-user-spacing-scale)); }
html.climb-pref-high-contrast { --climb-muted-ink: #3d3a36; --climb-line: #6d6655; --climb-line-soft: #8a826f; --climb-focus-halo: rgba(255,200,87,.72); }
html.climb-pref-high-contrast .climb-card, html.climb-pref-high-contrast .climb-panel { border-width: 2px; }
html.climb-pref-reduce-motion *, html.climb-pref-reduce-motion *::before, html.climb-pref-reduce-motion *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
.climb-accessibility-preferences { position: relative; }
.climb-accessibility-preferences__panel { width: min(100%, 38rem); margin-top: var(--climb-space-2); padding: var(--climb-space-3); border: 1px solid var(--climb-line); border-radius: var(--climb-radius-panel); background: var(--climb-white); box-shadow: var(--climb-shadow-md); }
.climb-accessibility-preferences__panel fieldset { display: grid; gap: var(--climb-space-2); margin: var(--climb-space-2) 0; padding: var(--climb-space-2); border: 1px solid var(--climb-line); border-radius: var(--climb-radius-card); }
.climb-accessibility-preferences__panel label { display: flex; align-items: flex-start; gap: .65rem; font-weight: 700; }
.climb-accessibility-preferences__panel input { margin-top: .2rem; }
@media (prefers-reduced-motion: reduce) { .climb-accessibility-preferences * { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }
