/* Storyweave. Shared semantic tokens, coordinated light/dark appearances.
   Every material/ornament is screen-only; existing print editions are untouched. */
@media screen {
  :root[data-palette=storyweave], [data-palette-preview=storyweave] {
    --paper:#f4eee3;--white:#fffcf5;--surface:#fffcf5;--surface-raised:#fffef9;
    --surface-soft:#e9e2ef;--field:#fffef9;--ink:#302a38;--muted:#655e6e;
    --line:#cfc2ce;--control-border:#8b7b90;--accent:#73521d;--accent-dark:#553a10;
    --on-accent:#fffaf0;--pale:#ece2f3;--green:#356460;--blue:#4c5e85;
    --gold:#73521d;--focus:#675180;--canvas:#eee8df;--canvas-dot:#c9bdc8;
    --chrome:#e6dfeb;--feature:#e9e2ef;--feature-hover:#e1d7e9;
    --companion:#dde9e6;--companion-accent:#356460;--media-mat:#e3dbce;
    --sw-teal:#426b69;--sw-lavender:#a58cc4;--sw-clay:#bd7958;--sw-gold:#e3bb65;
    --sw-canvas:url('storyweave/ivory-paper.webp');--sw-wash:#f4eee3eb;
    --shadow:0 12px 36px #34263e12;
  }
  :root[data-palette=storyweave][data-theme=dark],
  :root[data-theme=dark] [data-palette-preview=storyweave] {
    --paper:#18161e;--white:#24212b;--surface:#24212b;--surface-raised:#302b38;
    --surface-soft:#2d2738;--field:#201d27;--ink:#f4eee1;--muted:#c6bdce;
    --line:#51475d;--control-border:#9b8ba7;--accent:#e3bb65;--accent-dark:#f1d38f;
    --on-accent:#241b0e;--pale:#382f43;--green:#a4d0c6;--blue:#b8c8e9;
    --gold:#e3bb65;--focus:#d7bdf0;--canvas:#1c1923;--canvas-dot:#4a4055;
    --chrome:#211d2a;--feature:#30283c;--feature-hover:#3a3049;
    --companion:#243b3b;--companion-accent:#a4d0c6;--media-mat:#14121a;
    --sw-canvas:url('storyweave/charcoal-paper.webp');--sw-wash:#18161ee0;
    --shadow:0 12px 36px #0003;
  }
  :root[data-palette=storyweave] body {
    color:var(--ink);background-color:var(--paper);
    background-image:linear-gradient(var(--sw-wash),var(--sw-wash)),var(--sw-canvas);
    background-size:auto,640px;
  }
  :root[data-palette=storyweave] :is(.site-header,.site-footer) {background:transparent;border-color:var(--line)}
  :root[data-palette=storyweave] :is(.brand-mark,.eyebrow>.icon) {color:var(--gold)}
  :root[data-palette=storyweave] :is(a,button,input,select,textarea,summary):focus-visible {outline:2px solid var(--focus);outline-offset:3px}
  :root[data-palette=storyweave] :is(.button,input,textarea,select,dialog,.paper-form,.filter-bar) {border-radius:6px}
  :root[data-palette=storyweave] .button:not(.secondary):not(.light):not(.danger-button) {box-shadow:inset 0 1px #fff3,0 2px 6px #0001}
  :root[data-palette=storyweave] :is(.eyebrow,.home-work-meta) {letter-spacing:.12em}

  /* The existing navigation and semantic action icons keep their silhouettes. */
  :root[data-palette=storyweave] body.fa-sidebar-layout header.archive-sidebar {
    --sidebar-muted:#c6bdce;--sidebar-active:#3a2f47;
    background:#19161f url('storyweave/charcoal-paper.webp') center/640px;
    border-right:1px solid #51475d;color:#f4eee1;
  }
  :root[data-palette=storyweave] .archive-sidebar :is(.brand-mark,.primary-nav .icon,.sidebar-settings>.icon) {color:#e3bb65}
  :root[data-palette=storyweave] .archive-sidebar .primary-nav a.current {background:#3a2f47;color:#fff6e6;box-shadow:inset 3px 0 #e3bb65}
  :root[data-palette=storyweave] .archive-sidebar .primary-nav a:hover {background:#302938;color:#fff6e6}
  :root[data-palette=storyweave] .archive-sidebar #workspace-switch {background:#25202e;border-color:#9b8ba7;color:#f4eee1}
  :root[data-palette=storyweave] .archive-sidebar .sidebar-avatar {background:#a58cc4;color:#241e2c}
  :root[data-palette=storyweave] .archive-sidebar .sidebar-profile-name small {color:#c6bdce}

  /* Hero art is decorative and uses no fictional member photographs. */
  :root[data-palette=storyweave] .home-intro {
    position:relative;isolation:isolate;display:block;min-height:290px;
    padding:26px 48% 26px 0;border-bottom:1px solid var(--line);
  }
  :root[data-palette=storyweave] .home-intro::after {
    content:'';position:absolute;right:0;top:0;bottom:18px;width:46%;z-index:-1;
    background:url('storyweave/hero-arches.webp') center/contain no-repeat;
    border-radius:80px 80px 6px 6px;pointer-events:none;
  }
  :root[data-palette=storyweave] .home-intro h1 {font-size:clamp(38px,4.2vw,62px);font-weight:400;line-height:1.07}
  :root[data-palette=storyweave] .home-intro h1 em {color:var(--ink);font-style:normal}
  :root[data-palette=storyweave] .home-add-person {margin-top:18px}
  :root[data-palette=storyweave] .home-search-field #home-name-search {border-color:var(--line);background:var(--field)}
  :root[data-palette=storyweave] .home-search-submit {background:var(--accent);color:var(--on-accent)}
  :root[data-palette=storyweave] .home-search-submit:hover {background:var(--accent-dark)}
  :root[data-palette=storyweave] .home-hub .home-work {background:transparent;border:0;padding:0;min-height:0}
  :root[data-palette=storyweave] .home-work-heading h2 {font-size:22px;font-weight:400}
  :root[data-palette=storyweave] .home-hub .home-work .home-work-primary,
  :root[data-palette=storyweave] .story-library-resume {
    position:relative;background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;padding:24px;
    box-shadow:inset 0 1px #ffffff08;
  }
  :root[data-palette=storyweave] .home-work-primary .home-work-symbol {background:#a58cc4;color:#3b2e49;border:0;width:54px;height:60px}
  :root[data-palette=storyweave] .home-work-primary .home-work-symbol>.icon {width:28px;height:28px}
  :root[data-palette=storyweave] .home-work-copy>strong {font-weight:400}
  :root[data-palette=storyweave] .home-work-action {background:var(--accent);color:var(--on-accent)}
  :root[data-palette=storyweave] .home-work-list .home-work-symbol {border:0;background:transparent;color:var(--muted)}
  :root[data-palette=storyweave] :is(.home-section-heading h2,.home-hub h2) {font-weight:400}
  :root[data-palette=storyweave] .home-section-heading {padding-top:18px;background:url('storyweave/thread-divider.svg') center top/min(480px,80%) 18px no-repeat}

  /* Colored arches sit behind each lineage's saved canonical illustration. */
  :root[data-palette=storyweave] :is(.home-lineage,.lineage-directory-card) {
    --sw-arch:#426b69;position:relative;isolation:isolate;border:1px solid var(--line);
    border-radius:8px;background:var(--surface);overflow:hidden;
  }
  :root[data-palette=storyweave] :is(.home-branch-1,.lineage-directory-card.branch-1) {--sw-arch:#a58cc4}
  :root[data-palette=storyweave] :is(.home-branch-2,.lineage-directory-card.branch-2) {--sw-arch:#bd7958}
  :root[data-palette=storyweave] :is(.home-branch-3,.lineage-directory-card.branch-3) {--sw-arch:#b69a54}
  :root[data-palette=storyweave] :is(.home-lineage,.lineage-directory-card)::before {
    content:'';position:absolute;right:12px;top:12px;bottom:-30px;width:48%;border-radius:160px 160px 0 0;
    background:var(--sw-arch);opacity:.72;z-index:-2;pointer-events:none;
  }
  :root[data-palette=storyweave] .home-hub .home-lineage {min-height:205px;background:var(--surface)}
  :root[data-palette=storyweave] :is(.home-lineage,.lineage-directory-card):hover {border-color:var(--control-border);box-shadow:var(--shadow)}
  :root[data-palette=storyweave] .home-lineage h3 {font-size:clamp(27px,2.5vw,38px);font-weight:400;background:var(--surface);box-shadow:5px 0 0 var(--surface)}
  :root[data-palette=storyweave] .home-lineage p {position:relative;color:var(--muted);width:47%;background:var(--surface);box-shadow:4px 0 0 var(--surface)}
  :root[data-palette=storyweave] .home-lineage-art {width:58%;opacity:.95;mask-image:linear-gradient(90deg,transparent,#000 32%)}
  :root[data-palette=storyweave] .home-lineage-arrow {display:grid;place-items:center;width:36px;height:38px;background:var(--accent);color:var(--on-accent);border-radius:5px}
  :root[data-palette=storyweave] .lineage-card-art {opacity:.9}
  :root[data-palette=storyweave] .lineage-directory-grid[data-lineage-layout=list] .lineage-directory-card::before {display:none}

  /* Original album photographs retain their color, proportions and captions. */
  :root[data-palette=storyweave] .home-hub .family-album-home {background:transparent;border:0;padding-inline:12px}
  :root[data-palette=storyweave] .home-hub .family-album-home .family-album-heading {background:transparent;border:0}
  :root[data-palette=storyweave] .family-album-image {border:1px solid var(--control-border);border-radius:5px;background:var(--media-mat)}
  :root[data-palette=storyweave] .family-album-home .family-album-slide figcaption {background:transparent}
  :root[data-palette=storyweave] .family-album-arrow {background:var(--surface);border-color:var(--control-border);color:var(--ink)}

  /* Reading, evidence, charts and dialogs inherit a complete semantic palette. */
  :root[data-palette=storyweave] :is(.facts-panel,.bc-card,.research-card,.research-sidebar,.rh-sidebar,.rh-task,.rn-card,.finder-browse,.finder-person,.tree-profile-panel,.tree-toolbar,.tree-bottom,.hub-stats,.hub-journey-card) {border-color:var(--line);border-radius:7px}
  :root[data-palette=storyweave] :is(.bc-card,.research-card,.rh-task,.rn-card,.finder-person,.tree-profile-panel) {background-color:var(--surface)}
  :root[data-palette=storyweave] :is(.bc-rail-heading,.research-sidebar-title,.rh-sidebar-heading,.tree-profile-caption) {color:var(--gold)}
  :root[data-palette=storyweave] .person-node {border-radius:7px}
  :root[data-palette=storyweave] .j2-desk {border:1px solid var(--control-border);border-radius:8px}
  :root[data-palette=storyweave] .j2-panel {border-radius:6px}
  :root[data-palette=storyweave] .story-library-resume {background-image:url('storyweave/oak-engraving.webp');background-position:98% center;background-size:auto 85%;background-repeat:no-repeat}
  :root[data-palette=storyweave] .story-library-resume>* {position:relative;background-color:var(--surface-soft);box-shadow:8px 0 0 var(--surface-soft)}
  :root[data-palette=storyweave] :is(.family-album-empty,.story-library-empty,.lineage-directory-empty,.rh-empty,.research-empty,.finder-empty)::before {
    content:'';display:block;width:min(260px,100%);height:148px;margin:0 auto 16px;
    background:url('storyweave/archive-still-life.webp') center/contain no-repeat;pointer-events:none;
  }
  :root[data-palette=storyweave] :is(.rh-empty,.research-empty,.finder-empty)::before {background-image:url('storyweave/compass-engraving.webp')}

  /* Theme chooser miniatures remain visible while any other theme is active. */
  #member-settings [data-palette-preview=storyweave] {background:var(--paper);border-color:var(--line)}
  #member-settings [data-palette-preview=storyweave] .palette-preview-nav {background:#201c28}
  #member-settings [data-palette-preview=storyweave] .palette-preview-cards i {background:#426b69;border:0;border-radius:18px 18px 2px 2px}
  #member-settings [data-palette-preview=storyweave] .palette-preview-cards i:last-child {background:#a58cc4}
  #member-settings.settings-dialog [data-palette-preview=storyweave] .palette-preview-page {background:url('storyweave/arch-panels.svg') right bottom/70% 70% no-repeat}
  :root[data-palette=storyweave] #member-settings {border:1px solid var(--control-border);box-shadow:0 24px 100px #0007}
  :root[data-palette=storyweave] #member-settings :is(.settings-header,.settings-nav,.settings-footer) {background:var(--surface-soft)}
  :root[data-palette=storyweave] #member-settings .settings-preview-sidebar {background:#201c28;color:#c6bdce}
  :root[data-palette=storyweave] #member-settings .settings-preview-sidebar strong {color:#f4eee1}
  :root[data-palette=storyweave] #member-settings .settings-preview-branches>div {background:var(--surface-soft);border-color:var(--line)}
  :root[data-palette=storyweave] #member-settings .settings-preview-art {background-image:url('storyweave/oak-engraving.webp')}

  /* Public marketing, account, policy, error and native authentication pages. */
  :root[data-palette=storyweave] .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:#263e3d;--marketing-on-green:#f4eee1;color-scheme:inherit;
  }
  :root[data-palette=storyweave] :is(.marketing-header,.marketing-footer) {background:transparent;border-color:var(--line)}
  :root[data-palette=storyweave] .marketing-brand-mark {color:var(--gold);border-color:var(--control-border)}
  :root[data-palette=storyweave] .marketing-keepsake {background:var(--surface-soft);color:var(--ink);border-color:var(--line)}
  :root[data-palette=storyweave] body.login {
    --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-glow:transparent;--auth-shadow:var(--shadow);
  }
  :root[data-palette=storyweave] .login #login {border:1px solid var(--line);border-radius:10px}
  :root[data-palette=storyweave] .fa-auth-mark {color:var(--gold);border-color:var(--line)}
  :root[data-palette=storyweave] .login #login h1::before {content:'';display:block;width:64px;height:72px;margin:0 auto 12px;background:url('storyweave/oak-engraving.webp') center/contain no-repeat;pointer-events:none}

  @media(max-width:1150px) {
    :root[data-palette=storyweave] .home-intro {padding-right:43%;min-height:260px}
    :root[data-palette=storyweave] .home-intro::after {width:41%}
    :root[data-palette=storyweave] .home-intro h1 {font-size:44px}
  }
  @media(max-width:800px) {
    :root[data-palette=storyweave] body.fa-sidebar-layout header.archive-sidebar {border-right:0;border-bottom:1px solid #51475d}
  }
  @media(max-width:600px) {
    :root[data-palette=storyweave] .home-intro {padding:4px 0 184px;min-height:0}
    :root[data-palette=storyweave] .home-intro::after {width:100%;height:165px;top:auto;bottom:8px;background-position:center 55%;background-size:contain;border-radius:0}
    :root[data-palette=storyweave] .home-intro h1 {font-size:42px}
    :root[data-palette=storyweave] .home-hub .home-work .home-work-primary {padding:18px 16px}
    :root[data-palette=storyweave] .home-hub .family-album-home {padding-inline:0}
    :root[data-palette=storyweave] .story-library-resume {background-size:auto 60%}
  }
  /* Respect explicit contrast preferences and Windows high-contrast mode. */
  :root[data-palette=storyweave][data-contrast=high] body,
  :root[data-palette=storyweave][data-contrast=high] :is(.story-library-resume,.home-section-heading) {background-image:none}
  :root[data-palette=storyweave][data-contrast=high] :is(.home-intro,.home-lineage,.lineage-directory-card,.family-album-empty,.story-library-empty,.lineage-directory-empty,.rh-empty,.research-empty,.finder-empty,.login h1)::before,
  :root[data-palette=storyweave][data-contrast=high] .home-intro::after {display:none}
  :root[data-palette=storyweave][data-contrast=high] .home-intro {padding:12px 0;min-height:0}
  @media(forced-colors:active) {
    :root[data-palette=storyweave] body,:root[data-palette=storyweave] .story-library-resume {background-image:none}
    :root[data-palette=storyweave] :is(.home-intro,.home-lineage,.lineage-directory-card,.family-album-empty,.story-library-empty,.lineage-directory-empty,.rh-empty,.research-empty,.finder-empty,.login h1)::before,
    :root[data-palette=storyweave] .home-intro::after {display:none}
    :root[data-palette=storyweave] .home-intro {padding:12px 0;min-height:0}
  }
}
