/* Shared gallery materials. light-dark() follows the native color scheme even
   without JavaScript. Only theme-bootstrap.js selects an explicit appearance.
   Dark values retain the existing gallery; light colors are opaque where text rests. */
:root {
  color-scheme: light dark;
  --wall: light-dark(#f6f5f1, #202122);
  --wall-text: light-dark(#303532, #eee8dd);
  --wall-muted: light-dark(#656962, #bfb9af);
  --surface: light-dark(#fffefa, #292a2c);
  --surface-raised: light-dark(#fffefa, #343536);
  --surface-field: light-dark(#fffefa, #222325);
  --limestone-accent: light-dark(#7b653d, #c7b48b);
  --stone: light-dark(#656962, #c7beb0);
  --daylight: light-dark(#466579, #b6cbd9);
  --focus: light-dark(#3e6579, #d7bd83);
  --snow: light-dark(#f6f5f1, #252628);
  --accent-strong: light-dark(#303532, #e3dacc);
  --mist: light-dark(#e8e9e3, #393a3b);
  --edge-pigment: light-dark(#71756f, #d6d1bf);
  --timeline-gold: light-dark(#7b653d, #c7ad78);
  --shadow-pigment: light-dark(#55584f, #000000);
  --highlight-pigment: light-dark(#ffffff, #ffffff);
  --plaster-pigment: light-dark(#656962, #c7bcb1);
  --control-accent: light-dark(#655638, #d8cebc);
  --limestone-pigment: light-dark(#7b6b51, #d8c8a8);
  --primary-fill: light-dark(#303532, #e4dece);
  --warm-highlight: light-dark(#fffefa, #fff5da);
  --field-border: light-dark(#7d8675, #77736c);
  --error: light-dark(#8d3d2e, #ecc3ad);
  --dock-accent: light-dark(#756445, #c1b18a);
  --primary-text: light-dark(#fffefa, #242527);
  --form-error: light-dark(#8d3d2e, #edb4a7);
  --label: light-dark(#656962, #c7c1b7);
  --plaster-emphasis: light-dark(#494f48, #e0d5c5);
  --panel-light: light-dark(#d5c9ad, #bbaa87);
  --scrollbar: light-dark(#656962, #a49e92);
  --inset-surface: light-dark(#eeeee8, #202123);
  --primary-border: light-dark(#303532, #f1e8d5);
  --porcelain-highlight: light-dark(#fffefa, #fff5e5);
  --axis-pigment: light-dark(#756445, #cdb98a);
  --connector-pigment: light-dark(#756445, #c4af80);
  --warm-light: light-dark(#fffdf5, #e2c89e);
  --primary-hover: light-dark(#454b45, #f3eddf);
  --timeline-edge: light-dark(#71756f, #ddd3ba);
  --overlay-surface: light-dark(#fffefa, #2c2d2f);
  --editor-surface: light-dark(#fffefa, #323335);
  --selected-surface: light-dark(#e4e7de, #464440);
  --dialog-text: light-dark(#303532, #eee9dd);
  --axis-highlight: light-dark(#7b653d, #d8bd8e);
  --tree-limestone: light-dark(#7b6b51, #b2a48a);
  --tree-blue: light-dark(#466579, #8faabd);
  --map-active-pigment: light-dark(#466579, #cfba83);
  --map-active-text: light-dark(#35566a, #ead2a0);
  --step-active-text: light-dark(#65502b, #e8d4ac);
  --heading-accent: light-dark(#7b653d, #d7c49f);
  --sample-text: light-dark(#303532, #30302f);
  --sample-top: light-dark(#f2ead8, #eee8dc);
  --sample-bottom: light-dark(#f2ead8, #d6cfc1);
  --sample-glow: light-dark(#ffffff, #e4d5b9);
  --sample-muted: light-dark(#656962, #5d5951);
  --sample-icon: light-dark(#7b653d, #70634b);
  --dialog-shade: light-dark(#f6f5f1, #222426);
  --fallback-text: light-dark(#303532, #efe9dc);
  --text-hover: light-dark(#303532, #ede5d6);
  --field-text: light-dark(#303532, #eeeadd);
  --wall-start: light-dark(#f6f5f1, #1c1d1f);
  --wall-middle: light-dark(#f9f8f4, #282827);
  --wall-end: light-dark(#f1f3f2, #202224);
  --neutral-pigment: light-dark(#656962, #d9ddd3);
  --wedding-dot: light-dark(#7b653d, #cbb17c);
  --event-dot: light-dark(#71614c, #c0ad96);
  --notice-text: light-dark(#303532, #fff4dc);
  --composer-surface: light-dark(#fffefa, #363739);
  --placeholder: light-dark(#656962, #c4bfb7);
  --send-fill: light-dark(#303532, #eeeade);
  --send-hover: light-dark(#454b45, #fffdf5);
  --disabled-text: light-dark(#656962, #bcb7af);
  --legacy-error: light-dark(#8d3d2e, #963f36);
  --soft-shadow: light-dark(#55584f, #302b20);
  --branch-line: light-dark(#7d775e, #c5b58e);
  --caption: light-dark(#656962, #aaa99b);
  --review-reason: light-dark(#7b653d, #d5c4a4);
  --privacy-text: light-dark(#303532, #f6f1e6);
  --navigation-hover: light-dark(#554427, #ffefc8);
  --axis-glow: light-dark(#d5c9ad, #eed09d);
  --axis-text: light-dark(#656962, #d1cbb8);
  --tick-pigment: light-dark(#756445, #cbb78b);
  --interval-text: light-dark(#656962, #b9b6a4);
  --dock-highlight: light-dark(#fffefa, #eee0b9);
  --dock-hover: light-dark(#656962, #ddd1a9);
  --dock-selected-text: light-dark(#554427, #f3dfae);
  --scale-text: light-dark(#656962, #c1bca9);
  --tree-highlight: light-dark(#fffefa, #fff1d2);
  --relationship-icon: light-dark(#7b653d, #d1b984);
  --blue-emphasis: light-dark(#466579, #bfd1de);
  --overlay-hover: light-dark(#e8e9e3, #3b3c3e);
  --home-record-accent: light-dark(#7b653d, #d9bd7b);
  --depth-child: light-dark(#f0ece3, #d8c8a813);
  --depth-grandchild: light-dark(#f0f1ed, #c7bcb116);
  --depth-great-grandchild: light-dark(#e9f0f3, #b6cbd916);
  --depth-home: light-dark(#f2ead8, #c7ad781c);
  --depth-home-record: light-dark(#f2ead8, #c7ad781a);
  --depth-child-edge: light-dark(#d5cec0, #d8c8a837);
  --depth-grandchild-edge: light-dark(#d7d9d1, #c7bcb136);
  --depth-great-grandchild-edge: light-dark(#cbd8de, #b6cbd936);
  --depth-home-edge: light-dark(#b4a47f, #c7ad784f);
  --depth-home-record-edge: light-dark(#b4a47f, #c7ad7848);
  --tree-field: light-dark(#fffefa, #17191b4d);
  --chart-bar: light-dark(#7d8675, #c7bcb199);
  --map-empty: light-dark(#e2e5df, #c7beb01a);
  --map-populated: light-dark(#a7bbc5, #c7bcb132);
  --map-selected: light-dark(#819dab, #cfba8361);
  --map-outline: light-dark(#3e6579, #e1c88d88);
  --map-edge: light-dark(#7d8675, #c7bcb127);
  --map-count: light-dark(#656962, #c7bcb1a6);
  --scrim: light-dark(#30353266, #141516b8);
  --scrim-map: light-dark(#30353266, #141516bd);
  --scrim-export: light-dark(#30353266, #141516a8);
  --scrim-digest: light-dark(#30353266, #141516ad);
  --hover-wash: light-dark(#3035320b, #ffffff0b);
  --quiet-wash: light-dark(#30353208, #ffffff08);
  --chat-question-fill: light-dark(#e9ece5, #ffffff10);
  --disabled-fill: light-dark(#e3e5df, #ffffff12);
  --hover-strong: light-dark(#30353214, #ffffff14);
  --source-fill: light-dark(#3035320a, #ffffff0a);
  --field-wash: light-dark(#fffefa, #ffffff05);
  --review-hover: light-dark(#30353206, #ffffff06);
  --relationship-fill: light-dark(#fffefa, #ffffff03);
  --review-pill-hover: light-dark(#30353211, #fff1);
  --review-highlight: light-dark(#ffffff80, #ffffff04);
  --wall-warm-wash: light-dark(#fffefacc, #e2c89e17);
  --wall-cool-wash: light-dark(#dae5eb55, #c6d8e510);
  --digest-field-edge: light-dark(#7d8675, #c7beb033);
  --tree-field-edge: light-dark(#7d8675, #c7beb03d);
  --control-edge: light-dark(#7d8675, #c7beb040);
  --scrollbar-thumb: light-dark(#7d8675, #a49e9290);
  --composer-focus: light-dark(#3e6579, #d8cebc73);
  --paper: var(--surface);
  --ink: var(--wall-text);
  --muted: var(--wall-muted);
  --accent: var(--stone);
  --line: color-mix(in srgb, var(--edge-pigment) 14.90196%, transparent);
  --shadow: 0 6px 24px color-mix(in srgb, var(--shadow-pigment) 9.41176%, transparent);
  --timeline-stone: var(--stone);
  --gallery-line: color-mix(in srgb, var(--stone) 20.78431%, transparent);
  --gallery-paper: var(--surface);
  --gallery-mat: color-mix(in srgb, var(--stone) 3.92157%, transparent);
  --gallery-accent: var(--stone);
  --gallery-ring: var(--focus);
  --gallery-badge: color-mix(in srgb, var(--stone) 7.05882%, transparent);
  --gallery-shadow: 0 14px 40px color-mix(in srgb, var(--shadow-pigment) 12.54902%, transparent), inset 0 1px var(--surface-highlight);
  --tree-home-fill: linear-gradient(135deg, light-dark(#f2ead8, #ad915128), light-dark(#f2ead8, #91754018));
  --tree-child-fill: linear-gradient(135deg, light-dark(#f0ece3, #b2a48a24), light-dark(#f0ece3, #96867115));
  --tree-grandchild-fill: linear-gradient(135deg, light-dark(#f0f1ed, #c7bcb124), light-dark(#f0f1ed, #9b918515));
  --tree-great-grandchild-fill: linear-gradient(135deg, light-dark(#e9f0f3, #8faabd24), light-dark(#e9f0f3, #69849915));
  --overview-fill: linear-gradient(145deg, light-dark(#fffefa, #d8c8a813), light-dark(#fffefa, #d8c8a808));
  --geography-fill: linear-gradient(155deg, light-dark(#f0f1ed, #c7bcb110), light-dark(#f0f1ed, #c7bcb106));
  --catalogue-fill: linear-gradient(145deg,light-dark(#fffefa, #c7beb010),light-dark(#fffefa, #c7beb006));
  --sample-card-fill: linear-gradient(130deg,light-dark(#f0ece3, #e4dece10),light-dark(#f0ece3, #e4dece05));
  --sample-blue-fill: linear-gradient(140deg,light-dark(#e9f0f3, #b6cbd919),light-dark(#e9f0f3, #b6cbd908));
  --sample-event-fill: linear-gradient(125deg,light-dark(#f2ead8, #c7ad7812),light-dark(#f2ead8, #c7ad7805));
  --badge-surface: light-dark(#fffefa66, #d8c8a814);
  --brand-filter: none;
  --success: light-dark(#3e6647, #b8cdb4);
  --success-surface: light-dark(#e9f0e5, #b8cdb412);
  --field-edge: light-dark(#7d8675, #d6d1bf26);
  --selection-edge: light-dark(#655638, #c7beb073);
  --surface-highlight: light-dark(#ffffffb3, #ffffff08);
  --functional-edge: light-dark(#7d8675, #c7beb073);
  --decorative-edge: light-dark(#dcded6, #d6d1bf26);
  --on-accent: light-dark(#fffefa, #242527);
}
:root[data-theme="light"] { color-scheme: light; }
:root[data-theme="dark"] { color-scheme: dark; }
:root[data-theme="light"] { --brand-filter: brightness(.47) sepia(.25); }
@media (prefers-color-scheme: light) {
  :root:not([data-theme]) { --brand-filter: brightness(.47) sepia(.25); }
}
