/* Shared colors for every page, control and dynamically opened photo album. */
:root {
  color-scheme: light;
  --paper: #fbfaf6;
  --ink: #233d32;
  --muted: #5d685d;
  --accent: #345b46;
  --clay: #a44f31;
  --line: #d1d9cd;
  --surface: #eef0e7;
  --surface-card: #fffef9;
  --surface-green: #e7eddf;
  --surface-warm: #f0e7db;
  --surface-cool: #e8ecec;
  --nav-text: #4f6053;
  --nav-hover-bg: #edf0e8;
  --field-bg: #fffefa;
  --control-border: #7a8975;
  --control-hover-border: #60785e;
  --button-bg: #345b46;
  --button-hover: #244333;
  --on-button: #ffffff;
  --badge-bg: #f1e4ce;
  --badge-text: #765627;
  --link-rule: #859d79;
  --selection-bg: #d7e1cb;
  --selection-text: #233d32;
  --stage-bg: #e9eddf;
  --dialog-backdrop: rgba(15, 28, 21, .84);
  --card-shadow: #233d320c;
  --art-paper: transparent;
  --disabled-text: #677464;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --paper: #15211c;
  --ink: #eef1e8;
  --muted: #b6c3b8;
  --accent: #a9cdb4;
  --clay: #edb28b;
  --line: #405447;
  --surface: #23372d;
  --surface-card: #1d2e25;
  --surface-green: #2b4435;
  --surface-warm: #3a3027;
  --surface-cool: #26383b;
  --nav-text: #becdc1;
  --nav-hover-bg: #2c4335;
  --field-bg: #19291f;
  --control-border: #788e7e;
  --control-hover-border: #b4cbb7;
  --button-bg: #a9cdb4;
  --button-hover: #c3deca;
  --on-button: #17291e;
  --badge-bg: #493c29;
  --badge-text: #f3d4a0;
  --link-rule: #7e9d82;
  --selection-bg: #48684e;
  --selection-text: #fffdf5;
  --stage-bg: #0d1712;
  --dialog-backdrop: rgba(3, 10, 6, .91);
  --card-shadow: #00000038;
  --art-paper: #fbfaf6;
  --disabled-text: #9eada1;
}
/* OS preference still works with JavaScript disabled. Explicit choices take precedence. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    color-scheme: dark;
    --paper: #15211c;
    --ink: #eef1e8;
    --muted: #b6c3b8;
    --accent: #a9cdb4;
    --clay: #edb28b;
    --line: #405447;
    --surface: #23372d;
    --surface-card: #1d2e25;
    --surface-green: #2b4435;
    --surface-warm: #3a3027;
    --surface-cool: #26383b;
    --nav-text: #becdc1;
    --nav-hover-bg: #2c4335;
    --field-bg: #19291f;
    --control-border: #788e7e;
    --control-hover-border: #b4cbb7;
    --button-bg: #a9cdb4;
    --button-hover: #c3deca;
    --on-button: #17291e;
    --badge-bg: #493c29;
    --badge-text: #f3d4a0;
    --link-rule: #7e9d82;
    --selection-bg: #48684e;
    --selection-text: #fffdf5;
    --stage-bg: #0d1712;
    --dialog-backdrop: rgba(3, 10, 6, .91);
    --card-shadow: #00000038;
    --art-paper: #fbfaf6;
    --disabled-text: #9eada1;
  }
}
.site-header { gap: 16px; }
.site-nav { margin-left: auto; }
.theme-toggle { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 8px; border: 1px solid var(--control-border); border-radius: 50%; background: var(--field-bg); color: var(--ink); cursor: pointer; }
.theme-toggle[hidden] { display: none; }
.theme-toggle:hover { border-color: var(--control-hover-border); background: var(--nav-hover-bg); }
.theme-toggle svg { width: 18px; height: 18px; }
.theme-icon--sun, :root[data-theme="dark"] .theme-icon--moon { display: none; }
:root[data-theme="dark"] .theme-icon--sun { display: block; }
input, select, button { accent-color: var(--accent); }
select option { color: var(--ink); background: var(--field-bg); }
input::placeholder { color: var(--muted); opacity: 1; }
.photo-stage { background: var(--stage-bg); }
.photo-dialog { border: 1px solid var(--line); box-shadow: 0 18px 80px #00000055; }
.photo-dialog-close:hover, .photo-dialog-controls button:not(:disabled):hover { color: var(--ink); background: var(--nav-hover-bg); border-color: var(--control-hover-border); }
.photo-thumbs button[aria-pressed="true"] { border-color: var(--clay); background: var(--surface); }
.photo-thumbs button:hover { border-color: var(--control-hover-border); }
.photo-dialog-controls button:disabled, .park-pagination button:disabled { opacity: 1; color: var(--disabled-text); background: var(--surface); border-color: var(--line); cursor: not-allowed; }
.park-field input:hover, .park-field select:hover, .research-field input:hover, .research-field select:hover { border-color: var(--control-hover-border); }
.park-pagination button:not(:disabled):hover, .research-controls button:hover, .research-empty button:hover { background: var(--nav-hover-bg); border-color: var(--control-hover-border); }
.publication-art { background: var(--art-paper); border-radius: 12px; }
.redirect-note { padding-block: 40px; font-size: 16px; line-height: 1.8; }
@media (max-width: 800px) {
  .site-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 15px 12px; }
  .wordmark { min-width: 0; grid-column: 1; }
  .site-nav { min-width: 0; grid-column: 1 / -1; margin-left: 0; }
  .theme-toggle { grid-column: 2; grid-row: 1; align-self: center; }
}
@media (max-width: 370px) {
  .wordmark { font-size: 17px; letter-spacing: -.5px; gap: 8px; }
  .wordmark img { width: 27px; height: 27px; }
  .wordmark > span { margin-left: -7px; }
}
