/* Shared semantic colors also cover text generated after the page loads. */
:root {
    --level-starter:#91da9b; --level-green:#55ff55; --level-gold:#ffff55;
    --level-amber:#ffaa00; --level-teal:#00aaaa; --level-cyan:#55ffff; --level-purple:#d1a3ee;
    --mc-0:#000000; --mc-1:#0000aa; --mc-2:#00aa00; --mc-3:#00aaaa;
    --mc-4:#aa0000; --mc-5:#aa00aa; --mc-6:#ffaa00; --mc-7:#aaaaaa;
    --mc-8:#555555; --mc-9:#5555ff; --mc-a:#55ff55; --mc-b:#55ffff;
    --mc-c:#ff5555; --mc-d:#ff55ff; --mc-e:#ffff55; --mc-f:#ffffff;
}

.theme-toggle { flex-shrink:0; cursor:pointer; }
.theme-toggle:hover { background:var(--raised); border-color:var(--muted); }
.theme-toggle span { display:flex; }
.theme-toggle .theme-icon-moon { display:none; }
[data-theme="light"] .theme-toggle .theme-icon-moon { display:flex; }
[data-theme="light"] .theme-toggle .theme-icon-sun { display:none; }

:root[data-theme="light"] {
    color-scheme:light;
    --bg:#f4f7f5;
    --surface:#ffffff;
    --raised:#edf3ef;
    --line:#d4e0d8;
    --soft:#e5ece7;
    --text:#20352a;
    --muted:#5d7165;
    --accent:#187346;
    --accent-wash:#e1f1e6;
    --red:#a93649;
    --amber:#835d18;
    --blue:#276783;
    --green-wash:#e5f3ea;
    --red-wash:#fcebee;
    --amber-wash:#faf1dd;
    --blue-wash:#e8f2f8;
    --purple-wash:#f1eafa;
    --level-starter:#326c42; --level-green:#16703a; --level-gold:#806515;
    --level-amber:#8a5013; --level-teal:#00696b; --level-cyan:#006b78; --level-purple:#78429c;
    --mc-0:#20352a; --mc-1:#233d9e; --mc-2:#176b32; --mc-3:#00696b;
    --mc-4:#942731; --mc-5:#83367f; --mc-6:#895513; --mc-7:#5d6e63;
    --mc-8:#536057; --mc-9:#345dc1; --mc-a:#16703a; --mc-b:#006b78;
    --mc-c:#aa3342; --mc-d:#963a8f; --mc-e:#806515; --mc-f:#20352a;
    --bs-body-color:var(--text);
    --bs-body-bg:var(--bg);
    --bs-border-color:var(--line);
    --bs-secondary-color:var(--muted);
    --bs-link-color:var(--accent);
    --bs-link-hover-color:#105431;
}

[data-theme="light"] ::selection { background:#c6e9d3; color:#153f26; }
[data-theme="light"] a:hover { color:#105431; }
[data-theme="light"] .skip-link { background:var(--accent); color:white; }
[data-theme="light"] .skip-link:hover { color:white; }
[data-theme="light"] .site-sidebar { background:#fcfdfc; }
[data-theme="light"] .site-topbar { background:#f4f7f5f2; }
[data-theme="light"] .site-search input { background:var(--surface); border-color:var(--line); }
[data-theme="light"] .site-search input::placeholder { color:var(--muted); }
[data-theme="light"] .site-search kbd { background:var(--raised); border-color:var(--line); color:var(--muted); }
[data-theme="light"] .search-results { background:var(--surface); border-color:var(--line); box-shadow:0 16px 45px #183d241a; }
[data-theme="light"] .search-result:hover,
[data-theme="light"] .search-result:focus { background:var(--accent-wash); color:var(--text); }

[data-theme="light"] .site-brand small,
[data-theme="light"] .nav-label,
[data-theme="light"] .nav-item,
[data-theme="light"] .community-link small,
[data-theme="light"] .topbar-world,
[data-theme="light"] .breadcrumb-divider,
[data-theme="light"] .topbar-edition,
[data-theme="light"] .site-search,
[data-theme="light"] .page-kicker,
[data-theme="light"] .metric-foot,
[data-theme="light"] .overview-section-title>span,
[data-theme="light"] .leaderboard-tools>span,
[data-theme="light"] .pagination-bar>span,
[data-theme="light"] .form-check-label,
[data-theme="light"] .panel-note,
[data-theme="light"] .site-footer,
[data-theme="light"] .site-footer a,
[data-theme="light"] .profile-hero .row p strong,
[data-theme="light"] .zone-inspector label { color:var(--muted); }
[data-theme="light"] .nav-item.is-active { color:var(--accent); }
[data-theme="light"] .community-link,
[data-theme="light"] .server-strip-title,
[data-theme="light"] .server-strip-players summary,
[data-theme="light"] .xp-progress-label,
[data-theme="light"] .guide-page li,
[data-theme="light"] .guide-page h5,
[data-theme="light"] .zone-page h6 { color:var(--text); }
[data-theme="light"] .community-mark,
[data-theme="light"] .eyebrow { color:var(--accent); }
[data-theme="light"] .edition-dot { border-color:var(--muted); }

[data-theme="light"] .join-card,
[data-theme="light"] .server-strip,
[data-theme="light"] .profile-hero { background:linear-gradient(120deg,#e8f4eb,#fbfdfb 75%); border-color:#cbded0; }
[data-theme="light"] .join-button.btn { background:#dceee2; border-color:#bbd8c5; color:var(--accent); }
[data-theme="light"] .join-button.btn:hover { background:#cae5d3; }
[data-theme="light"] .server-strip-meta { color:var(--muted); }
[data-theme="light"] .server-strip-players { border-color:var(--line); }
[data-theme="light"] .profile-hero .row p { border-color:var(--line); }
[data-theme="light"] .support-banner { background:#eff3e8; border-color:#d8e0c9; }
[data-theme="light"] .support-banner h3 { color:#42542c; }
[data-theme="light"] .site-toast { box-shadow:0 8px 30px #183d2426; }

[data-theme="light"] .btn-primary,
[data-theme="light"] .btn-success {
    --bs-btn-color:#fff; --bs-btn-hover-color:#fff; --bs-btn-active-color:#fff;
    --bs-btn-hover-bg:#125f38; --bs-btn-hover-border-color:#125f38;
    --bs-btn-active-bg:#0e512f; --bs-btn-active-border-color:#0e512f;
}
[data-theme="light"] .btn-secondary,
[data-theme="light"] .btn-outline-light,
[data-theme="light"] .btn-dark,
[data-theme="light"] .btn-outline-secondary {
    --bs-btn-border-color:var(--line); --bs-btn-color:var(--text);
    --bs-btn-hover-bg:#e0eae3; --bs-btn-hover-border-color:#b1c7b8; --bs-btn-hover-color:var(--text);
    --bs-btn-active-bg:#d6e4db; --bs-btn-active-color:var(--text); --bs-btn-disabled-color:var(--muted);
}
[data-theme="light"] .btn-outline-primary,
[data-theme="light"] .btn-outline-success,
[data-theme="light"] .btn-outline-info {
    --bs-btn-border-color:#a9cdb5; --bs-btn-hover-border-color:#82b597; --bs-btn-hover-color:#125f38;
    --bs-btn-active-bg:#d2e9da; --bs-btn-active-color:#125f38;
}
[data-theme="light"] .btn-warning,
[data-theme="light"] .btn-outline-warning {
    --bs-btn-bg:var(--amber-wash); --bs-btn-border-color:#e1cc99;
    --bs-btn-hover-bg:#f0dfb7; --bs-btn-hover-border-color:#cdb371; --bs-btn-hover-color:#68480e;
    --bs-btn-active-bg:#ead5a4; --bs-btn-active-color:#68480e;
}
[data-theme="light"] .btn-danger,
[data-theme="light"] .btn-outline-danger {
    --bs-btn-bg:var(--red-wash); --bs-btn-border-color:#e6bcc4;
    --bs-btn-hover-bg:#f4d7dd; --bs-btn-hover-border-color:#d298a4; --bs-btn-hover-color:#942e40;
    --bs-btn-active-bg:#efc9d1; --bs-btn-active-color:#942e40;
}
[data-theme="light"] .form-control,
[data-theme="light"] .form-select { background-color:var(--surface); border-color:#becfc3; color-scheme:light; }
[data-theme="light"] .form-control:focus,
[data-theme="light"] .form-select:focus { background-color:var(--surface); border-color:var(--accent); }
[data-theme="light"] .form-switch .form-check-input { background-color:#d9e5dd; border-color:#95aa9d; }
[data-theme="light"] .form-switch .form-check-input:checked { background-color:var(--accent); border-color:var(--accent); }

[data-theme="light"] .metric-icon,
[data-theme="light"] .panel-icon--green,
[data-theme="light"] .vote-icon { background:var(--green-wash); border-color:#c8dfd0; }
[data-theme="light"] .metric--deaths .metric-icon,
[data-theme="light"] .panel-icon--red { background:var(--red-wash); border-color:#efd4da; }
[data-theme="light"] .metric--level .metric-icon,
[data-theme="light"] .panel-icon:not(.panel-icon--green):not(.panel-icon--red) { background:var(--amber-wash); border-color:#eadbbc; }
[data-theme="light"] .metric--players .metric-icon { background:var(--blue-wash); border-color:#d3e3ec; }

[data-theme="light"] .table,
[data-theme="light"] .page-content .table-dark {
    --bs-table-color:var(--text); --bs-table-striped-color:var(--text);
    --bs-table-striped-bg:#f5f8f6; --bs-table-hover-bg:#edf5ef; --bs-table-hover-color:var(--text);
}
[data-theme="light"] .table thead th { color:var(--muted); background:#f0f5f1; }
[data-theme="light"] .table tbody tr:hover { background:#f0f6f2; }
[data-theme="light"] .table a { color:#274d37; }
[data-theme="light"] .table a:hover { color:var(--accent); }
[data-theme="light"] .table tbody td:first-child { color:var(--muted); }
[data-theme="light"] .table-responsive { scrollbar-color:#afc6b7 transparent; }
[data-theme="light"] .table-empty { color:var(--muted)!important; }
[data-theme="light"] .rank-1 { background:var(--amber-wash); color:#835d18; }
[data-theme="light"] .rank-2 { background:#e8edf0; color:#526473; }
[data-theme="light"] .rank-3 { background:#f2e8e1; color:#805337; }
[data-theme="light"] .player-identity .player-head { background:#e0ece3; }

[data-theme="light"] .text-secondary,
[data-theme="light"] .text-white-50 { color:var(--muted)!important; }
[data-theme="light"] .text-dark { color:var(--text)!important; }
[data-theme="light"] .bg-light { background-color:var(--raised)!important; }
[data-theme="light"] .badge.bg-success,
[data-theme="light"] .badge.bg-primary { background:var(--green-wash)!important; color:var(--accent)!important; }
[data-theme="light"] .badge.bg-danger { background:var(--red-wash)!important; color:var(--red)!important; }
[data-theme="light"] .badge.bg-warning { background:var(--amber-wash)!important; color:var(--amber)!important; }
[data-theme="light"] .badge.bg-info { background:var(--blue-wash)!important; color:var(--blue)!important; }
[data-theme="light"] .badge.bg-secondary,
[data-theme="light"] .badge.bg-dark,
[data-theme="light"] .badge.bg-light { background:#e9efe9!important; color:#536c5b!important; }
[data-theme="light"] .badge.bg-purple { background:var(--purple-wash)!important; color:#75489c!important; }
[data-theme="light"] .alert { background:var(--green-wash); border-color:#c6ddce; color:#285c3c; }
[data-theme="light"] .alert-info { background:var(--blue-wash)!important; border-color:#c8dee9!important; color:#285f79!important; }
[data-theme="light"] .alert-warning { background:var(--amber-wash)!important; border-color:#e8d7ae!important; color:#79591b!important; }
[data-theme="light"] .alert-danger { background:var(--red-wash)!important; border-color:#e8c6cd!important; color:#9d3c4d!important; }
[data-theme="light"] .progress { background:#e1eae4; }

[data-theme="light"] .page-content .card .card,
[data-theme="light"] .collectibles-page .item-card,
[data-theme="light"] .vote-page .vote-card,
[data-theme="light"] .zone-inspector { background:#f8fbf9; border-color:var(--line); }
[data-theme="light"] .collectibles-page .item-card:hover,
[data-theme="light"] .vote-page .vote-card:hover { border-color:#8eb79c; }
[data-theme="light"] .mat-icon { background:#e6efe8; }
[data-theme="light"] .rarity-badge-COMMON { background:#e9efe9; color:#536c5b; }
[data-theme="light"] .rarity-badge-UNCOMMON { background:var(--green-wash); color:var(--accent); }
[data-theme="light"] .rarity-badge-RARE { background:var(--blue-wash); color:#32638d; }
[data-theme="light"] .rarity-badge-EPIC { background:var(--purple-wash); color:#75489c; }
[data-theme="light"] .rarity-badge-LEGENDARY { background:var(--amber-wash); color:var(--amber); }
[data-theme="light"] .events-page .card-header small { color:var(--muted)!important; }

[data-theme="light"] .page-content code { background:#eaf2ec; color:#2c6140; }
[data-theme="light"] .page-content pre { background:#edf4ef!important; color:#295839!important; border-color:var(--line); }
[data-theme="light"] .page-content .list-group-item { color:var(--text); }
[data-theme="light"] .page-content .nav-tabs .nav-link { color:var(--muted); }
[data-theme="light"] .page-content .nav-tabs .nav-link.active { background:var(--accent-wash); border-color:#c3daca; color:var(--accent); }
[data-theme="light"] .guide-page h4 { color:var(--text)!important; }
[data-theme="light"] .guide-page .card-body>.mb-4 { border-color:var(--line); }
[data-theme="light"] .guide-page .command-block { background:#edf4ef; color:#295839; border-color:#c6dacc; border-left-color:var(--accent); }
[data-theme="light"] .leaderboard-switcher { background:#eaf1ec; border-color:var(--line); }
[data-theme="light"] .leaderboard-switcher button { color:var(--muted); }
[data-theme="light"] .leaderboard-switcher button[aria-selected="true"] { background:white; color:var(--accent); box-shadow:0 1px 5px #23432d14; }
[data-theme="light"] .zone-1,
[data-theme="light"] .zone-10 { color:var(--level-green); }
[data-theme="light"] .zone-20 { color:var(--level-gold); }
[data-theme="light"] .zone-30 { color:var(--level-amber); }
[data-theme="light"] .zone-40 { color:var(--level-cyan); }
[data-theme="light"] .zone-50 { color:var(--level-purple); }
[data-theme="light"] #zone-heatmap text { fill:var(--text); paint-order:stroke; stroke:#fff; stroke-width:3px; stroke-linejoin:round; }

.donor-badge { background:var(--raised); color:var(--text); border:1px solid var(--line); border-left:3px solid var(--donor-color); }

@media(max-width:700px) {
    .site-topbar { flex-wrap:nowrap; gap:10px; }
    .topbar-location>span { display:none; }
    .site-search { min-width:0; width:auto; }
    .search-results { position:fixed; top:76px; left:18px; right:18px; width:auto; }
}
