/* Stable app chrome, generous glass, and independently adjustable reading text. */
html[data-text-size]{font-size:100%!important;color-scheme:dark;--reading-size:16px;--reading-small:13px;--reading-heading:24px}
html[data-text-size=large]{--reading-size:18px;--reading-small:14px;--reading-heading:26px}
html[data-text-size=extra]{--reading-size:20px;--reading-small:15px;--reading-heading:28px}
html[data-appearance=bright]{--ui-accent:#a6f2ff;--ui-line:#8ddce577;--ui-glow:#6ed9ef33}
html[data-appearance=bold]{--ui-accent:#d6bdff;--ui-line:#c1a2ff88;--ui-glow:#b09aff33}
html[data-appearance=warm]{--ui-accent:#ffe0a1;--ui-line:#edc77c88;--ui-glow:#e8be6d33}
html[data-appearance=rose]{--ui-accent:#ffc6dd;--ui-line:#eea7c488;--ui-glow:#e8a5c033}
html[data-appearance=forest]{--ui-accent:#aaf2cc;--ui-line:#87d8b188;--ui-glow:#6ed8a533}
html[data-appearance=midnight]{--ui-accent:#ffd0aa;--ui-line:#e4ad8188;--ui-glow:#dfa77b33}
html[data-appearance] body[data-theme]{--accent:var(--ui-accent);--line:var(--ui-line);--scene-wash:transparent!important;--ink:#f2f6ff;--muted:#cbd8e8;--surface:#0c203bf2;--page:#08172b;--tint:#1c344f}
html[data-appearance] [data-tone]{--item-accent:var(--ui-accent);--item-line:var(--ui-line);--item-tint:#153149}
html[data-appearance] body .finder-atmosphere:before{background:transparent}
/* These are see-through glass surfaces, including the rows below the hero. */
html[data-appearance] .tile,html[data-appearance] .full-choice,html[data-appearance] .layer-button{background:linear-gradient(115deg,#102c4f85,#13263e66)!important;border:1px solid var(--ui-line);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);box-shadow:inset 0 1px 1px #f0f8ff22,0 5px 18px #04122522}
html[data-appearance] .full-choice[aria-expanded=true],html[data-appearance] .layer-button[aria-expanded=true]{background:linear-gradient(110deg,#16374ca8,#1a304890)!important;border-color:var(--ui-accent);box-shadow:0 0 16px var(--ui-glow)}
html[data-appearance] .section-switcher{background:#0c28476b;border-color:var(--ui-line);backdrop-filter:blur(7px)}
html[data-appearance] .section-switcher button[aria-pressed=true]{background:linear-gradient(120deg,#6c90a644,#344f6f66);border-color:var(--ui-line);color:var(--ui-accent);box-shadow:0 0 12px var(--ui-glow)}
.tile .label,.tile.topic .label{font-size:var(--reading-size);line-height:1.45}.tile .label small,.tile.topic .label small{font-size:var(--reading-small);line-height:1.5}.step-number{font-weight:800;color:var(--ui-accent);font-variant-numeric:tabular-nums}
.layer p,.layer li,.layer .verse p,.answer,.answer p,.entry-orientation p,.guide-body p,.guide-body li{font-size:var(--reading-size);line-height:1.8}
.layer h2{font-size:var(--reading-heading)}.entry-question{font-size:var(--reading-size);line-height:1.6}.full-choice strong,.layer-button{font-size:var(--reading-size)}.full-choice small{font-size:var(--reading-small)}
/* Fixed-size welcome and controls, even when teaching is enlarged. */
body[data-view=home] .story-home .fh-welcome{min-height:224px;padding-top:13px;padding-bottom:66px}
body[data-view=home] .story-home .fh-welcome h1{font-size:clamp(26px,6.5vw,36px);max-width:100%;line-height:1.15;margin:0 0 12px;letter-spacing:-.6px;font-weight:400;text-align:left}
.welcome-line,.welcome-name{display:block}.welcome-name{max-width:100%;overflow-wrap:anywhere;text-wrap:balance}
body[data-view=home] .story-home .fh-welcome p{font-size:15px;line-height:1.6;max-width:100%}.story-home .fh-brand{font-size:11px}.story-home .fh-brand>span{font-size:29px}.story-home .fh-brand>small{font-size:9px}
.story-home .fh-top{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:start;gap:8px}.story-home .fh-avatar{width:48px;height:48px;justify-self:end;border-radius:13px}.story-home .fh-round{width:44px;height:44px}.story-home .fh-search{font-size:15px}.story-home .fh-path-label,.story-home .fh-path-exploring .fh-path-label{font-size:22px}.story-home .fh-path-first .fh-path-label{font-size:32px}
.fh-home nav,.fh-menu-links button{font-size:14px}nav button{font-size:12px}
/* One live card face: no mirrored answer, hidden duplicate, or fragile 3D stacking. */
.story-home .fh-flip{perspective:none}.story-home .fh-flip-inner{display:block;transform:none!important;transform-style:flat;transition:none}
.story-home .fh-q-face{transform:none!important;backface-visibility:visible;-webkit-backface-visibility:visible;min-height:236px;height:auto}
.story-home .fh-q-back{gap:14px;padding-top:30px}.story-home .fh-q-back p{font-size:16px;line-height:1.7;max-height:300px;max-height:min(300px,42dvh);overflow:auto;overscroll-behavior:contain;width:100%;padding-right:4px;overflow-wrap:anywhere}.story-home .fh-q-back .fh-kicker{font-size:10px;padding-right:38px}
.story-home .fh-q-label{font-size:clamp(24px,5.6vw,29px);line-height:1.22;max-width:70%;overflow-wrap:anywhere}.story-home .fh-tap{font-size:12px;line-height:1.5}.story-home .fh-read{font-size:13px}.story-home .fh-q-controls button{min-height:44px}
@media(prefers-reduced-motion:no-preference){.flip-reveal .fh-q-face{animation:card-reveal .28s ease-out}}
@keyframes card-reveal{from{opacity:.3;clip-path:inset(0 45% round 22px)}to{opacity:1;clip-path:inset(0 0 round 22px)}}
/* Theme changes apply to accents, edges, glows and selected states, never the scenes. */
html[data-appearance] .story-home .fh-search,html[data-appearance] .story-home .fh-q-front,html[data-appearance] .story-home .fh-q-back,html[data-appearance] .story-home .fh-path,html[data-appearance] .story-home .fh-prayer,html[data-appearance] .story-home .fh-reflection{border-color:var(--ui-line)!important;box-shadow:inset 0 1px 3px #d7f0ff33,0 0 15px var(--ui-glow),0 8px 23px #0003}
html[data-appearance] .fh-path-arrow,html[data-appearance] .fh-read,html[data-appearance] .fh-turn-back,html[data-appearance] .tile .arrow,html[data-appearance] .text-link,html[data-appearance] .pill,html[data-appearance] .article-identity{color:var(--ui-accent)}
html[data-appearance] nav,html[data-appearance] body[data-view=home] nav{background:linear-gradient(120deg,#0a2d4bd9,#1a2944df)!important;border-color:var(--ui-line);box-shadow:inset 0 1px 2px #e8f6ff22,0 0 16px var(--ui-glow),0 7px 25px #0004}
html[data-appearance] nav .active,html[data-appearance] body[data-view=home] nav .active{color:var(--ui-accent)}html[data-appearance] nav .active:after,html[data-appearance] body[data-view=home] nav .active:after{background:var(--ui-accent)}nav button>span{filter:drop-shadow(0 0 5px var(--ui-glow))}
html[data-appearance] .story-icon{border-color:var(--ui-line);box-shadow:0 0 9px var(--ui-glow)}
/* Dialogs and uploads must shrink to the viewport rather than widening the page. */
.fh-dialog,#appearanceDialog,#offlineDialog{box-sizing:border-box;width:min(480px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:22px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.fh-dialog.fh-drawer{width:min(300px,78vw);max-width:78vw;max-height:100dvh;padding:22px 16px}.fh-drawer .fh-dialog-head{gap:10px}.fh-drawer .fh-brand{min-width:0;font-size:10px;letter-spacing:1.5px}.fh-drawer .fh-brand span{font-size:20px;letter-spacing:1px}.fh-drawer .fh-menu-links button{gap:12px}.fh-drawer .fh-menu-links svg{flex:0 0 22px;width:22px}.fh-drawer .fh-menu-welcome{font-size:15px;line-height:1.5}
.fh-form{width:100%;min-width:0;grid-template-columns:minmax(0,1fr);gap:18px}.fh-form>*{min-width:0;max-width:100%;overflow-wrap:anywhere}.fh-form label{min-width:0;grid-template-columns:minmax(0,1fr)}.fh-form input,.fh-form textarea{min-width:0;max-width:100%;box-sizing:border-box}.fh-form input[type=file]{font-size:12px;padding:10px;width:100%;overflow:hidden}.fh-form input[type=file]::file-selector-button{background:#294762;border:1px solid var(--ui-line);color:#eef7ff;border-radius:9px;padding:9px;font:inherit;max-width:100%}
.fh-photo-preview{width:144px;height:108px;max-width:100%;border-radius:14px;background:#08182d;border:1px solid var(--ui-line);font-size:12px}.fh-photo-preview img,.fh-avatar img{display:block;width:100%;height:100%;object-fit:contain!important;border-radius:inherit;background:#071a30}.fh-photo-note{font-size:12px!important;color:#cbd9e9!important}.fh-form .fh-save:disabled{opacity:.65;cursor:wait}
.fh-dialog-head{min-width:0}.fh-dialog-head h2{font-size:22px;min-width:0;overflow-wrap:anywhere}.fh-dialog-head .fh-round{flex:0 0 44px}.fh-form-actions{flex-wrap:wrap}.fh-form-actions>button{flex:1;min-width:110px}
html[data-appearance] #appearanceDialog{background:#0b2039fa;border-color:var(--ui-line);color:#eef5ff;font-size:16px}#appearanceDialog .appearance-intro,#appearanceDialog .appearance-note{color:#ccd9e7}#appearanceDialog .appearance-head h2{font-size:24px}.theme-options{grid-template-columns:repeat(3,minmax(0,1fr))}.theme-option{background:#102944;border-color:#7896ae66;color:#e3edf8;min-width:0}.theme-swatch{background:#10243b!important;border:1px solid currentColor!important;color:var(--ui-accent);border-radius:10px}.swatch-bright{color:#a6f2ff}.swatch-bold{color:#d6bdff}.swatch-warm{color:#ffe0a1}.swatch-rose{color:#ffc6dd}.swatch-forest{color:#aaf2cc}.swatch-midnight{color:#ffd0aa}
#appearanceDialog .theme-option:has(input:checked),#appearanceDialog .appearance-choices label:has(input:checked){border-color:var(--ui-accent);background:#173550;box-shadow:0 0 8px var(--ui-glow)}#appearanceDialog .appearance-save,.fh-save{background:var(--ui-accent);color:#09213a!important}#appearanceDialog .appearance-preview{background:#102d46a6;border-color:var(--ui-line);border-left:3px solid var(--ui-accent);box-shadow:0 0 13px var(--ui-glow)}#appearanceDialog .preview-choice{background:#0c223a99;border:1px solid var(--ui-line);color:#eef6ff}#appearanceDialog .preview-choice>span:last-child{color:var(--ui-accent)}#appearanceDialog .appearance-preview p{font-size:var(--reading-size)}#appearanceDialog .appearance-preview .font-serif{font-family:'Finder Serif',Georgia,serif}
#appearanceDialog fieldset{min-width:0}#appearanceDialog .appearance-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}#appearanceDialog .appearance-choices label{white-space:normal;min-width:0;flex:none;padding:9px 7px;font-size:13px}
.find-modes{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;color:#d2e1ef;font-size:13px}.find-modes .pill{font-size:13px}.az-letters{display:flex;flex-wrap:wrap;gap:6px;padding:12px;border-radius:18px;border:1px solid var(--ui-line);background:#0b274777;backdrop-filter:blur(5px)}.az-letters button{min-width:40px;min-height:44px;border-radius:11px;border:1px solid #91b5ce44;background:#122a4055;color:#deedfb}.az-letters button[aria-pressed=true]{background:#30557088;border-color:var(--ui-accent);color:var(--ui-accent);box-shadow:0 0 9px var(--ui-glow)}.az-letters button:disabled{opacity:.3;cursor:default}.az-group{margin-bottom:28px}.az-group>h2{font-family:'Finder Serif',Georgia,serif;color:var(--ui-accent);font-size:28px;margin:18px 0 13px}
@media(max-width:380px){.theme-options{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-option{display:flex;flex-direction:column;font-size:12px;align-items:flex-start;gap:7px}.theme-swatch{width:100%}.fh-dialog,#appearanceDialog,#offlineDialog{padding:17px}.story-home .fh-q-label{max-width:74%}#appearanceDialog .appearance-choices{grid-template-columns:1fr}.find-modes{flex-wrap:wrap}.story-home .fh-brand>span{font-size:27px;letter-spacing:5px}.story-home .fh-brand>small{font-size:8px;letter-spacing:2.3px}.story-home .fh-top{grid-template-columns:44px minmax(0,1fr) 44px}.story-home .fh-avatar{width:44px;height:44px}}
.welcome-line,.welcome-name{color:#f6f7fc!important}
/* Defeat intrinsic image minimums in grid-based photo frames. */
.fh-photo-preview,.story-home .fh-avatar{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.fh-photo-preview img,.fh-avatar img{min-width:0;min-height:0;max-width:100%;max-height:100%;align-self:stretch;justify-self:stretch}

.welcome-line{overflow-wrap:anywhere;text-wrap:balance}

.story-home .fh-welcome .fh-welcome-message{white-space:pre-line;overflow-wrap:anywhere}

/* Text stays white; appearance colours decorate the interface. */
html[data-appearance] body[data-theme]{--ink:#f2f6ff;--muted:#f2f6ff}
html[data-appearance] body[data-theme] *,
html[data-appearance] #appearanceDialog *,
html[data-appearance] #offlineDialog *{color:#f2f6ff!important}
html[data-appearance] body[data-theme] input::placeholder,
html[data-appearance] body[data-theme] textarea::placeholder{color:#f2f6ff;opacity:.75}
/* Keep action labels readable in the same colour as surrounding text. */
html[data-appearance] #appearanceDialog .appearance-save,
html[data-appearance] body[data-theme] .fh-save{background:#16344f;border:1px solid var(--ui-accent);box-shadow:0 0 12px var(--ui-glow)}
/* Colour samples keep showing the six choices before one is selected. */
html[data-appearance] #appearanceDialog .swatch-bright{--ui-accent:#a6f2ff}
html[data-appearance] #appearanceDialog .swatch-bold{--ui-accent:#d6bdff}
html[data-appearance] #appearanceDialog .swatch-warm{--ui-accent:#ffe0a1}
html[data-appearance] #appearanceDialog .swatch-rose{--ui-accent:#ffc6dd}
html[data-appearance] #appearanceDialog .swatch-forest{--ui-accent:#aaf2cc}
html[data-appearance] #appearanceDialog .swatch-midnight{--ui-accent:#ffd0aa}

html[data-appearance] body[data-theme] svg,
html[data-appearance] body[data-theme] nav button>span,
html[data-appearance] body[data-theme] .fh-path-arrow,
html[data-appearance] #appearanceDialog .theme-swatch,
html[data-appearance] #appearanceDialog .theme-swatch *{color:var(--ui-accent)!important}

.story-home .fh-footer p{margin:0}.story-home .fh-footer .fh-ministry{display:block;margin-top:16px;font-size:10px;letter-spacing:3px;line-height:1.8}
