:root {
    --bg: #f7f5ef;
    --surface: #fff;
    --ink: #20392f;
    --muted: #5c675f;
    --line: #dce0d5;
    --accent: #bb4d2a;
    --soft: #edf0e6;
    --button: #254a3a;
    --button-ink: #fff;
    --shadow: 0 18px 42px #253b3010;
    --blue-dark: #20392f;
    --blue: #345744;
    --blue-light: #6b856d;
    --blue-pale: #dce5d2;
    --bg-card: #fff;
    --text: #20392f;
    --text-light: #5c675f;
    color-scheme: light;
}
body { background: var(--bg); color: var(--ink); }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
.gallery-header { background: var(--surface); border-bottom-color: var(--line); }
.gallery-header a, .gallery-tabs a { color: var(--button); }
.gallery-header span, .gallery-description, .gallery-empty p { color: var(--muted); }
.gallery-tabs a { background: var(--surface); border-color: var(--line); }
.gallery-tabs a[aria-current='page'] { background: var(--button); border-color: var(--button); color: #fff; }
.gallery-main h1, .gallery-empty h2 { color: var(--ink); }
.gallery-card { background: var(--surface); color: var(--ink); box-shadow: 0 3px 15px #254a3a12; }
.gallery-card:hover { box-shadow: 0 7px 22px #254a3a24; }
.gallery-empty { background: #ffffffaa; border-color: #a6b5a2; }
.gallery-card:focus-visible, .gallery-tabs a:focus-visible, .gallery-header a:focus-visible { outline-color: var(--accent); }
.topbar { background: #ffffffb3; border-bottom-color: var(--line); }
.info-card { background: var(--surface); border-color: var(--line); box-shadow: var(--shadow); }
.info-card .tag { background: var(--soft); color: var(--button); }
.hero-image { background: linear-gradient(135deg, #dce5d2, #345744); }
body:not(.home) .site-footer { background: var(--button); }
@media (prefers-reduced-motion: reduce) { .topbar a { transition: none; } }
