:root { color-scheme: light; }
/* Keep document scrolling free, including devices with the retired setting cached. */
html, body { scroll-snap-type:none!important; }
[data-reading-section] { scroll-snap-align:none!important; scroll-snap-stop:normal!important; }
html[data-reading-quiet=true] { scroll-snap-type:none!important; }
@media(prefers-reduced-motion:reduce) { html { scroll-snap-type:none!important; } }
@media print { html { scroll-snap-type:none!important; } }
html { scroll-padding-top: 2rem; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible { outline: 3px solid #237db0 !important; outline-offset: 4px; }
:where(main) { min-width: 0; }
img { max-width: 100%; }
.accessibility-preferences { width: min(100%, 65rem); margin: 1.5rem auto; padding: 1rem; border: 1px solid #b8a579; border-radius: .75rem; background: #fffaf0; color: #102e48; font: 1rem/1.6 Arial,sans-serif; text-align: left; grid-column: 1/-1; }
.accessibility-preferences summary { cursor: pointer; font-weight: 700; min-height: 44px; display: list-item; }
.accessibility-preferences div { display: flex; flex-wrap: wrap; gap: 1rem; }
.accessibility-preferences label { display: flex; gap: .5rem; align-items: center; min-height: 44px; }
.accessibility-preferences input { width: 20px; height: 20px; }
.accessibility-preferences p { width: 100%; margin: 0; }
.accessibility-preferences a { color: #164f75 !important; }
html[data-large-text=true] { font-size: 125%; }
html[data-large-text=true] :where(p,li,label,button,input,select,textarea,summary) { font-size: max(1rem,1em); line-height: 1.7; }
html[data-high-contrast=true] :where(main,section,article,aside,footer,header,details,nav):not([class*=canvas]):not([class*=scene]):not([class*=visual]):not([class*=hero-character]) { background-color: #fff !important; background-image: none !important; color: #071b33 !important; }
html[data-high-contrast=true] :where(h1,h2,h3,h4,p,span,strong,small,cite,label,li) { color: #071b33 !important; }
html[data-high-contrast=true] main div:not([class*=canvas]):not([class*=scene]):not([class*=visual]) { background-color:#fff !important; background-image:none !important; color:#071b33 !important; }
html[data-high-contrast=true] :where(a,button,select,input,textarea) { color: #071b33 !important; background-color: #fff !important; border-color: #071b33 !important; text-shadow: none !important; }
html[data-reading-quiet=true] *, html[data-reading-quiet=true] *::before, html[data-reading-quiet=true] *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; } }
@media(max-width:700px) { .accessibility-preferences { margin: 1rem 0; } }
@media print { .accessibility-preferences { display:none !important; } }

/* Preserve contrast even where a section normally uses a dark brand background. */
html[data-high-contrast=true] .account-page .pause-journey .pause-header :is(h1,h2,h3,p),
html[data-high-contrast=true] :is(blockquote,cite,dt,dd,legend) { color:#071b33 !important; }
html[data-high-contrast=true] :is(.kingdom-ceremony-caption,.kingdom-jesus-words,.board-final-blessing) { background:#fff !important; color:#071b33 !important; border:2px solid #071b33 !important; text-shadow:none !important; }
.board-a11y-navigation { position:absolute; top:0; left:0; z-index:40; }
.kingdom-board .board-a11y-navigation a { position:fixed; top:8px; left:8px; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; background:#fff; color:#071b33 !important; border:2px solid #071b33; border-radius:8px; font-weight:700; }
.kingdom-board .board-a11y-navigation a:focus-visible { width:auto; height:auto; max-width:calc(100vw - 24px); padding:12px 18px; clip-path:none; white-space:normal; }
.board-screenreader-status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.kingdom-board .game-panel-bar button,.kingdom-board .game-panel-reopen { min-height:44px; }
.kingdom-board .game-panel-grip,.kingdom-board .game-panel-action { min-width:44px; }
.kingdom-board .kingdom-explore select { min-height:44px; }

