/* Shared colour palette: warm paper by day, soft cocoa by night.
 * This layer changes presentation only; layout and typography stay shared.
 */
html:root {
    color-scheme: light;
    scrollbar-color: #ae9880 #f7f0e5;
    --bg-color: #f7f0e5;
    --text-color: #43382e;
    --secondary-text: #6f6054;
    --link-color: #875038;
    --link-hover: #673c2a;
    --border-color: #d8c8b6;
    --tag-bg: #eee3d4;
    --section-rule: rgba(110, 83, 58, 0.20);
    --surface-wash: rgba(252, 247, 239, 0.94);
    --surface-wash-strong: rgba(238, 227, 212, 0.96);
    --solid-surface: #fcf7ef;
    --control-border: #9c836b;
    --accent-rgb: 135, 80, 56;
    --soft-shadow: rgba(77, 53, 33, 0.10);
    --overlay-color: rgba(53, 39, 28, 0.42);

    --pattern-tile-a-rgb: 177, 139, 99;
    --pattern-tile-b-rgb: 164, 142, 110;
    --pattern-line-rgb: 143, 113, 82;
    --pattern-glow-rgb: 187, 141, 94;
    --pattern-layer-opacity: 0.78;
    --pattern-fill-a-alpha: 0.052;
    --pattern-fill-b-alpha: 0.038;
    --pattern-line-alpha: 0.14;
    --pattern-glow-line-alpha: 0.28;
    --pattern-glow-fill-strength: 0.35;
    --pattern-glow-radius: 190;

    --orbit-panel-bg: rgba(252, 247, 239, 0.99);
    --orbit-panel-soft: rgba(238, 227, 212, 0.97);
    --orbit-panel-border: rgba(135, 80, 56, 0.23);
    --orbit-panel-shadow: rgba(77, 53, 33, 0.15);
}

html:has(body.dark-mode) {
    color-scheme: dark;
    scrollbar-color: #8a745e #1d1916;
}

body.dark-mode {
    color-scheme: dark;
    --bg-color: #1d1916;
    --text-color: #eee1cf;
    --secondary-text: #c5b39d;
    --link-color: #d5a77f;
    --link-hover: #efc5a1;
    --border-color: #514436;
    --tag-bg: #2d251f;
    --section-rule: rgba(204, 174, 138, 0.19);
    --surface-wash: rgba(39, 33, 27, 0.95);
    --surface-wash-strong: rgba(54, 43, 34, 0.97);
    --solid-surface: #28211c;
    --control-border: #9d856d;
    --accent-rgb: 213, 167, 127;
    --soft-shadow: rgba(12, 8, 5, 0.21);
    --overlay-color: rgba(17, 12, 8, 0.65);

    --pattern-tile-a-rgb: 163, 126, 90;
    --pattern-tile-b-rgb: 143, 127, 98;
    --pattern-line-rgb: 177, 147, 111;
    --pattern-glow-rgb: 211, 162, 112;
    --pattern-layer-opacity: 0.72;
    --pattern-fill-a-alpha: 0.04;
    --pattern-fill-b-alpha: 0.032;
    --pattern-line-alpha: 0.11;
    --pattern-glow-line-alpha: 0.36;
    --pattern-glow-fill-strength: 0.45;
    --pattern-glow-radius: 180;

    --orbit-panel-bg: rgba(40, 33, 28, 0.99);
    --orbit-panel-soft: rgba(54, 43, 34, 0.97);
    --orbit-panel-border: rgba(213, 167, 127, 0.26);
    --orbit-panel-shadow: rgba(12, 8, 5, 0.28);
}

body.dark-mode .main-content {
    text-shadow: none;
}

body.dark-mode .arxiv-tab img {
    filter: brightness(0) invert(0.9) sepia(0.3);
}

/* Replace the older blue borders, glass gradients and cool shadows. */
body :is(.abstract-toggle, .bibtex-toggle, .arxiv-tab, .human-checkbox-label, .cv-download-link, .erdos-btn),
body.dark-mode :is(.abstract-toggle, .bibtex-toggle, .arxiv-tab, .human-checkbox-label, .cv-download-link, .erdos-btn) {
    background: var(--surface-wash);
    border-color: var(--border-color);
    box-shadow: none;
}

body :is(.abstract-toggle, .bibtex-toggle, .arxiv-tab, .human-checkbox-label, .cv-download-link, .erdos-btn):hover,
body.dark-mode :is(.abstract-toggle, .bibtex-toggle, .arxiv-tab, .human-checkbox-label, .cv-download-link, .erdos-btn):hover {
    background: var(--surface-wash-strong);
    border-color: rgba(var(--accent-rgb), 0.48);
    box-shadow: none;
}

body :is(.abstract-toggle, .bibtex-toggle, .arxiv-tab, .human-checkbox-label, .cv-download-link, .erdos-btn):focus-visible,
body.dark-mode :is(.abstract-toggle, .bibtex-toggle, .arxiv-tab, .human-checkbox-label, .cv-download-link, .erdos-btn):focus-visible {
    border-color: var(--link-color);
    outline: 2px solid var(--link-color);
    outline-offset: 3px;
    box-shadow: none;
}

body .copy-btn,
body.dark-mode .copy-btn {
    background: var(--link-color);
    color: var(--bg-color);
}

body :is(.erdos-modal-content, .bibtex-modal-content),
body.dark-mode :is(.erdos-modal-content, .bibtex-modal-content) {
    background: var(--solid-surface);
    box-shadow: 0 16px 42px var(--soft-shadow);
}

body :is(.erdos-modal, .bibtex-modal, .name-orbit-scrim),
body.dark-mode .name-orbit-scrim {
    background: var(--overlay-color);
}

body .teaching-hero figure {
    box-shadow: 0 14px 34px var(--soft-shadow);
}

body .mobile-sticky-nav {
    box-shadow: 0 6px 18px var(--soft-shadow);
}

body :is(.copyright, .entry-meta) {
    opacity: 1;
}

body input[type="checkbox"] {
    accent-color: var(--link-color);
}

body #page-ai-math :is(input, select) {
    background: var(--solid-surface);
    border-color: var(--control-border);
}

@media print {
    body,
    body.dark-mode {
        color-scheme: light;
        --bg-color: #fff;
        --text-color: #30271f;
        --secondary-text: #5e5145;
        --link-color: #673c2a;
        --link-hover: #673c2a;
        --border-color: #c7b6a2;
        --tag-bg: #f3ece2;
        --section-rule: #c7b6a2;
        --surface-wash: #fff;
        --surface-wash-strong: #f3ece2;
        --solid-surface: #fff;
    }
}
