/* Celestial: optional screen appearance. All names/evidence remain live content.
   Raster plates are fictional decoration; see celestial/manifest.json. */
@media screen {
:root[data-palette=celestial], [data-palette-preview=celestial] {
 --paper:#f3f1ed;--white:#fffcf6;--surface:#fffcf6;--surface-raised:#fffefb;
 --surface-soft:#e9eaf0;--field:#fffefb;--ink:#17263f;--muted:#4f5d74;
 --line:#c6c6cd;--control-border:#7d879c;--accent:#514397;--accent-dark:#3b307a;
 --pale:#e8e3f5;--on-accent:#fff;--green:#375e5c;--blue:#3d5e91;
 --gold:#80572d;--focus:#514397;--canvas:#ececf1;--canvas-dot:#b2bacb;
 --chrome:#e5e6ef;--feature:#ede7f3;--feature-hover:#e4ddef;
 --companion:#e7ecf1;--companion-accent:#485a86;--media-mat:#182239;
 --lineage-surface:#e8e3f5;--context-line:#63748a;--partner-line:#557091;
 --toggle-track:#dadde8;--toggle-thumb:#fffefb;--toggle-active:#514397;
 --shadow:0 18px 50px #14233d14;
}
:root[data-palette=celestial][data-theme=dark], :root[data-theme=dark] [data-palette-preview=celestial] {
 --paper:#091426;--white:#102039;--surface:#102039;--surface-raised:#192e4a;
 --surface-soft:#152a43;--field:#0d1b30;--ink:#f6f1e8;--muted:#c0cadd;
 --line:#3b506e;--control-border:#8092b8;--accent:#a9b5ff;--accent-dark:#d3d9ff;
 --pale:#252c52;--on-accent:#101a30;--green:#b1d3c7;--blue:#b6cef1;
 --gold:#d7ad7d;--focus:#dfb886;--canvas:#0b182c;--canvas-dot:#304460;
 --chrome:#0b1527;--feature:#1d2848;--feature-hover:#263455;
 --companion:#14273e;--companion-accent:#c4ceff;--media-mat:#080f1c;
 --lineage-surface:#202d4a;--context-line:#8092b8;--partner-line:#b6cef1;
 --toggle-track:#0d1b30;--toggle-thumb:#192e4a;--toggle-active:#d7ad7d;
 --shadow:0 18px 50px #0004;
}
/* An illustration never sits directly behind text without a solid/faded scrim. */
:root[data-palette=celestial] {
 --celestial-hero:url(celestial/hero-v1.webp);
 --celestial-masthead:var(--celestial-hero);
 --celestial-scrim:linear-gradient(90deg,var(--paper) 5%,color-mix(in srgb,var(--paper) 97%,transparent) 35%,color-mix(in srgb,var(--paper) 72%,transparent) 65%,color-mix(in srgb,var(--paper) 25%,transparent));
}
:root[data-palette=celestial] body {
 background-color:var(--paper);color:var(--ink);
 background-image:linear-gradient(color-mix(in srgb,var(--paper) 96%,transparent),color-mix(in srgb,var(--paper) 96%,transparent)),url(celestial/star-paper-thumb-v1.webp);
}
:root[data-palette=celestial] :is(h1,h2,h3){text-wrap:balance}
:root[data-palette=celestial] :is(.eyebrow,.step-label){color:var(--gold)}
:root[data-palette=celestial] :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--focus);outline-offset:3px}
:root[data-palette=celestial] :is(input,textarea,select){accent-color:var(--accent)}
/* The shared responsive rail keeps its navigation and touch targets. */
:root[data-palette=celestial] body.fa-sidebar-layout header.archive-sidebar {
 background:linear-gradient(#0b1527ed,#0b1527f7),url(celestial/star-paper-thumb-v1.webp) center/480px auto;
 color:#f6f1e8;--sidebar-muted:#c0cadd;--sidebar-active:#263455;
 border-right:1px solid #bd956660;
}
:root[data-palette=celestial] .archive-sidebar .primary-nav a.current{box-shadow:inset 3px 0 #a9b5ff;background:#263455}
:root[data-palette=celestial] .archive-sidebar :is(.primary-nav .icon,.brand-mark,.sidebar-settings>.icon){color:#d7ad7d}
:root[data-palette=celestial] .archive-sidebar :is(.sidebar-workspace #workspace-switch,.sidebar-workspace-name){background:#101e34;color:#f6f1e8;border-color:#8092b8}
:root[data-palette=celestial] .sidebar-avatar{background:#273657;color:#f6f1e8;border:1px solid #d7ad7d}
:root[data-palette=celestial] .site-footer{background:var(--chrome);border-top:1px solid var(--gold)}
:root[data-palette=celestial] .site-header:not(.archive-sidebar){background:var(--chrome);border-bottom-color:var(--gold)}
:root[data-palette=celestial] :is(.button,.home-work-action){background:var(--accent);color:var(--on-accent);border-color:var(--accent);box-shadow:inset 0 1px #fff2}
:root[data-palette=celestial] .button.secondary{background:var(--field);color:var(--ink);border-color:var(--control-border);box-shadow:none}
:root[data-palette=celestial] :is(dialog,.home-panel,.paper-form,.facts-panel,.research-card,.rh-task-group){border-color:var(--line);background-color:var(--surface)}
:root[data-palette=celestial] :is(.settings-dialog,.dialog-heading,.settings-header){border-color:var(--line)}
/* Mastheads share a quiet left text zone, with page-specific illustration. */
:root[data-palette=celestial] :is(.home-intro,.page-intro,.finder-intro,.story-library-intro,.research-heading,.rh-heading,.j2-heading) {
 background-color:var(--paper);background-image:var(--celestial-scrim),var(--celestial-masthead);
 background-size:cover;background-position:center,right center;
 border:1px solid var(--line);border-bottom-color:var(--gold);border-radius:5px;
 padding:clamp(22px,3vw,42px);min-height:190px;gap:22px;
}
:root[data-palette=celestial] :is(.home-intro,.page-intro,.finder-intro,.story-library-intro,.research-heading,.rh-heading,.j2-heading)>*{min-width:0}
:root[data-palette=celestial] :is(.home-intro,.page-intro,.finder-intro,.story-library-intro,.research-heading,.rh-heading,.j2-heading) h1{color:var(--ink)}
:root[data-palette=celestial] .home-intro{min-height:290px;margin-bottom:18px;align-items:flex-start}
:root[data-palette=celestial] .home-intro h1{max-width:700px;font-size:clamp(38px,4.8vw,72px);font-weight:400;letter-spacing:-.035em}
:root[data-palette=celestial] .home-intro h1 em{color:var(--gold)}
:root[data-palette=celestial] .home-add-person{background:var(--field)}
:root[data-palette=celestial] .home-search-deck{padding-bottom:22px;border-bottom:1px solid var(--line)}
:root[data-palette=celestial] .home-work{background:var(--chrome)}
:root[data-palette=celestial] .home-work-primary{background:var(--feature);border-left-color:var(--gold)}
:root[data-palette=celestial] .home-work-symbol{border-radius:50%;border-color:var(--gold);color:var(--gold)}
:root[data-palette=celestial] .home-hub h2{font-weight:400}
:root[data-palette=celestial] .family-album{background:var(--surface);border-color:var(--line)}
:root[data-palette=celestial] .family-album-image{background:var(--media-mat);padding:10px}
:root[data-palette=celestial] .family-album-image img{border:1px solid #d7ad7d;box-shadow:0 0 0 3px #e8dcc2}
:root[data-palette=celestial] :is(.family-album-heading,.family-album-controls){background:var(--chrome)}
/* Shared motif variables retain each lineage's permanent identity. */
:root[data-palette=celestial] [data-lineage-art=branch]{--celestial-plate:url(celestial/branch-card-v1.webp);--celestial-plate-large:url(celestial/branch-v1.webp)}
:root[data-palette=celestial] [data-lineage-art=castle]{--celestial-plate:url(celestial/castle-card-v1.webp);--celestial-plate-large:url(celestial/castle-v1.webp)}
:root[data-palette=celestial] [data-lineage-art=village]{--celestial-plate:url(celestial/village-card-v1.webp);--celestial-plate-large:url(celestial/village-v1.webp)}
:root[data-palette=celestial] [data-lineage-art=ship]{--celestial-plate:url(celestial/ship-card-v1.webp);--celestial-plate-large:url(celestial/ship-v1.webp)}
:root[data-palette=celestial] [data-lineage-art=mill]{--celestial-plate:url(celestial/mill-card-v1.webp);--celestial-plate-large:url(celestial/mill-v1.webp)}
:root[data-palette=celestial] [data-lineage-art=farm]{--celestial-plate:url(celestial/farm-card-v1.webp);--celestial-plate-large:url(celestial/farm-v1.webp)}
:root[data-palette=celestial] [data-lineage-art=bridge]{--celestial-plate:url(celestial/bridge-card-v1.webp);--celestial-plate-large:url(celestial/bridge-v1.webp)}
:root[data-palette=celestial] [data-lineage-art=mountains]{--celestial-plate:url(celestial/mountains-card-v1.webp);--celestial-plate-large:url(celestial/mountains-v1.webp)}
:root[data-palette=celestial] [data-lineage-art=compass]{--celestial-plate:url(celestial/compass-card-v1.webp);--celestial-plate-large:url(celestial/compass-v1.webp)}
:root[data-palette=celestial] [data-lineage-art=tree]{--celestial-plate:url(celestial/tree-card-v1.webp);--celestial-plate-large:url(celestial/tree-v1.webp)}
:root[data-palette=celestial] :is(.home-lineage-art,.lineage-card-art){
 inset:0;width:100%;height:100%;opacity:1;filter:none;mix-blend-mode:normal;
 background-image:linear-gradient(180deg,#081426 0%,#081426ed 25%,#081426aa 44%,#08142600 70%,#081426b3 100%),var(--celestial-plate);
 background-size:cover;background-position:center,right center;mask-image:none;-webkit-mask-image:none;border-radius:inherit;
}
:root[data-palette=celestial] :is(.home-lineage,.lineage-directory-card){background:#0b172b;color:#f6f1e8;border-radius:4px;overflow:hidden;border-color:#7f91b1;border-top:3px solid #a9b5ff}
:root[data-palette=celestial] .home-lineage{min-height:340px;padding:24px}
:root[data-palette=celestial] .home-lineage h3{background:none;box-shadow:none;color:#f6f1e8;max-width:100%;font-size:34px}
:root[data-palette=celestial] .home-lineage p{color:#e3e8f3;width:100%;max-width:270px;font-size:14px}
:root[data-palette=celestial] .home-lineage-arrow{color:#e6d1ae}
:root[data-palette=celestial] .lineage-directory-card{min-height:370px}
:root[data-palette=celestial] .lineage-directory-card h2{margin-bottom:12px;padding-right:0}
:root[data-palette=celestial] .lineage-directory-card h2 a{background:none;box-shadow:none;color:#f6f1e8}
:root[data-palette=celestial] .lineage-card-summary{color:#e3e8f3;text-shadow:0 1px 3px #081426;line-height:1.65}
:root[data-palette=celestial] .lineage-card-explore{color:#e6d1ae}
:root[data-palette=celestial] .lineage-add-intro{background:#0b172b;color:#f6f1e8;border-color:#8092b8}
:root[data-palette=celestial] .lineage-directory-grid[data-lineage-layout=list] .lineage-directory-card{background:var(--surface);color:var(--ink);min-height:130px;overflow:visible}
:root[data-palette=celestial] .lineage-directory-grid[data-lineage-layout=list] .lineage-card-art{inset:8px auto 8px 8px;width:110px;height:calc(100% - 16px);background-image:var(--celestial-plate);border-radius:3px}
:root[data-palette=celestial] .lineage-directory-grid[data-lineage-layout=list] :is(h2 a,.lineage-card-summary){color:var(--ink);text-shadow:none}
:root[data-palette=celestial] .lineage-directory-grid[data-lineage-layout=list] .lineage-card-explore{color:var(--accent)}
/* Read-only theme plates never replace an approved family illustration or photo. */
:root[data-palette=celestial] #lineage-canvas .overview-introduction{padding:24px;border:1px solid var(--line);border-bottom-color:var(--gold);border-radius:5px;background:var(--paper)}
:root[data-palette=celestial] #lineage-canvas .overview-introduction .lineage-intro-art {
 inset:0;width:100%;height:100%;max-height:none;opacity:1;filter:none;mask-image:none;-webkit-mask-image:none;
 background-image:var(--celestial-scrim),var(--celestial-plate-large);background-size:cover;background-position:right center;
}
:root[data-palette=celestial] .lineage-chapter-art[data-lineage-art]{background-image:var(--celestial-plate)!important;background-size:cover;border-radius:3px;mix-blend-mode:normal;opacity:.13}
:root[data-palette=celestial] :is(.lineage-map-empty,.lineage-story-feature,.overview-highlight){border-color:var(--line);background-color:var(--surface)}
:root[data-palette=celestial] .lineage-map-empty{background-image:linear-gradient(90deg,var(--surface) 65%,transparent),url(celestial/atlas-thumb-v1.webp);background-size:cover;background-position:right center}
:root[data-palette=celestial] .hub-person-card{background-color:var(--surface);border-color:var(--line)}
/* Generic editorial mastheads, keeping historical geography/paper untouched. */
:root[data-palette=celestial] :is(.j2-heading,.tree-heading){--celestial-masthead:url(celestial/atlas-v1.webp)}
:root[data-palette=celestial] .story-library-intro{--celestial-masthead:url(celestial/library-v1.webp)}
:root[data-palette=celestial] :is(.research-heading,.rh-heading){--celestial-masthead:url(celestial/research-v1.webp)}
:root[data-palette=celestial] :is(.finder-intro,.lineage-directory-heading){--celestial-masthead:url(celestial/branch-v1.webp)}
:root[data-palette=celestial] :is(.story-library-resume,.research-sidebar,.rh-sidebar,.research-main,.research-source-view){background-color:var(--surface);border-color:var(--line)}
:root[data-palette=celestial] :is(.research-heading,.rh-heading) h1,:root[data-palette=celestial] .story-library-intro h1{max-width:750px}
:root[data-palette=celestial] :is(.finder-intro,.page-intro)>p{max-width:65ch}
/* Tree geometry, relationship colors and saved cameras remain native. */
:root[data-palette=celestial] .tree-workspace{background-color:var(--canvas);border-color:var(--line)}
:root[data-palette=celestial] :is(.tree-toolbar,.tree-profile-panel,.explorer-controls){background-color:var(--surface);border-color:var(--line)}
:root[data-palette=celestial] .person-node{background:var(--surface);color:var(--ink);border-color:var(--control-border)}
:root[data-palette=celestial] .person-node.lineage-node{background:var(--lineage-surface)}
/* Stable, reusable vector ornaments extend the existing live outline icons. */
:root[data-palette=celestial] .brand-mark{color:var(--gold)}
:root[data-palette=celestial] :is(.facts-panel,.settings-preview-sidebar){background-image:url(celestial/corner-v1.svg);background-size:100px;background-repeat:no-repeat}
:root[data-palette=celestial] .home-hub-footer::before{content:'';width:64px;height:64px;flex:none;background:url(celestial/compass-rose-v1.svg) center/contain no-repeat;opacity:.8}
:root[data-palette=celestial] .story-library-toolbar h2::after{content:'';width:100px;height:20px;background:url(celestial/star-divider-v1.svg) center/contain no-repeat}
/* The chooser shows Celestial even when another palette is currently active. */
[data-palette-preview=celestial] .palette-preview-page{background-image:linear-gradient(90deg,var(--paper),transparent),url(celestial/hero-thumb-v1.webp);background-size:cover;background-position:right}
[data-palette-preview=celestial] .palette-preview-nav{background:#0b1527}
[data-palette-preview=celestial] .palette-preview-cards i:first-child{background-image:url(celestial/branch-thumb-v1.webp)!important}
[data-palette-preview=celestial] .palette-preview-cards i:last-child{background-image:url(celestial/ship-thumb-v1.webp)!important}
:root[data-palette=celestial] .settings-preview-sidebar{background-color:#0b1527;color:#f6f1e8}
:root[data-palette=celestial] .settings-preview-main{background-image:linear-gradient(90deg,var(--paper),color-mix(in srgb,var(--paper) 65%,transparent)),url(celestial/hero-thumb-v1.webp);background-size:cover;background-position:right}
:root[data-palette=celestial] .settings-preview-branch{background-image:url(celestial/branch-thumb-v1.webp)!important}
:root[data-palette=celestial] .settings-preview-ship{background-image:url(celestial/ship-thumb-v1.webp)!important}
/* Reading accessibility is stronger than ornament. No animated decoration. */
:root[data-palette=celestial][data-contrast=high]{--muted:var(--ink);--line:var(--ink);--control-border:var(--ink);--accent:var(--ink);--accent-dark:var(--ink);--on-accent:var(--paper);--focus:var(--ink);--gold:var(--ink);--companion-accent:var(--ink)}
:root[data-palette=celestial][data-contrast=high] :is(.home-intro,.page-intro,.finder-intro,.story-library-intro,.research-heading,.rh-heading,.j2-heading,.home-lineage-art,.lineage-card-art,.lineage-intro-art,.lineage-chapter-art){background-image:none!important}
:root[data-palette=celestial][data-contrast=high] :is(.facts-panel,.settings-preview-sidebar){background-image:none}
:root[data-palette=celestial][data-contrast=high] body{background-image:none}
}
@media screen and (max-width:1000px){
 :root[data-palette=celestial] :is(.home-intro,.story-library-intro,.rh-heading,.research-heading){flex-wrap:wrap}
 :root[data-palette=celestial] .home-intro{min-height:250px}
}
@media screen and (max-width:700px){
 :root[data-palette=celestial] :is(.home-intro,.page-intro,.finder-intro,.story-library-intro,.rh-heading,.research-heading,.j2-heading){padding:24px 20px;min-height:170px;--celestial-scrim:linear-gradient(90deg,var(--paper),color-mix(in srgb,var(--paper) 90%,transparent));background-position:right}
 :root[data-palette=celestial] .home-intro h1{font-size:42px}
 :root[data-palette=celestial] .home-lineage{min-height:320px}
 :root[data-palette=celestial] .lineage-directory-grid[data-lineage-layout=list] .lineage-card-art{width:78px}
 :root[data-palette=celestial] .story-library-toolbar h2::after{display:none}
 :root[data-palette=celestial] .home-hub-footer::before{width:40px;height:40px}
 :root[data-palette=celestial] #lineage-canvas .overview-introduction{padding:18px;--celestial-scrim:linear-gradient(90deg,var(--paper),color-mix(in srgb,var(--paper) 90%,transparent))}
}
@media (forced-colors:active){
 :root[data-palette=celestial] :is(.home-intro,.page-intro,.finder-intro,.story-library-intro,.rh-heading,.research-heading,.j2-heading,.home-lineage-art,.lineage-card-art,.lineage-intro-art,.lineage-chapter-art){background-image:none!important}
}
@media screen {
:root[data-palette=celestial] .fa-marketing-page {
 --marketing-paper:var(--paper);--marketing-white:var(--surface);--marketing-ink:var(--ink);
 --marketing-muted:var(--muted);--marketing-line:var(--line);--marketing-accent:var(--accent);
 --marketing-accent-dark:var(--accent-dark);--marketing-soft:var(--surface-soft);
 --marketing-green:#132642;--marketing-on-green:#f6f1e8;--focus:var(--gold);
 color-scheme:inherit;background-color:var(--paper);color:var(--ink);
}
:root[data-palette=celestial] {
 --auth-paper:var(--paper);--auth-surface:var(--surface);--auth-soft:var(--surface-soft);--auth-field:var(--field);
 --auth-ink:var(--ink);--auth-muted:var(--muted);--auth-line:var(--line);--auth-control:var(--control-border);
 --auth-accent:var(--accent);--auth-hover:var(--accent-dark);--auth-on-accent:var(--on-accent);
 --auth-shadow:var(--shadow);--auth-glow:transparent;
}
:root[data-palette=celestial] body.login {
 background-color:var(--paper);background-image:linear-gradient(90deg,var(--paper),color-mix(in srgb,var(--paper) 80%,transparent)),url(celestial/hero-v1.webp);
 background-size:cover;background-position:center,right center;
}
:root[data-palette=celestial] .login #login {border-radius:8px;border-color:var(--control-border);border-top:2px solid var(--gold)}
:root[data-palette=celestial] .fa-auth-mark{color:var(--gold);border-color:var(--gold)}
:root[data-palette=celestial][data-contrast=high] body.login{background-image:none}
}
