/* Shared appearance controls remain available outside the mobile menu. */
:root{--page-bg:#fff;color-scheme:light}
html,body{background:var(--page-bg)}
.header-inner{gap:22px}
.header-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:6px 12px;border:1px solid #aeb8c1;border-radius:8px;background:var(--page-bg);color:var(--ink);font-size:.9375rem;font-weight:600;line-height:1.3;white-space:nowrap}
.theme-toggle:hover{background:var(--tint);border-color:var(--accent)}
.theme-cat{width:74px;height:35px;object-fit:contain;flex:none}
.theme-cat-zero{display:none}
.theme-label{display:inline-flex;align-items:baseline;gap:5px}
.theme-ket{font-size:1.125rem;font-weight:550;letter-spacing:.02em}
[data-theme="dark"] .theme-toggle{background:#101317;border-color:#83b3dc}
[data-theme="dark"] .theme-toggle:hover{background:#19212a}
[data-theme="dark"] .theme-cat-zero{display:block}
[data-theme="dark"] .theme-cat-one{display:none}
.site-header nav{gap:23px}

/* A black canvas with individually adjusted surfaces and readable accents. */
:root[data-theme="dark"]{--page-bg:#000;--ink:#f1f3f5;--muted:#a6afb9;--accent:#8fc5ff;--line:#2c3138;--tint:#101317;--dark:#101317;color-scheme:dark}
[data-theme="dark"] .site-header{background:rgba(0,0,0,.96)}
[data-theme="dark"] .site-footer{background:var(--page-bg)}
[data-theme="dark"] .brand img{filter:invert(1) hue-rotate(180deg);mix-blend-mode:screen}
[data-theme="dark"] nav a{color:var(--muted)}
[data-theme="dark"] nav a:hover,[data-theme="dark"] nav a[aria-current]{color:var(--ink)}
[data-theme="dark"] .primary{background:var(--accent);color:#07121f}
[data-theme="dark"] .primary:hover{background:#b6d9ff}
[data-theme="dark"] :is(.secondary,.filter,.year-control select,.news-filter,.menu-toggle){background:var(--tint);color:var(--ink);border-color:var(--line)}
[data-theme="dark"] :is(.secondary,.filter,.news-filter):hover{background:#1c2633;border-color:#71869d}
[data-theme="dark"] :is(.filter.active,.news-filter.active){background:var(--accent);border-color:var(--accent);color:#07121f}
[data-theme="dark"] .skip-link{background:var(--accent);color:#07121f}
[data-theme="dark"] .tags span{background:#19212a;color:#bfd1dd}
[data-theme="dark"] .join-band{background:var(--tint)}
[data-theme="dark"] .news-row{border-color:var(--line)}
[data-theme="dark"] :is(.badge,.badge.neutral){background:#142437;color:#b4d6fa}
[data-theme="dark"] :is(.funding,.publication-note,.paper-category){color:var(--muted)}
[data-theme="dark"] .funding span{color:var(--ink)}
[data-theme="dark"] .corresponding{color:var(--accent)}
[data-theme="dark"] :is(.people-group,.achievement-page){--group-color:#8fc5ff;--group-wash:#111d2c}
[data-theme="dark"] :is(.group-undergraduates,.achievement-page.group-undergraduates){--group-color:#69d7bf;--group-wash:#0e221c}
[data-theme="dark"] :is(.group-alumni,.achievement-page.group-alumni){--group-color:#e8c176;--group-wash:#251e10}
[data-theme="dark"] :is(.people-group .member,.poster-card,.research-gallery-card,.poster-viewer,.quantum-figure){background:var(--tint)}
[data-theme="dark"] :is(.member-portrait,.achievement-portrait){background:var(--group-wash,var(--tint))}
[data-theme="dark"] .alumni-year-nav a{background:var(--page-bg)}
[data-theme="dark"] .alumni-year-nav a:hover{background:var(--group-wash)}
[data-theme="dark"] :is(.poster-preview,.poster-viewport,.research-gallery-image,.resource-image-unavailable){background:#181c21}
[data-theme="dark"] .poster-award{background:#251e10;color:#e8c176}
[data-theme="dark"] .figure-kicker{background:#111d2c}
[data-theme="dark"] .news-attachments{background:var(--tint)}
[data-theme="dark"] .news-date-pill{background:#162333;color:#b4d6fa}
[data-theme="dark"] .news-timeline{border-color:#364352}
[data-theme="dark"] .news-timeline>li:before{background:var(--page-bg);border-color:#71869d}
[data-theme="dark"] .news-timeline>li:hover:before{border-color:var(--accent)}
[data-theme="dark"] .join-details .recruitment-graduate{--recruitment-color:#8fc5ff;--recruitment-wash:#0d1b2a}
[data-theme="dark"] .join-details .recruitment-undergraduate{--recruitment-color:#69d7bf;--recruitment-wash:#0c211c}

/* Leave enough room for all seven routes and the appearance button. */
@media(max-width:1180px){
  .site-header .header-inner{min-height:88px;gap:16px}
  .site-header .brand img{width:214px}
  .site-header .menu-toggle{display:flex;width:44px;height:44px;flex:none;border:1px solid var(--line);border-radius:4px;background:var(--page-bg);align-items:center;justify-content:center;flex-direction:column;gap:6px}
  .site-header .menu-toggle span{height:1px;width:19px;background:var(--ink)}
  .site-header nav{display:none;position:absolute;top:88px;left:0;right:0;flex-direction:column;gap:0;align-items:stretch;background:var(--page-bg);padding:12px 22px 20px;border-bottom:1px solid var(--line);box-shadow:0 12px 16px #0002}
  .site-header nav.open{display:flex}
  .site-header nav a{padding:12px 8px;font-size:1rem}
  .site-header nav a[aria-current]:after{left:8px;bottom:6px;width:25px;right:auto}
}
@media(max-width:480px){
  .site-header .header-inner{gap:8px}
  .site-header .brand img{width:min(170px,38vw)}
  .theme-toggle{gap:4px;padding:5px 7px;min-height:44px}
  .theme-cat{width:43px;height:29px}
  .theme-label{display:inline-flex}
  .theme-state-word{display:none}
  .theme-ket{font-size:1rem}
  .header-controls{gap:8px}
}
