/* Site-wide light overlay. Dark tokens remain in styles.css; this file wins in cascade. */
body {
    --paper: #f6f3f0;
    --ink: #1c1414;
    --muted: #5e4f4f;
    --link: #9b1c2c;
    --link-hover: #6e1018;
    --line: #e4d6d2;
    --header: #fffdfb;
    --card: #ffffff;
    --mark: #ffe08a;
    --wash: #fff8f6;
    color-scheme: light;
    background-color: var(--paper);
    color: var(--ink);
    font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
    word-spacing: normal;
}

a {
    color: var(--link);
}

a:hover {
    color: var(--link-hover);
}

h1,
.main-heading {
    color: var(--ink);
}

header[role="banner"],
#timestamp,
#nav-container,
#search-container {
    background-color: var(--header);
    color: var(--muted);
}

header[role="banner"],
#nav-container {
    border-bottom: 1px solid var(--line);
}

#timestamp,
#timestamp span {
    color: var(--muted) !important;
}

#copyright-symbol {
    color: var(--link) !important;
}

#user-icon {
    color: #fff;
    background-color: var(--link);
}

#user-icon:hover {
    background-color: var(--link-hover);
}

#nav-container a {
    color: var(--ink);
    font-size: 13px;
}

#nav-container a:hover {
    color: var(--link);
}

#nav-container .nav-pipe {
    color: var(--muted);
    font-size: 13px;
    margin: 0 0.7em;
}

#search-input {
    background-color: var(--card);
    color: var(--ink);
    border-color: #c9b4b0;
    font-family: inherit;
    font-size: 15px;
}

#search-input:focus {
    border-color: var(--link);
    box-shadow: 0 0 0 3px rgba(155, 28, 44, 0.18);
}

#search-input::placeholder {
    color: #8a7a7a;
    opacity: 1;
}

#search-clear {
    color: var(--muted);
}

#search-clear:hover,
#search-clear:focus {
    color: var(--ink);
    background: var(--line);
}

.search-results,
.search-results-header {
    background-color: var(--paper);
}

.search-results-header h2,
.search-results-header .close-button {
    color: var(--link);
}

.search-query-display {
    color: var(--muted);
}

.search-result-item {
    background-color: var(--card);
    border-color: var(--line);
}

.search-result-item:hover {
    background-color: var(--wash);
}

.result-title,
.search-load-more {
    color: var(--link);
    background: var(--card);
    border-color: var(--line);
}

.search-load-more:hover:not(:disabled) {
    background: var(--wash);
}

.result-description,
.result-meta,
.result-source,
.result-date {
    color: var(--muted);
}

mark {
    background: var(--mark);
    color: var(--ink);
}

.topic-subheading,
.topic-page-lead,
.topic-column-lead,
.topic-empty {
    color: var(--muted);
}

.topic-column {
    background-color: var(--card);
    border-color: var(--line);
}

.topic-column-title,
.topic-column-title a {
    color: var(--ink);
}

.topic-column-title a:hover {
    color: var(--link);
}

.home-index {
    border-top-color: var(--line);
    color: var(--ink);
}

.home-index h2,
.home-index-title a {
    color: var(--ink);
}

.home-index h2 {
    border-bottom-color: var(--link);
}

.home-index-title a:hover {
    color: var(--link);
}

.home-index-more a {
    color: var(--link);
    border-color: var(--link);
    background: var(--card);
}

.home-index-more a:hover {
    color: #fffdfb;
    background: var(--link);
}

.item-title,
.item-title.odd-item,
.item-title.even-item {
    color: var(--ink);
}

.item-title:hover {
    color: var(--link);
}

.item-date,
.item-provenance,
.item-provenance a,
.item-provenance small {
    color: var(--muted);
}

.feed-item {
    border-bottom-color: var(--line);
}

.breadcrumb-nav,
.breadcrumb-item a {
    color: var(--link);
}

.breadcrumb-current,
.breadcrumb-separator {
    color: var(--muted);
}

#search-index {
    color: var(--ink);
}

#search-index .main-heading,
#search-index h2,
#search-index h3,
#search-index h3 a {
    color: var(--ink);
}

#search-index .topic-subheading,
.search-hub-lead,
.search-topic-index li {
    color: var(--muted);
}

#search-index h2 {
    border-bottom-color: var(--link);
}

.search-query-list {
    color: var(--muted);
}

.search-query-list > li,
.search-topic-index li {
    border-bottom-color: var(--line);
}

.search-query-title,
.search-topic-index a,
.search-xlove-links a {
    color: var(--ink);
    text-decoration-color: #d4a8a8;
}

.search-query-title:hover,
.search-topic-index a:hover {
    color: var(--link);
}

.search-query-guide {
    color: var(--link);
}

.prediction-tldr {
    background: var(--card);
    border-color: var(--line);
}

.prediction-tldr p,
.prediction-body p,
.prediction-tldr li,
.prediction-body li {
    color: var(--ink);
}

.prediction-tldr a,
.prediction-body a {
    color: var(--link);
}

.search-xlove {
    background: var(--card);
    border-color: var(--line);
}

#search-river {
    background: var(--card);
    border-color: var(--line);
}

.search-river-heading {
    color: var(--ink);
}

.search-river-lead {
    color: var(--muted);
}

#search-river .item-title,
#search-river .item-title.odd-item,
#search-river .item-title.even-item {
    color: var(--ink);
    font-size: 14px;
    line-height: 1.4;
}

#search-topic .main-heading {
    text-align: left;
    color: var(--ink);
}

.category-header,
#feed-list,
#word-cloud-header,
#word-cloud-header h2 {
    background-color: var(--card);
    color: var(--ink);
    border-color: var(--line);
}

.aggregate-link,
.provenance-link {
    color: var(--muted);
}

.provenance-link:hover {
    color: var(--link);
}

#toggle-feed-list,
#switch-to-grid-view {
    background-color: var(--link);
    color: #fff;
}

.grid-category-nav {
    background-color: var(--header);
    border: 1px solid var(--line);
}

.grid-category-nav a {
    background-color: var(--card);
    border-color: var(--line);
    color: var(--ink);
}

.grid-category-nav a:hover,
.grid-category-nav a:active {
    background-color: var(--wash);
    color: var(--link);
    border-color: var(--link);
}

.grid-provenance-nav {
    border-top-color: var(--line);
    border-bottom-color: var(--line);
}

.grid-provenance-nav a {
    color: var(--link);
}

.grid-provenance-nav a.active {
    background-color: var(--link);
    color: #fff;
}

.grid-provenance-item {
    background-color: var(--card);
    border-color: var(--line);
}

.grid-provenance-item h3 {
    color: var(--ink);
    border-bottom-color: var(--line);
}

.grid-item {
    border-bottom-color: var(--line);
}

.grid-item a {
    color: var(--ink);
}

.grid-item a:hover {
    color: var(--link);
}

.time-ago {
    color: var(--muted);
}

.scroll-indicator {
    background: linear-gradient(to left, var(--paper), transparent);
}

#grid-scroll-to-top,
#back-to-main-view {
    background-color: var(--link);
    color: #fff;
    border-color: var(--link);
}

#grid-scroll-to-top:hover,
#back-to-main-view:hover {
    background-color: var(--link-hover);
}

footer[role="contentinfo"] {
    background: var(--header);
    border-top: 2px solid var(--link);
    color: var(--ink);
    font-family: inherit;
}

footer nav a {
    color: var(--link);
    border: 0;
    padding: 5px 0;
}

footer nav a:hover {
    background: transparent;
    color: var(--link-hover);
}

footer .nav-pipe {
    color: var(--muted);
    margin: 0 0.7em;
    font-size: 13px;
}

footer p {
    color: var(--muted);
    word-spacing: normal;
}

.site-modal {
    position: fixed;
    z-index: 1002;
    inset: 0;
    overflow: auto;
    background-color: rgba(28, 20, 20, 0.4);
}

.site-modal-panel {
    background: var(--card);
    color: var(--ink);
    margin: 12vh auto;
    padding: 1.25rem 1.5rem 1.5rem;
    border: 1px solid var(--line);
    width: min(92%, 36rem);
    border-radius: 8px;
    box-shadow: 0 12px 40px rgba(28, 20, 20, 0.16);
}

.site-modal-panel h2 {
    color: var(--ink);
    margin: 0 2rem 0.75rem 0;
    font-size: 1.25rem;
    font-weight: 650;
}

.site-modal-panel p,
.site-modal-panel ul,
.site-modal-panel li {
    color: var(--muted);
    font-size: 15px;
    line-height: 1.5;
}

.site-modal-panel p:last-child {
    margin-bottom: 0;
}

.site-modal-close {
    float: right;
    border: 0;
    background: transparent;
    color: var(--muted);
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    padding: 0 0.15rem;
}

.site-modal-close:hover,
.site-modal-close:focus {
    color: var(--ink);
}
