/* Copperplate: opt-in screen materials over the existing semantic application. */
@media screen {
  :root[data-palette=copperplate], [data-palette-preview=copperplate] {
    --paper:#efe6d4;--white:#fbf6e9;--surface:#fbf6e9;--surface-raised:#fffbf1;
    --surface-soft:#e8dac4;--field:#fffaf0;--ink:#30271f;--muted:#6c5645;
    --line:#bba385;--control-border:#927052;--accent:#85421e;--accent-dark:#633015;
    --on-accent:#fff5df;--pale:#ebd8c4;--gold:#85421e;--green:#42624c;--blue:#4a6173;
    --focus:#8c351f;--canvas:#e9deca;--canvas-dot:#b7a286;--chrome:#ded0b9;
    --feature:#e7d8c4;--feature-hover:#ddcbb2;--companion:#dedfce;--companion-accent:#42624c;
    --media-mat:#e1d4be;--cp-copper:#b66a40;--cp-wash:#efe6d4e8;
    --cp-paper:url('copperplate/ivory-paper.webp');--cp-binding:#671625;--cp-on-binding:#fff0d5;
    --shadow:0 10px 32px #39271919;
  }
  :root[data-palette=copperplate][data-theme=dark],
  :root[data-theme=dark] [data-palette-preview=copperplate] {
    --paper:#0d1010;--white:#171b1a;--surface:#171b1a;--surface-raised:#232925;
    --surface-soft:#21251f;--field:#111615;--ink:#f3e6cd;--muted:#c9b89c;
    --line:#79573e;--control-border:#ba895e;--accent:#f2a77c;--accent-dark:#ffd0aa;
    --on-accent:#21140f;--pale:#39251f;--gold:#f2a77c;--green:#b7d5ae;--blue:#b4cbdc;
    --focus:#ffb98a;--canvas:#111614;--canvas-dot:#435044;--chrome:#151a17;
    --feature:#2c1d1b;--feature-hover:#392622;--companion:#212c23;--companion-accent:#b7d5ae;
    --media-mat:#0a0d0c;--cp-copper:#d28a5c;--cp-wash:#0d1010df;
    --cp-paper:url('copperplate/black-paper.webp');--shadow:0 12px 36px #0005;
  }
  :root[data-palette=copperplate] body {
    color:var(--ink);background-color:var(--paper);
    background-image:linear-gradient(var(--cp-wash),var(--cp-wash)),var(--cp-paper);background-size:auto,640px;
  }
  :root[data-palette=copperplate] :is(.site-header,.site-footer) {background:transparent;border-color:var(--cp-copper)}
  :root[data-palette=copperplate] :is(.button,input,textarea,select,dialog,.paper-form,.filter-bar) {border-radius:4px}
  :root[data-palette=copperplate] :is(a,button,input,textarea,select,summary):focus-visible {outline:2px solid var(--focus);outline-offset:3px}
  :root[data-palette=copperplate] .button:not(.secondary):not(.light):not(.danger-button),
  :root[data-palette=copperplate] .home-work-action {
    background:linear-gradient(#721a2a,#491019);color:var(--cp-on-binding);border:1px solid var(--cp-copper);
    box-shadow:inset 0 1px #e1a78128,0 3px 8px #0002;
  }
  :root[data-palette=copperplate] .button:not(.secondary):not(.light):not(.danger-button):hover,
  :root[data-palette=copperplate] .home-work-action:hover {background:linear-gradient(#8c2435,#611321)}
  :root[data-palette=copperplate] .eyebrow {letter-spacing:.2em;color:var(--accent)}

  /* The established navigation remains responsive and keyboard accessible. */
  :root[data-palette=copperplate] body.fa-sidebar-layout header.archive-sidebar {
    --sidebar-muted:#c9b89c;--sidebar-active:#511720;
    background:linear-gradient(#0d1010cf,#0d1010cf),url('copperplate/black-paper.webp') center/640px;
    color:#f3e6cd;border-right:1px solid #b66a40;
  }
  :root[data-palette=copperplate] .archive-sidebar .primary-nav a {border:1px solid transparent;border-radius:3px}
  :root[data-palette=copperplate] .archive-sidebar .primary-nav a.current {color:#fff0d5;background:#511720;border-color:#a36342;box-shadow:inset 3px 0 #f2a77c}
  :root[data-palette=copperplate] .archive-sidebar .primary-nav a:hover {background:#35231d;color:#fff0d5}
  :root[data-palette=copperplate] .archive-sidebar :is(.primary-nav .icon,.sidebar-settings>.icon) {color:#f2a77c}
  :root[data-palette=copperplate] .archive-sidebar #workspace-switch {background:#141816;color:#f3e6cd;border-color:#b6815c}
  :root[data-palette=copperplate] .archive-sidebar .sidebar-avatar {background:#5b1a24;color:#f6cba4;border:1px solid #b6815c}
  :root[data-palette=copperplate] :is(.brand-mark,.marketing-brand-mark,.fa-auth-mark) {color:var(--gold)}
  :root[data-palette=copperplate] .archive-sidebar .brand-mark {position:relative;width:40px;height:46px;color:#f2a77c}
  :root[data-palette=copperplate] .archive-sidebar .brand-mark>.icon {visibility:hidden}
  :root[data-palette=copperplate] .archive-sidebar .brand-mark::before {content:'';position:absolute;inset:0;background:url('copperplate/tree-mark.svg') center/contain no-repeat;pointer-events:none}

  /* Editorial Home composition; original DOM controls and content remain live. */
  :root[data-palette=copperplate] .home-hub {
    display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.45fr);gap:20px 26px;
    padding-top:28px;position:relative;isolation:isolate;
  }
  :root[data-palette=copperplate] .home-hub::before {
    content:'';grid-column:2;grid-row:1/3;min-height:345px;
    background:#0d1010 url('copperplate/estate-panorama.webp') center/cover no-repeat;
    border:1px solid var(--line);border-radius:3px;pointer-events:none;
  }
  :root[data-palette=copperplate] .home-hub::after {
    content:'';grid-column:2;grid-row:1/3;justify-self:end;align-self:start;
    width:35%;height:160px;background:url('copperplate/ancestry-tracery.svg') center/contain no-repeat;
    opacity:.65;margin:12px;pointer-events:none;
  }
  :root[data-palette=copperplate] .home-intro {grid-column:1;grid-row:1;display:block;margin:0;padding:0;min-width:0}
  :root[data-palette=copperplate] .home-intro h1 {font-size:clamp(36px,3.6vw,53px);line-height:1.08;font-weight:400;letter-spacing:-.035em}
  :root[data-palette=copperplate] .home-intro h1 em {font-style:normal;color:var(--ink)}
  :root[data-palette=copperplate] .home-add-person {margin-top:16px}
  :root[data-palette=copperplate] .home-overview {font-size:12px;gap:6px 16px}
  :root[data-palette=copperplate] .home-overview strong {font-size:15px}
  :root[data-palette=copperplate] .home-search-deck {grid-column:1;grid-row:2;display:flex;flex-direction:column;gap:12px;margin:0}
  :root[data-palette=copperplate] :is(.home-search,.home-tree-link) {width:100%}
  :root[data-palette=copperplate] .home-tree-link {justify-content:space-between}
  :root[data-palette=copperplate] .home-search-field #home-name-search {border-color:var(--control-border);background:var(--field);font-size:15px}
  :root[data-palette=copperplate] .home-search-submit {color:var(--accent)}
  :root[data-palette=copperplate] .home-start-grid {display:contents}
  :root[data-palette=copperplate] .home-hub .home-work {
    grid-column:1;grid-row:3;min-height:0;align-self:start;padding:18px;background:var(--surface);
    border:1px solid var(--cp-copper);border-radius:4px;
  }
  :root[data-palette=copperplate] .home-work-heading h2 {font:600 10px/1.5 'Archive Sans',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
  :root[data-palette=copperplate] .home-hub .home-work .home-work-primary {border:0;padding:0;background:transparent;gap:14px}
  :root[data-palette=copperplate] .home-work-primary .home-work-symbol {
    width:55px;height:72px;border:1px solid var(--cp-copper);border-radius:50%;background:var(--surface-soft);color:var(--accent);
  }
  :root[data-palette=copperplate] .home-work-copy>strong {font-size:26px;font-weight:400}
  :root[data-palette=copperplate] .home-work-meta {font-size:10px;line-height:1.6;color:var(--muted)}
  :root[data-palette=copperplate] .home-work-meta>span {color:var(--muted)}
  :root[data-palette=copperplate] .home-work-action {border-radius:4px;font-weight:400}
  :root[data-palette=copperplate] .home-work-list>a {min-height:56px}
  :root[data-palette=copperplate] .home-work-list .home-work-symbol {border:1px solid var(--line);color:var(--accent);background:var(--surface-soft)}
  :root[data-palette=copperplate] .home-work-list strong {font-weight:400}
  :root[data-palette=copperplate][data-theme] .home-hub .home-start-grid>.family-album-home {
    grid-column:2;grid-row:3;min-width:0;min-height:0;align-self:start;
    background:var(--surface);border:1px solid var(--cp-copper);border-radius:4px;padding:10px 12px;
  }
  :root[data-palette=copperplate][data-theme] .home-hub .family-album-home .family-album-heading {background:transparent;padding:5px 0 12px;border:0}
  :root[data-palette=copperplate] .home-hub .family-album-home .family-album-heading h2 {font:600 10px/1.6 'Archive Sans',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
  :root[data-palette=copperplate] .family-album-image {background:var(--media-mat);border:1px solid var(--line);border-radius:0}
  :root[data-palette=copperplate] .family-album-home .family-album-slide figcaption {background:transparent;padding:10px 0 0}
  :root[data-palette=copperplate] .family-album-arrow {background:var(--surface);color:var(--accent);border-color:var(--control-border);box-shadow:none}
  :root[data-palette=copperplate] .home-section {grid-column:1/-1;grid-row:4;margin:8px 0 0}
  :root[data-palette=copperplate] .home-section-heading {padding-top:24px;background:url('copperplate/diamond-divider.svg') center top/100% 18px no-repeat}
  :root[data-palette=copperplate] .home-section-heading h2 {font-size:24px;font-weight:400}
  :root[data-palette=copperplate] .home-hub-footer {grid-column:1/-1;grid-row:5;border-top:1px solid var(--line);padding-top:18px}

  /* The canonical motif key selects the matching engraved plate in every card. */
  :root[data-palette=copperplate] [data-lineage-art=branch] {--cp-motif:url('copperplate/motif-branch.webp')}
  :root[data-palette=copperplate] [data-lineage-art=castle] {--cp-motif:url('copperplate/motif-castle.webp')}
  :root[data-palette=copperplate] [data-lineage-art=village] {--cp-motif:url('copperplate/motif-village.webp')}
  :root[data-palette=copperplate] [data-lineage-art=ship] {--cp-motif:url('copperplate/motif-ship.webp')}
  :root[data-palette=copperplate] [data-lineage-art=mill] {--cp-motif:url('copperplate/motif-mill.webp')}
  :root[data-palette=copperplate] [data-lineage-art=farm] {--cp-motif:url('copperplate/motif-farm.webp')}
  :root[data-palette=copperplate] [data-lineage-art=bridge] {--cp-motif:url('copperplate/motif-bridge.webp')}
  :root[data-palette=copperplate] [data-lineage-art=mountains] {--cp-motif:url('copperplate/motif-mountains.webp')}
  :root[data-palette=copperplate] [data-lineage-art=compass] {--cp-motif:url('copperplate/motif-compass.webp')}
  :root[data-palette=copperplate] [data-lineage-art=tree] {--cp-motif:url('copperplate/motif-tree.webp')}
  :root[data-palette=copperplate] .lineage-art {background-image:var(--cp-motif,var(--lineage-art-dark))}
  :root[data-palette=copperplate] :is(.home-lineage,.lineage-directory-card) {isolation:isolate;position:relative;border:1px solid var(--cp-copper);border-radius:0;background:var(--surface);overflow:hidden}
  :root[data-palette=copperplate] :is(.home-lineage,.lineage-directory-card)::after {
    content:'';position:absolute;inset:0;border:18px solid transparent;
    border-image:url('copperplate/card-frame.svg') 24 stretch;pointer-events:none;z-index:2;
  }
  :root[data-palette=copperplate] .home-hub .home-lineage {min-height:210px;background:var(--surface);padding:22px}
  :root[data-palette=copperplate] :is(.home-lineage,.lineage-directory-card):hover {border-color:var(--accent);box-shadow:var(--shadow)}
  :root[data-palette=copperplate] .home-lineage h3 {font-size:29px;font-weight:400;max-width:85%;background:var(--surface);box-shadow:5px 0 0 var(--surface)}
  :root[data-palette=copperplate] .home-lineage p {width:49%;font-size:12px;line-height:1.55;background:var(--surface);box-shadow:5px 0 0 var(--surface);color:var(--muted)}
  :root[data-palette=copperplate] .home-lineage-art {width:65%;right:0;top:20px;bottom:9px;opacity:.82;mask-image:linear-gradient(90deg,transparent,#000 28%)}
  :root[data-palette=copperplate] .home-lineage-arrow {display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--cp-copper);border-radius:50%;color:var(--accent);background:var(--surface)}
  :root[data-palette=copperplate] .lineage-card-art {opacity:.85}
  :root[data-palette=copperplate] .lineage-directory-grid[data-lineage-layout=list] .lineage-directory-card::after {display:none}

  /* Reading and tools share tokens; source/status/chart encodings stay native. */
  :root[data-palette=copperplate] :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:3px}
  :root[data-palette=copperplate] :is(.bc-card,.research-card,.rh-task,.rn-card,.finder-person,.tree-profile-panel) {background-color:var(--surface)}
  :root[data-palette=copperplate] :is(.bc-rail-heading,.research-sidebar-title,.rh-sidebar-heading,.tree-profile-caption) {color:var(--accent)}
  :root[data-palette=copperplate] .person-node {border-radius:4px}
  :root[data-palette=copperplate] .j2-desk {border:1px solid var(--cp-copper);border-radius:4px}
  :root[data-palette=copperplate] .j2-panel {border-radius:3px}
  :root[data-palette=copperplate] .story-library-resume {
    background:var(--surface-soft) url('copperplate/library-still-life.webp') right center/auto 92% no-repeat;
    border:1px solid var(--cp-copper);border-radius:4px;
  }
  :root[data-palette=copperplate] .story-library-resume>* {position:relative;background-color:var(--surface-soft);box-shadow:10px 0 0 var(--surface-soft)}
  :root[data-palette=copperplate] :is(.family-album-empty,.story-library-empty,.lineage-directory-empty,.rh-empty,.research-empty,.finder-empty)::before {
    content:'';display:block;width:min(270px,100%);height:145px;margin:0 auto 14px;
    background:url('copperplate/library-still-life.webp') center/contain no-repeat;pointer-events:none;
  }
  :root[data-palette=copperplate] :is(.rh-empty,.research-empty,.finder-empty)::before {background-image:url('copperplate/research-still-life.webp')}
  :root[data-palette=copperplate] .lineage-directory-empty::before {background-image:url('copperplate/oak-emblem.webp')}

  /* Miniatures preview the theme before it is selected. */
  #member-settings [data-palette-preview=copperplate] {border-color:var(--cp-copper);background:var(--paper)}
  #member-settings [data-palette-preview=copperplate] .palette-preview-nav {background:#0d1010}
  #member-settings.settings-dialog [data-palette-preview=copperplate] .palette-preview-page {background:url('copperplate/estate-preview.webp') right center/cover no-repeat}
  #member-settings.settings-dialog [data-palette-preview=copperplate] :is(.palette-preview-heading,.palette-preview-lines) {background-color:var(--paper)}
  #member-settings [data-palette-preview=copperplate] .palette-preview-cards i {border-color:var(--cp-copper);border-radius:0}
  :root[data-palette=copperplate] #member-settings {border:1px solid var(--control-border);border-radius:6px;box-shadow:0 24px 100px #0008}
  :root[data-palette=copperplate] #member-settings :is(.settings-header,.settings-nav,.settings-footer) {background:var(--surface-soft)}
  :root[data-palette=copperplate] #member-settings .settings-preview-sidebar {background:#0d1010;color:#c9b89c}
  :root[data-palette=copperplate] #member-settings .settings-preview-sidebar strong {color:#f3e6cd}
  :root[data-palette=copperplate] #member-settings .settings-preview-branches>div {background:var(--surface-soft);border-color:var(--cp-copper);border-radius:0}
  :root[data-palette=copperplate] #member-settings .settings-preview-art {background-image:url('copperplate/motif-tree.webp')}
  :root[data-palette=copperplate] #member-settings .settings-preview-ship {background-image:url('copperplate/motif-ship.webp')}

  /* Public/account routes and native sign-in receive matching local materials. */
  :root[data-palette=copperplate] .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:#3d171d;--marketing-on-green:#f3e6cd;color-scheme:inherit;
  }
  :root[data-palette=copperplate] :is(.marketing-header,.marketing-footer) {background:transparent;border-color:var(--cp-copper)}
  :root[data-palette=copperplate] .marketing-brand-mark {border-color:var(--control-border)}
  :root[data-palette=copperplate] .marketing-keepsake {background:var(--surface-soft);color:var(--ink);border-color:var(--cp-copper)}
  :root[data-palette=copperplate] .marketing-hero-visual {background:url('copperplate/harbor-engraving.webp') center/cover no-repeat;border-radius:4px;padding:12px}
  :root[data-palette=copperplate] 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=copperplate] .login #login {border:1px solid var(--cp-copper);border-radius:5px}
  :root[data-palette=copperplate] .login #login h1::before {content:'';display:block;width:64px;height:72px;margin:0 auto 14px;background:url('copperplate/oak-emblem-ui.webp') center/contain no-repeat;pointer-events:none}
  :root[data-palette=copperplate] .login #wp-submit {background:linear-gradient(#721a2a,#491019);color:#fff0d5;border-color:var(--cp-copper)}

  @media(min-width:1450px) { :root[data-palette=copperplate] .home-lineages {grid-template-columns:repeat(4,minmax(0,1fr))} }
  @media(max-width:1250px) { :root[data-palette=copperplate] .home-lineages {grid-template-columns:repeat(2,minmax(0,1fr))} }
  @media(max-width:1100px) {
    :root[data-palette=copperplate] .home-hub {grid-template-columns:minmax(0,1fr);gap:20px}
    :root[data-palette=copperplate] .home-intro {grid-column:1;grid-row:1}
    :root[data-palette=copperplate] .home-search-deck {grid-column:1;grid-row:2}
    :root[data-palette=copperplate] .home-hub::before {grid-column:1;grid-row:3;min-height:280px}
    :root[data-palette=copperplate] .home-hub::after {grid-column:1;grid-row:3;height:130px}
    :root[data-palette=copperplate] .home-hub .home-work {grid-column:1;grid-row:4}
    :root[data-palette=copperplate][data-theme] .home-hub .home-start-grid>.family-album-home {grid-column:1;grid-row:5}
    :root[data-palette=copperplate] .home-section {grid-row:6}
    :root[data-palette=copperplate] .home-hub-footer {grid-row:7}
  }
  @media(max-width:800px) { :root[data-palette=copperplate] body.fa-sidebar-layout header.archive-sidebar {border-right:0;border-bottom:1px solid #b66a40} }
  @media(max-width:600px) {
    :root[data-palette=copperplate] .home-intro h1 {font-size:42px}
    :root[data-palette=copperplate] .home-hub::before {min-height:215px}
    :root[data-palette=copperplate] .home-hub::after {width:42%;height:105px;margin:5px}
    :root[data-palette=copperplate] .home-lineages {grid-template-columns:minmax(0,1fr)}
    :root[data-palette=copperplate] .home-section-heading {flex-wrap:wrap;gap:8px}
    :root[data-palette=copperplate] .story-library-resume {background-size:auto 65%}
  }
  :root[data-palette=copperplate][data-contrast=high] body,
  :root[data-palette=copperplate][data-contrast=high] :is(.story-library-resume,.home-section-heading,.marketing-hero-visual) {background-image:none}
  :root[data-palette=copperplate][data-contrast=high] .home-hub {display:block}
  :root[data-palette=copperplate][data-contrast=high] :is(.home-hub,.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=copperplate][data-contrast=high] :is(.home-hub,.home-lineage,.lineage-directory-card)::after {display:none}
  :root[data-palette=copperplate][data-contrast=high] .home-start-grid {display:grid}
  @media(forced-colors:active) {
    :root[data-palette=copperplate] body,:root[data-palette=copperplate] :is(.story-library-resume,.home-section-heading,.marketing-hero-visual) {background-image:none}
    :root[data-palette=copperplate] .home-hub {display:block}
    :root[data-palette=copperplate] :is(.home-hub,.family-album-empty,.story-library-empty,.lineage-directory-empty,.rh-empty,.research-empty,.finder-empty,.login h1)::before,
    :root[data-palette=copperplate] :is(.home-hub,.home-lineage,.lineage-directory-card)::after {display:none}
    :root[data-palette=copperplate] .home-start-grid {display:grid}
  }
}
