/* ── LANGUAGE SWITCHER ── */
#lang-switcher{display:flex;align-items:center;gap:0.25rem;}
.lang-btn{padding:0.35rem 0.65rem;border:1px solid var(--glass-border);border-radius:var(--radius-sm);
  background:var(--glass-bg);color:var(--text-secondary);font-size:0.688rem;font-weight:600;
  letter-spacing:0.06em;cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-sans);backdrop-filter:var(--glass-blur);}
.lang-btn:hover{color:var(--text-primary);border-color:var(--accent-primary);}
.lang-btn.active{background:var(--accent-primary-dim);border-color:var(--accent-primary);color:var(--accent-primary);}

/* ── THEME TOGGLE ── */
#theme-btn{width:30px;height:30px;
  border-radius:var(--radius-sm);background:var(--glass-bg);border:1px solid var(--glass-border);
  color:var(--text-secondary);font-size:0.85rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);backdrop-filter:var(--glass-blur);}
#theme-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);}

/* ── LIGHT THEME — Museum Style ── */
[data-theme="light"]{
  --bg:#faf7f2;
  --surface:#f4f0ea;
  --surface-raised:#ece7df;
  --surface-overlay:rgba(250,247,242,0.98);
  --parchment:#2c2418;
  --text-primary:#2c2418;
  --text-secondary:#5a5040;
  --text-muted:#7a7060;
  --text-dim:rgba(44,36,24,0.50);
  --text-faint:rgba(44,36,24,0.30);
  --accent:#9a6a2a;
  --accent-light:#7a5220;
  --accent-dim:rgba(154,106,42,0.08);
  --accent-rgb:154,106,42;
  --terra:#a03020;
  --sage:#2a7a3a;
  --accent-primary:#9a6a2a;
  --accent-primary-dim:rgba(154,106,42,0.08);
  --accent-secondary:#3a7a6a;
  --accent-secondary-dim:rgba(58,122,106,0.08);
  --accent-success:#2a7a3a;
  --accent-danger:#b83a3a;
  --panel-bg:rgba(244,240,234,0.98);
  --border:#d8d0c4;
  --divider:#d8d0c4;
  --shadow-1:0 1px 3px rgba(0,0,0,0.06),0 1px 2px rgba(0,0,0,0.04);
  --shadow-2:0 4px 12px rgba(0,0,0,0.08),0 2px 4px rgba(0,0,0,0.04);
  --shadow-3:0 8px 32px rgba(0,0,0,0.1),0 4px 8px rgba(0,0,0,0.06);
  --glass-bg:rgba(250,247,242,0.75);
  --glass-border:rgba(0,0,0,0.06);
  /* ── Functional colors (light) ── */
  --error:#b83a3a;--error-bg:rgba(184,58,58,0.08);--error-border:rgba(184,58,58,0.20);
  --success:#2a7a3a;--success-bg:rgba(42,122,58,0.08);--success-border:rgba(42,122,58,0.20);
  --warning:#9a6a2a;--warning-bg:rgba(154,106,42,0.08);--warning-border:rgba(154,106,42,0.20);
  --info:#3a6a7a;--info-bg:rgba(58,106,122,0.08);--info-border:rgba(58,106,122,0.20);
  --diff-easy:#2a7a3a;--diff-medium:#3a6a7a;--diff-hard:#9a6a2a;--diff-expert:#a03020;--diff-master:#7a4a9a;
  --iucn-cr:#b83a3a;--iucn-en:#b86020;--iucn-vu:#9a7a10;--iucn-nt:#4a8a20;--iucn-lc:#2a7a3a;
  --lineage-human:#9a6a2a;--lineage-human-bg:rgba(154,106,42,0.10);--lineage-human-border:rgba(154,106,42,0.25);
  --lineage-ape:#a04040;--lineage-ape-bg:rgba(160,64,64,0.08);--lineage-ape-border:rgba(160,64,64,0.20);
  /* ── Tree Redesign (light) ── */
  --tree-node-fill:#f0ebe4;
  --tree-branch-brown:#c4a882;
  --tree-human-path:#a06a28;
  --tree-photo-opacity:0.95;
  /* ── World map (light) ── */
  --map-ocean:#e8f0f8;
  --map-land:#d0d8e0;
  --map-land-border:#b8c4d0;
  --map-grid:#c0d0e0;
  --map-highlight:#0d7377;
  --map-highlight-border:#15b3b8;
}
[data-theme="light"] body{background:var(--bg);color:var(--parchment);}
[data-theme="light"] #bg{background:var(--bg);}
[data-theme="light"] #header{background:linear-gradient(to bottom,var(--bg) 40%,transparent);}
[data-theme="light"] #panel{background:var(--surface);border-left-color:var(--border);}
@keyframes homininGlow{
  0%,100%{stroke-opacity:0.3;stroke-width:2;}
  50%{stroke-opacity:0.8;stroke-width:3;}
}
[data-theme="light"] #hominin-view{background:var(--surface-overlay);}
[data-theme="light"] #legend{background:var(--glass-bg,var(--surface));border-color:var(--glass-border,var(--border));}
[data-theme="light"] #zoom-ctrl .zbtn{background:var(--glass-bg,rgba(248,250,252,0.85));backdrop-filter:var(--glass-blur,blur(12px));border-color:var(--glass-border,var(--border));}
[data-theme="light"] #search-input{background:var(--surface);color:var(--text-primary);}
[data-theme="light"] #search-results{background:var(--surface);border-color:var(--border);}
[data-theme="light"] #timeline{background:linear-gradient(to top,var(--bg) 50%,transparent);}
[data-theme="light"] .lang-btn{background:var(--glass-bg);color:var(--text-secondary);border-color:var(--glass-border);}
[data-theme="light"] .lang-btn.active{background:var(--accent-primary-dim);border-color:var(--accent-primary);color:var(--accent-primary);}
[data-theme="light"] #theme-btn{background:var(--glass-bg);color:var(--text-secondary);border-color:var(--glass-border);}
[data-theme="light"] .sr-item{color:var(--text-secondary);}
[data-theme="light"] .sr-item:hover{background:var(--accent-primary-dim);}
[data-theme="light"] #breadcrumb{background:var(--surface);}

/* ── LIGHT THEME: ELEMENT CONTRAST FIXES ── */
[data-theme="light"] .leg-row{color:var(--text-secondary);}
[data-theme="light"] .leg-row.active{background:rgba(0,0,0,0.06);color:var(--text-primary);}
[data-theme="light"] .p-detail{color:var(--text-secondary);}
[data-theme="light"] .p-desc{color:var(--text-secondary);}
[data-theme="light"] .p-children li{color:var(--text-secondary);}
[data-theme="light"] .tip-fact{color:var(--text-secondary);}
[data-theme="light"] .era-tick{color:var(--text-secondary);}
[data-theme="light"] #era-label{color:var(--text-primary);}
[data-theme="light"] .p-tag{color:var(--accent-primary);background:var(--accent-primary-dim);border-color:rgba(var(--accent-rgb),0.2);}
[data-theme="light"] .node-label-name{fill:var(--text-secondary);}
[data-theme="light"] .bc-item{color:var(--text-secondary);}
[data-theme="light"] .bc-item.active{color:var(--text-primary);}
[data-theme="light"] .fact-l{color:var(--text-secondary);}
[data-theme="light"] .fact-v{color:var(--text-primary);}
[data-theme="light"] .p-section{color:var(--text-secondary);}
[data-theme="light"] .hp-section{color:var(--accent-primary);}
[data-theme="light"] .hs-latin{color:var(--text-secondary);}
[data-theme="light"] .hom-era-title{color:var(--accent-primary);}
[data-theme="light"] #hom-sub{color:var(--text-secondary);}
[data-theme="light"] #hom-header{background:var(--surface);}
[data-theme="light"] .hs-icons-row{color:var(--text-secondary);}
/* ── LIGHT THEME: NEW PANEL ELEMENTS ── */
[data-theme="light"] .panel-hero-overlay{background:linear-gradient(to top,var(--surface) 0%,rgba(255,255,255,0.1) 40%,transparent 70%);}
[data-theme="light"] .panel-hero-meta .p-name{color:var(--text-primary);text-shadow:0 1px 6px rgba(255,255,255,0.6);}
[data-theme="light"] .panel-hero-meta .p-latin{color:var(--text-secondary);text-shadow:none;}
[data-theme="light"] .panel-hero-meta .p-era{color:var(--text-secondary);}
[data-theme="light"] .panel-hero .p-close{background:rgba(255,255,255,0.6);border-color:var(--border);color:var(--text-secondary);}
[data-theme="light"] .panel-hero .p-close:hover{background:rgba(184,58,58,0.8);color:white;}
[data-theme="light"] .panel-funfact{background:linear-gradient(135deg,var(--accent-primary-dim) 0%,transparent 100%);}
[data-theme="light"] .panel-link{background:var(--surface-raised);border-color:var(--border);}
[data-theme="light"] .panel-link:hover{background:var(--accent-primary);color:white;}
[data-theme="light"] .panel-cap{background:var(--surface-raised);border-color:var(--border);color:var(--text-secondary);}
[data-theme="light"] .mini-map .region{fill:var(--map-land);stroke:var(--map-land-border);}
[data-theme="light"] .panel-cta{background:var(--accent-primary);}
[data-theme="light"] .p-tag:hover{background:var(--accent-primary);color:white;}

/* ── DARK MODE POLISH ── */
[data-theme="dark"] #search-results{background:var(--surface);border-color:var(--border);box-shadow:0 4px 16px rgba(0,0,0,0.4);}
[data-theme="dark"] #shortcuts-hint{background:var(--surface);border-color:var(--border);color:var(--text-secondary);}
[data-theme="dark"] kbd{background:var(--surface-raised);border-color:var(--border);color:var(--text-primary);}
[data-theme="dark"] #splash{background:var(--bg);}

/* ── PANEL ANIMATION ── */
#panel{transition:transform 250ms ease,opacity 250ms ease,right 0.5s cubic-bezier(0.16,1,0.3,1);}
#panel.panel-enter{transform:translateX(100%);opacity:0;}
