:root {
    --site-bg: #3c3030;
    --site-bg-alt: #2d2425;
    --site-bg-image:
        radial-gradient(ellipse 760px 420px at 18% -110px, rgba(96, 132, 126, 0.28), transparent 68%),
        radial-gradient(ellipse 520px 320px at 86% 112%, rgba(153, 50, 51, 0.18), transparent 70%);
    --site-bg-attachment: fixed;

    --panel-bg: #d0b19f;
    --panel-bg-alt: #c49f8c;

    --text-main: #4d2727;
    --text-muted: #715c59;
    --heading-color: #912d32;
    --page-title-color: #f4eee9;
    --panel-header-color: #f3eee8;
    --selection-bg: #668b85;
    --selection-text: #fff7ee;

    --accent: #a93436;
    --accent-secondary: #668b85;

    --border-color: #6a342f;
    --border-light: #9a5146;
    --border-dim: rgba(106, 52, 47, 0.36);
    --double-border-color: #6a342f;

    --link-color: #8f2e34;
    --link-hover: #5d807b;
    --nav-link-color: #f2e7df;
    --nav-link-hover: #ffffff;
    --nav-link-bg-hover: rgba(169, 52, 54, 0.22);

    --focus-ring: rgba(102, 139, 133, 0.34);
    --pagination-active-text: #fff7ee;

    --header-stars: 0;

    --panel-border-radius: 0;
    --panel-shadow: 0 10px 24px rgba(31, 22, 22, 0.24);
}

.panel {
    background: var(--panel-bg);
    border: 1px solid var(--border-color);
    outline: 1px solid rgba(246, 230, 218, 0.28);
    outline-offset: -5px;
    box-shadow: var(--panel-shadow);
}

.panel-header {
    border-bottom: 1px solid var(--border-color);
    background: #5a3c38;
    color: var(--panel-header-color);
}

.panel-header .ph-line {
    border-top: 1px dotted rgba(243, 238, 232, 0.46);
    height: 1px;
}

.site-header .banner {
    border: 1px solid var(--border-light);
    outline: 1px solid rgba(208, 177, 159, 0.28);
    outline-offset: 3px;
    background:
        linear-gradient(90deg, rgba(102, 139, 133, 0.94) 0 36%, transparent 36%),
        linear-gradient(180deg, #5a3c38, #4a3332 42%, #3c3030);
}

.site-header .banner--art {
    border-color: var(--border-light);
    box-shadow: inset 0 0 0 1px rgba(246, 230, 218, 0.24), var(--panel-shadow);
}

.site-header .banner::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 18% 48%, rgba(255, 243, 229, 0.24) 0 2px, transparent 3px),
        radial-gradient(circle at 74% 38%, rgba(169, 52, 54, 0.22) 0 2px, transparent 3px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent);
}

.site-footer {
    border: 1px solid var(--border-dim);
    background:
        linear-gradient(90deg, rgba(102, 139, 133, 0.16), transparent, rgba(169, 52, 54, 0.12)),
        var(--panel-bg);
}

.profile-avatar {
    border-color: var(--border-color);
    background: #5f837d;
}

.profile-avatar--fallback {
    color: #fff7ee;
    background: #5f837d;
}

a { transition: color 0.15s ease; }
.tag-pill { border-radius: 0; }
.thumb-card { transition: border-color 0.15s ease; }
.deco-diamond::before { content: "◆"; font-size: 0.6em; color: var(--accent-secondary); }
.deco-star::before { content: "✦"; color: var(--accent); }
.deco-moon::before { content: "◆"; color: var(--accent); }
.text-muted-oldweb { color: var(--text-muted); }
