/* Spirit Broods neutral system. Light and dark are peers; all legacy roles alias here. */
:root {
 color-scheme:light;
 --sb-bg:#fafafa;--sb-panel:#fff;--sb-raised:#f1f1f1;--sb-inset:#e9e9e9;
 --sb-text:#161616;--sb-secondary:#626262;--sb-border:#dedede;--sb-control:#787878;
 --sb-glass:rgba(255,255,255,.82);--sb-glass-line:rgba(0,0,0,.10);
 --sb-reflection:rgba(255,255,255,.65);--sb-shadow:0 12px 40px rgba(0,0,0,.055),0 2px 6px rgba(0,0,0,.035);
 --sb-selection:#dedede;--sb-action:#161616;--sb-action-text:#fff;
 --sb-success:#32664b;--sb-warning:#79591d;--sb-error:#a33d47;
 --sb-ease:cubic-bezier(.22,1,.36,1);--sb-fast:160ms;--sb-normal:320ms;--sb-entrance:700ms;
 --sb-radius:24px;--sb-radius-inner:18px;--sb-blur:28px;
 --canvas:var(--sb-bg);--paper:var(--sb-panel);--surface:var(--sb-bg);
 --surface-1:var(--sb-panel);--surface-2:var(--sb-panel);--surface-3:var(--sb-raised);
 --soft:var(--sb-raised);--ink:var(--sb-text);--muted:var(--sb-secondary);--line:var(--sb-border);
 --teal:var(--sb-text);--accent:var(--sb-text);--mark:var(--sb-selection);--sidebar:0px;
 --app-foundation:var(--sb-bg);--app-card:var(--sb-panel);--app-subtle:var(--sb-raised);--app-frost:var(--sb-raised);
 --app-text:var(--sb-text);--app-secondary:var(--sb-secondary);--app-border:var(--sb-border);
 --app-control-border:var(--sb-control);--app-accent:var(--sb-secondary);--app-sage:var(--sb-secondary);
 --connected-secondary:var(--sb-secondary);--status-success:var(--sb-success);
 --sb-brand-deep:var(--sb-bg);--sb-brand-deeper:var(--sb-bg);--sb-brand-panel:var(--sb-panel);--sb-brand-panel-2:var(--sb-raised);
 --sb-brand-text:var(--sb-text);--sb-brand-muted:var(--sb-secondary);--sb-brand-line:var(--sb-border);--sb-brand-accent:var(--sb-text);
 --sb-obsidian:var(--sb-text);--sb-porcelain:var(--sb-panel);--sb-platinum:var(--sb-secondary);--sb-frost:var(--sb-raised);
 --sb-sage:var(--sb-secondary);--sb-lilac:var(--sb-secondary);--sb-platinum-text:var(--sb-text);--sb-sage-text:var(--sb-text);--sb-lilac-text:var(--sb-text);
}
html[data-theme="dark"] {
 color-scheme:dark;
 --sb-bg:#0a0a0a;--sb-panel:#111;--sb-raised:#1a1a1a;--sb-inset:#222;
 --sb-text:#f5f5f5;--sb-secondary:#a3a3a3;--sb-border:#303030;--sb-control:#858585;
 --sb-glass:rgba(20,20,20,.80);--sb-glass-line:rgba(255,255,255,.10);--sb-reflection:rgba(255,255,255,.045);
 --sb-shadow:0 14px 46px rgba(0,0,0,.32),0 2px 8px rgba(0,0,0,.22);
 --sb-selection:#3a3a3a;--sb-action:#fafafa;--sb-action-text:#111;
 --sb-success:#8bc7a3;--sb-warning:#dab25c;--sb-error:#e3a0aa;
}
html{background:var(--sb-bg);scroll-padding-top:88px}
body{background:var(--sb-bg);color:var(--sb-text)}
::selection{background:var(--sb-selection);color:var(--sb-text)}
:is(button,input,select,textarea){accent-color:var(--sb-action)}
:is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--sb-control)!important;outline-offset:4px}
:is(button,a,summary){-webkit-tap-highlight-color:transparent}
button:disabled{cursor:not-allowed;opacity:.42}
/* Glass is restricted to discrete surfaces; long reading areas remain opaque. */
html:root body:is(body,[data-app-experience]) :is(.app-bar,.sidebar,.mobile-app-nav,.notification-center,.sb-context-options,.research-dialog,.sb-note-dialog,.share-panel){
 background:var(--sb-glass)!important;border-color:var(--sb-glass-line)!important;color:var(--sb-text)!important;
 box-shadow:var(--sb-shadow)!important;backdrop-filter:blur(var(--sb-blur)) saturate(1.15);-webkit-backdrop-filter:blur(var(--sb-blur)) saturate(1.15);
}
html:root body:is(body,[data-app-experience]) .app-bar{border-bottom:1px solid var(--sb-glass-line)!important}
html:root body:is(body,[data-app-experience]) .app-bar :is(a,button,.brand-wordmark,.brand-name,.installed-brand-name){color:var(--sb-text)!important}
html:root body:is(body,[data-app-experience]) .app-bar .brand-icon{display:inline-block!important;width:20px!important;height:26px!important;flex:0 0 20px!important;background:var(--sb-text)!important}
html:root body:is(body,[data-app-experience]) main .library-intro :is(form,.search-launch) button{background:var(--sb-action)!important;color:var(--sb-action-text)!important}
html:root body:is(body,[data-app-experience]) main .library-intro :is(form,.search-launch) button :is(svg,path,circle){color:var(--sb-action-text)!important;stroke:currentColor!important}
html:root body:is(body,[data-app-experience]) main .library-intro{position:relative;isolation:isolate}
html:root body:is(body,[data-app-experience]) main .library-intro::before{content:'';position:absolute;inset:-20px -12px;z-index:-1;pointer-events:none;opacity:.28;background-image:radial-gradient(var(--sb-control) .65px,transparent .65px);background-size:24px 24px;mask-image:linear-gradient(to bottom,transparent,#000 30%,transparent)}
html:root body:is(body,[data-app-experience]) :is(dialog,.notification-center,.share-panel){border-radius:var(--sb-radius)}
html:root body:is(body,[data-app-experience]) dialog::backdrop{background:rgba(0,0,0,.52);backdrop-filter:blur(6px)}
html:root body:is(body,[data-app-experience]) main :is(.platform-card,.native-destination,.research-material,.sb-note-card,.path-card,.creed-card,.article-card,.witness-card){border-radius:var(--sb-radius-inner);border-color:var(--sb-border);box-shadow:0 1px 0 var(--sb-reflection) inset}
html:root body:is(body,[data-app-experience]) :is(.platform-button,.native-primary,.subscribe-button,.button:not(.ghost)){background:var(--sb-action)!important;color:var(--sb-action-text)!important;border-color:transparent!important}
html:root body:is(body,[data-app-experience]) :is(.platform-button-secondary,.research-button,.native-subtle,.button.ghost){background:var(--sb-raised)!important;color:var(--sb-text)!important;border-color:var(--sb-border)!important}
html:root body:is(body,[data-app-experience]) :is(.platform-status,.research-status)[data-state="error"]{color:var(--sb-error)!important}
html:root body:is(body,[data-app-experience]) :is(.platform-status,.research-status)[data-state="success"]{color:var(--sb-success)!important}
html:root body:is(body,[data-app-experience]) :is(input,textarea,select){color:var(--sb-text);border-color:var(--sb-border)}
/* Home panels share one frame/card treatment and a single position indicator. */
html:root body:is(body,[data-app-experience]).application-surface main :is(#today.home-today-scripture,.sb-people-shelf){
 border:1px solid var(--sb-border)!important;border-radius:var(--sb-radius)!important;
 background:linear-gradient(145deg,var(--sb-reflection),transparent 60%),var(--sb-raised)!important;
 box-shadow:var(--sb-shadow);padding:clamp(14px,2.4vw,24px)!important;
}
html:root body:is(body,[data-app-experience]).application-surface main #today.home-today-scripture .daily-quote{background:var(--sb-panel)!important;border-color:var(--sb-border)!important;box-shadow:0 1px 0 var(--sb-reflection) inset!important}
html:root body:is(body,[data-app-experience]) main .home-quotes-heading{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
html:root body:is(body,[data-app-experience]) main .home-quotes-heading [data-daily-position]{font:500 11px/1.4 var(--font-ui);color:var(--sb-secondary);margin-left:auto;white-space:nowrap}
html:root body:is(body,[data-app-experience]) main .home-quote-feed{transition:none!important}
html:root body:is(body,[data-app-experience]) main #today :is(.daily-quote-top,.text-link[href*="/quotes/?quote="]){font-size:11px!important;line-height:1.5!important}
html:root body:is(body,[data-app-experience]) main #today .daily-quote-top{justify-content:flex-end!important}
.sb-people-shelf>header>a{max-width:none!important;white-space:nowrap;font-size:12px!important;text-decoration:none}
html:root body:is(body,[data-app-experience]) main .sb-person-card{border-radius:20px;background:var(--sb-panel);box-shadow:0 1px 0 var(--sb-reflection) inset}
html:root body:is(body,[data-app-experience]) main .sb-person-visual{aspect-ratio:3/4;border-radius:18px;overflow:hidden;margin:10px 10px 0;background:var(--sb-raised)}
html:root body:is(body,[data-app-experience]) main .sb-person-visual img{height:100%;width:100%;object-fit:contain;border-radius:inherit;background:var(--sb-raised)}
html:root body:is(body,[data-app-experience]) main .sb-person-copy{padding:20px 22px 24px}
html:root body:is(body,[data-app-experience]) main .sb-person-copy .eyebrow{padding-top:2px;margin-bottom:10px}
html:root body:is(body,[data-app-experience]) main :is(.daily-carousel-controls,.sb-people-controls,.sb-tract-controls,.sb-tract-rail-controls){gap:16px}
html:root body:is(body,[data-app-experience]) main .sb-people-controls{display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center}
html:root body:is(body,[data-app-experience]) main .sb-people-controls [data-people-dots]{display:flex;justify-content:center;gap:0;overflow-x:auto;min-width:0;scrollbar-width:none}
html:root body:is(body,[data-app-experience]) main .sb-people-controls [data-people-dots] button{flex:0 0 24px;width:24px!important;height:44px!important;min-height:44px;padding:0;background:transparent!important;opacity:1;display:grid;place-items:center}
html:root body:is(body,[data-app-experience]) main .sb-people-controls [data-people-dots] button::after{content:'';display:block;width:6px;height:6px;border-radius:20px;background:var(--sb-secondary);opacity:.45;transition:width var(--sb-normal) var(--sb-ease)}
html:root body:is(body,[data-app-experience]) main .sb-people-controls [data-people-dots] button[aria-current="true"]::after{width:18px;background:var(--sb-text);opacity:1}
html:root body:is(body,[data-app-experience]) :is([data-daily-previous],[data-daily-next],[data-people-prev],[data-people-next],[data-tract-prev],[data-tract-next],[data-rail-prev],[data-rail-next]){
 display:inline-flex!important;align-items:center;justify-content:center;min-width:44px!important;min-height:44px!important;
 padding:8px!important;border:0!important;border-radius:12px;background:transparent!important;color:var(--sb-text)!important;font:400 23px/1 var(--font-ui)!important;box-shadow:none!important;
}
html:root body:is(body,[data-app-experience]) main :is(.daily-actions,.quote-actions,.sb-tract-reading-actions) :is([data-save-type],[data-share]),html:root body:is(body,[data-app-experience]) main .sb-context-menu>summary{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;
 padding:10px!important;border:0!important;box-shadow:none!important;background:transparent!important;color:var(--sb-text)!important;border-radius:10px!important;position:static!important;
}
html:root body:is(body,[data-app-experience]) main :is(.daily-actions,.quote-actions,.sb-tract-reading-actions) :is([data-save-type],[data-share])>span{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap!important}
html:root body:is(body,[data-app-experience]) main :is(.daily-actions,.quote-actions,.sb-tract-reading-actions) :is([data-save-type],[data-share]){font-size:0!important}
html:root body:is(body,[data-app-experience]) :is(.daily-actions,.quote-actions,.sb-tract-reading-actions) svg{width:20px!important;height:20px!important;flex:0 0 20px!important}
html:root body:is(body,[data-app-experience]) main :is(.daily-actions,.quote-actions,.sb-tract-reading-actions) [data-save-type][data-saved="1"]{background:var(--sb-selection)!important}
/* Popover remains in the top layer, outside all carousel clipping contexts. */
.sb-context-menu>summary{list-style:none;cursor:pointer}
html:root body:is(body,[data-app-experience]) .sb-context-options[popover]{position:fixed;inset:auto;margin:0;min-width:210px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;box-sizing:border-box;padding:8px;border:1px solid var(--sb-glass-line);border-radius:16px;z-index:1000}
.sb-context-options[popover]:not(:popover-open){display:none!important}
.sb-context-options[popover]:popover-open{display:grid!important}
.sb-context-options button:focus-visible{outline-offset:-3px}
/* Today account/Bible cards must participate in the twelve-column parent grid. */
html:root body:is(body,[data-app-experience]) main :is(.today-section,.today-section.today-primary,.today-section.today-wide){min-width:0;max-width:100%;box-sizing:border-box;align-self:start}
html:root body:is(body,[data-app-experience]) main :is(.today-section,.bible-daily-scripture,.daily-scripture,.daily-scripture-slide) :is(blockquote,.today-scripture-text,[data-daily-verse],[data-daily-reflection]){width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box;word-break:normal!important;overflow-wrap:break-word!important;white-space:normal!important}
html:root body:is(body,[data-app-experience]) main .today-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
html:root body:is(body,[data-app-experience]) main .today-grid>.today-section{grid-column:span 4}
html:root body:is(body,[data-app-experience]) main .today-grid>.today-primary{grid-column:span 8}
html:root body:is(body,[data-app-experience]) main .today-grid>.today-primary:only-child{grid-column:1/-1}
html:root body:is(body,[data-app-experience]) main .today-grid>.today-wide{grid-column:1/-1}
html:root body:is(body,[data-app-experience]) main .today-grid>.today-scripture{grid-column:1/-1;display:flex;flex-direction:column;align-items:stretch;min-width:0}
html:root body:is(body,[data-app-experience]) main .today-scripture>div{min-width:0;width:100%;box-sizing:border-box}
html:root body:is(body,[data-app-experience]) main .today-scripture-text{width:100%;max-width:70ch;white-space:normal;word-break:normal;overflow-wrap:break-word;font-size:clamp(17px,1.5vw,20px);line-height:1.7}
@media(min-width:1000px){html:root body:is(body,[data-app-experience]) main .sb-people-shelf{max-width:1120px}.sb-person-card{flex-basis:calc(50% - 9px)}}
@media(max-width:760px){
 :root{--sb-blur:16px}
 html:root body:is(body,[data-app-experience]) main .today-grid{grid-template-columns:minmax(0,1fr)}
 html:root body:is(body,[data-app-experience]) main .today-grid>.today-section{grid-column:1/-1}
 html:root body:is(body,[data-app-experience]) main .sb-person-visual{aspect-ratio:3/4;max-height:440px}
 html:root body:is(body,[data-app-experience]) main .sb-people-controls{min-height:44px}
 html:root body:is(body,[data-app-experience]) main .sb-person-copy{padding:18px}
 html:root body.biography-master[data-app-experience] main .biography-hero-main{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:28px!important}
}
@media print{
 html:root body:is(body,[data-app-experience]) :is(.insights-choice,.notification-prompt,.brand-intro){display:none!important}
 html:root body:is(body,[data-app-experience]) main :is(details.source-disclosure,details.source-disclosure[open],details.source-disclosure.sb-detail-moving){display:none!important}
 html:root body:is(body,[data-app-experience]) main .sb-print-source-copy{display:block!important}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){html:root body:is(body,[data-app-experience]) :is(.app-bar,.mobile-app-nav,.notification-center,.sb-context-options,.research-dialog,.sb-note-dialog,.share-panel){background:var(--sb-panel)!important}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 :is(button,.button,.native-destination,.sb-person-card,.article-card){transition:transform var(--sb-normal) var(--sb-ease),background-color var(--sb-fast) ease,border-color var(--sb-fast) ease,box-shadow var(--sb-normal) ease}
 :is(button,.button):not(:disabled):hover{transform:translateY(-2px)}
 :is(button,.button):not(:disabled):active{transform:translateY(0) scale(.97)}
 :is(.native-destination,.article-card):hover{transform:translateY(-5px);box-shadow:var(--sb-shadow)}
}
html.sb-eden-paused *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Owner-approved Home refinements: preserve the shared shell and action owners. */
html:root body.reading-upgrade main .collection-shortcuts{padding-inline:0!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
html:root body.reading-upgrade main .collection-shortcuts>a{min-width:0!important;padding:16px!important;gap:10px!important;font:550 13px/1.4 var(--font-ui)!important;display:flex!important;align-items:center!important}
html:root body.reading-upgrade main .collection-shortcuts .collection-count{margin-left:auto;flex-shrink:0;font-size:12px;white-space:nowrap}
html:root body.reading-upgrade main #today.home-today-scripture{width:100%!important;max-width:none!important;box-sizing:border-box;margin-inline:0!important;padding:16px!important}
html:root body.reading-upgrade main #today .daily-quote{min-height:0!important;padding:20px!important}
html:root body.reading-upgrade main #today .daily-quote blockquote{font:400 clamp(21px,2.3vw,28px)/1.5 var(--font-ui)!important;margin:20px 0!important;min-height:0!important}
html:root body.reading-upgrade main #today .daily-byline{margin:16px 0!important;font-size:15px!important}
html:root body.reading-upgrade main #today .daily-actions{margin-top:16px!important;padding-top:14px!important;gap:12px!important}
html:root body.reading-upgrade main #today .daily-nav{padding-top:12px!important;margin-top:0!important}
html:root body.reading-upgrade main .library-intro .search-launch{background:var(--sb-panel)!important;color:var(--sb-text)!important;border:1px solid var(--sb-border)!important}
html:root body.reading-upgrade main .library-intro .search-launch input{background:transparent!important;color:var(--sb-text)!important;-webkit-text-fill-color:var(--sb-text)!important;caret-color:var(--sb-text)!important}
html:root body.reading-upgrade main .library-intro .search-launch input::placeholder{color:var(--sb-secondary)!important;-webkit-text-fill-color:var(--sb-secondary)!important;opacity:1}
html:root body.reading-upgrade main .library-intro .search-launch:focus-within{outline:2px solid var(--sb-secondary);outline-offset:3px}
html:root body.reading-upgrade main .library-intro .search-launch input:-webkit-autofill{box-shadow:0 0 0 100px var(--sb-panel) inset!important;-webkit-text-fill-color:var(--sb-text)!important}
html:root body main .sb-tract-card-actions{display:flex;justify-content:flex-end}
html:root body main .sb-tract-read-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border:1px solid var(--sb-border);border-radius:12px;background:var(--sb-action);color:var(--sb-action-text);font:500 14px/1.4 var(--font-ui)}
html:root body main .sb-sourced-card>.sb-tract-read-button{align-self:flex-end;margin-left:auto}
@media(max-width:620px){html:root body.reading-upgrade main .collection-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))!important}html:root body.reading-upgrade main .collection-shortcuts>a{padding:14px 12px!important;font-size:12px!important}html:root body.reading-upgrade main #today.home-today-scripture{padding:14px!important}}
@media(prefers-reduced-motion:no-preference){html:root body main .sb-tract-read-button{transition:transform 160ms ease,background 160ms ease}html:root body main a:hover>.sb-tract-read-button{transform:translateY(-2px)}html:root body main a:active>.sb-tract-read-button{transform:scale(.98)}}
