/* ====== Dark theme ====== */
:root {
  --bg-page: #000000;
  --bg-card: #050708;
  --bg-header: #000000;
  --bg-nav: #020504;
  --bg-sidebar: #020504;
  --bg-code: #020f08;
  --bg-email: #1a1a1a;
  --bg-quote: #0a0806;
  --bg-gradient-start: #021a0b;
  --bg-gradient-card-start: #071f11;
  --bg-gradient-card-end: #020303;
  --accent: #00ff66;
  --accent-soft: #0aa84a;
  --text-main: #e6fbe9;
  --text-muted: #8fd6a4;
  --text-light: #8fd6a4;
  --border-soft: #133322;
  --border-nav: #021309;
  --border-meta: #0b2c18;
  --border-code: #06361a;
  --link: #66ff99;
  --link-hover: #a6ffbf;
  --shadow-soft: 0 0 0 1px #03140a, 0 16px 28px rgba(0,0,0,0.6);
  --whatsnew-lang-bg: #330000;
  --whatsnew-lang-color: #99ff66;
  --whatsnew-date: #ff9933;
  --whatsnew-link-bg: #116600;
  --whatsnew-link-hover: #228811;
  --whatsnew-link-color: #ffffaa;
}

body{background:radial-gradient(circle at top,var(--bg-gradient-start) 0,#000000 40%,#000000 100%);color:var(--text-main)}
header{background:var(--bg-header);border-bottom:1px solid var(--accent-soft)}
.site-title{font-family:"Courier New",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","DejaVu Sans Mono",monospace;color:var(--accent);text-shadow:0 0 4px rgba(0,255,102,0.7)}
.site-subtitle{color:var(--text-muted)}
nav{border-top:1px solid var(--border-nav);border-bottom:1px solid var(--border-nav);background:var(--bg-nav)}
.nav-link{font-family:"Courier New",ui-monospace,monospace;color:var(--text-main);text-transform:lowercase}
.nav-link:hover,.nav-link--active{color:var(--accent);border-bottom-color:var(--accent-soft)}
.tag-pill{font-family:"Courier New",ui-monospace,monospace;border:1px solid var(--border-soft);color:var(--accent);background:var(--border-nav)}
.column-card{background:radial-gradient(circle at top left,var(--bg-gradient-card-start) 0,var(--bg-card) 35%,var(--bg-gradient-card-end) 100%);box-shadow:var(--shadow-soft);border:1px solid var(--border-soft)}
.column-card::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,255,102,0.05) 0,transparent 30%,transparent 70%,rgba(0,255,102,0.05) 100%),repeating-linear-gradient(180deg,rgba(0,0,0,0.4),rgba(0,0,0,0.4) 1px,rgba(0,255,102,0.03) 2px,rgba(0,255,102,0.03) 3px);mix-blend-mode:screen;opacity:0.25;pointer-events:none}
.column-meta-top{color:var(--text-muted);font-family:"Courier New",ui-monospace,monospace}
.meta-label{color:var(--accent-soft)}
.column-title{color:var(--accent);text-shadow:0 0 6px rgba(0,255,102,0.6)}
.column-subtitle{color:var(--text-muted)}
.column-meta-bottom{color:var(--text-muted);border-top-color:var(--border-meta);font-family:"Courier New",ui-monospace,monospace}
.column-body{color:var(--text-main)}
.column-body h2,.column-body h3{color:var(--accent)}
.column-body a{color:var(--link)}
.column-body a:hover{color:var(--link-hover)}
blockquote{border-left-color:var(--accent-soft);color:var(--text-muted)}
code{background:var(--bg-code);border:1px solid var(--border-code)}
footer{border-top:1px solid var(--border-nav);background:var(--bg-gradient-card-end);color:var(--text-muted)}
.footer-links a{color:var(--text-muted)}
.footer-links a:hover{color:var(--accent);border-bottom-color:var(--accent-soft)}
.disclaimer-section{border-top-color:var(--border-soft)}
.disclaimer-section h3{color:var(--text-main)}
.disclaimer-section p{color:var(--text-muted)}
.column-body section h2{border-bottom-color:var(--accent)}
.back-to-start-btn{border-color:var(--accent);color:var(--accent)}
.back-to-start-btn:hover{background:var(--accent);color:var(--bg-page);border-color:var(--accent)}
.cv-link{background:var(--accent-soft);color:var(--text-main)}
.cv-link:hover{background:var(--accent);color:var(--bg-page)}
.footer-copyright p{color:var(--text-muted)}
.theme-btn{color:var(--text-main);border-color:var(--border-soft)}
.theme-btn:hover{background:rgba(0,255,102,0.1);border-color:var(--accent-soft)}
.theme-btn[aria-pressed="true"]{color:var(--accent);border-color:var(--accent);background:rgba(0,255,102,0.15);border-width:2px}
.theme-btn[data-theme-value="light"][aria-pressed="true"]{border-color:#fff;box-shadow:0 0 0 1px var(--accent)}
.whatsnew-list{list-style:none;margin:1rem 0 0;padding-left:0}
.whatsnew-list li{margin-bottom:0.25rem;line-height:1.6}
.whatsnew-lang{display:inline-block;margin-right:0.4rem;color:var(--whatsnew-lang-color);background:var(--whatsnew-lang-bg);padding:0 0.2rem}
.whatsnew-date{color:var(--whatsnew-date);margin-right:0.4rem}
.whatsnew-list a{background:var(--whatsnew-link-bg);color:var(--whatsnew-link-color);padding:0 0.2rem;text-decoration:none;display:inline-block}
.whatsnew-list a:hover{background:var(--whatsnew-link-hover);text-decoration:underline}
.column-sidebar{padding-top:0.5rem}
.rudi-temp-sidebar{background:var(--bg-sidebar);border:1px solid var(--border-soft);border-radius:4px;padding:1.25rem 1rem}
.sidebar-title{color:var(--accent);font-family:"Courier New",ui-monospace,monospace;border-bottom:1px solid var(--border-soft);padding-bottom:0.5rem}
.sidebar-item{border-bottom-color:var(--border-soft)}
.sidebar-link{color:var(--text-main)}
.sidebar-link:hover{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.sidebar-date{color:var(--text-muted);font-family:"Courier New",ui-monospace,monospace;font-size:0.7rem}
.author-box{margin-top:2rem;padding:1.5rem 1.25rem;background:var(--bg-sidebar);border:1px solid var(--border-soft);border-radius:6px;text-align:center}
.author-photo{width:100%;max-width:100px;height:auto;border-radius:6px;border:1px solid var(--border-soft);margin-bottom:1rem;display:block;margin-left:auto;margin-right:auto}
.author-info{margin-top:0.5rem;text-align:left}
.author-name{font-weight:700;color:var(--text-main);margin:0 0 1rem 0;font-size:1.05rem;text-align:center}
.author-description{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-soft)}
.author-description p{margin:0 0 0.6rem 0;font-size:0.875rem;line-height:1.5;color:var(--text-main);text-align:left}
.author-description p:last-child{margin-bottom:0;margin-top:0.5rem}
.author-description strong{color:var(--accent);font-weight:600}
.email-explanation{background:var(--bg-email);padding:1.5rem;border-radius:6px;margin:1rem 0;border-left:3px solid var(--accent)}
.email-explanation code{font-family:"Courier New",monospace;background:var(--bg-gradient-card-end);padding:0.2rem 0.5rem;border-radius:3px;font-size:0.95em;color:var(--accent);border:1px solid var(--border-soft)}
.family-list{list-style:none;margin:1.5rem 0;padding:0}
.family-list li{padding:0.75rem 0;border-bottom:1px solid var(--border-soft)}
.family-list li:last-child{border-bottom:none}
.family-list strong{color:var(--accent);font-size:1.1rem}
.places-list{list-style:none;margin:1rem 0;padding:0}
.places-list li{padding:0.5rem 0;padding-left:1.5rem;position:relative}
.places-list li::before{content:"→";position:absolute;left:0;color:var(--accent);font-weight:bold}
.rudi-quote{background:var(--bg-quote);border-left:6px solid var(--accent);padding:2.5rem;margin:3rem 0;border-radius:4px;position:relative;box-shadow:0 4px 12px rgba(0,0,0,0.4)}
.rudi-quote::before{content:'"';position:absolute;top:0.5rem;left:1rem;font-size:6rem;color:var(--accent-soft);font-family:Georgia,serif;line-height:1;opacity:0.3}
.rudi-quote blockquote{font-size:clamp(1.3rem,3vw,1.8rem);font-weight:500;color:var(--text-main);font-style:italic;margin:0;padding-left:2rem;line-height:1.5}
.rudi-quote cite{display:block;margin-top:1.5rem;font-size:0.9rem;color:var(--text-muted);font-style:normal;text-align:right}
.rudi-quote cite::before{content:"— "}
@media (max-width:768px){.rudi-quote{padding:1.5rem;margin:2rem 0}.rudi-quote::before{font-size:4rem;top:0.25rem;left:0.5rem}.rudi-quote blockquote{padding-left:1rem;font-size:1.2rem}}
