/* Shared near-black canvas and translucent header, approved 30 October. */
:root[data-theme="dark"]{--paper:#0b0b0d;--bg:#0b0b0d}
:root[data-theme="dark"] body{background:#0b0b0d}
:root[data-theme="dark"] body .case-section,
:root[data-theme="dark"] body #portfolio,
:root[data-theme="dark"] body #about,
:root[data-theme="dark"] body #skills,
:root[data-theme="dark"] body #education,
:root[data-theme="dark"] body .portfolio-reader,
:root[data-theme="dark"] body .portfolio-contents{background:#0b0b0d}
:root[data-theme="dark"] body .hero{background-color:#080809}
html body .topbar.has-compact-nav.has-catalog-nav{background:rgba(8,8,10,.82);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom-color:rgba(255,255,255,.08)}
/* Menus retain their opaque white background for legibility. */
@media(prefers-reduced-transparency:reduce){html body .topbar.has-compact-nav.has-catalog-nav{background:#101012;-webkit-backdrop-filter:none;backdrop-filter:none}}

/* Footer glass matches the header; controls and links stay fully opaque. */
html body:has(.footer .case-return-top)>.footer{background:rgba(8,8,10,.82);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top-color:rgba(255,255,255,.08)}
@media(prefers-reduced-transparency:reduce){html body:has(.footer .case-return-top)>.footer{background:#101012;-webkit-backdrop-filter:none;backdrop-filter:none}}
