
/* Light: Academic Sky | Dark: Professional Night */
:root{
  --bg: #F5F5F5;
  --bg-alt: #ffffff;
  --text: #333333;
  --muted: #555555;
  --brand: #004488;      /* primary */
  --brand-2: #6A9FBE;    /* secondary */
  --card: #ffffff;
  --border: #e0e0e0;
  --shadow: 0 10px 30px rgba(0,0,0,.06);
  --grad-a: #004488;
  --grad-b: #6A9FBE;
}
:root.dark{
  --bg: #121212;
  --bg-alt: #1a1a1a;
  --text: #E0E0E0;
  --muted: #b0b0b0;
  --brand: #4A90E2;     /* primary */
  --brand-2: #8AC4FF;   /* secondary */
  --card: #181818;
  --border: #262626;
  --shadow: 0 10px 30px rgba(0,0,0,.45);
  --grad-a: #4A90E2;
  --grad-b: #8AC4FF;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.65;
}
img{max-width:100%;display:block}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1100px;margin:0 auto;padding:0 1rem}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{position:static;width:auto;height:auto;padding:.5rem;background:var(--brand);color:white}

.site-header{position:sticky;top:0;background:var(--bg);border-bottom:1px solid var(--border);z-index:50}
.header-inner{display:flex;align-items:center;gap:1rem;padding:0.75rem 0}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;color:var(--text)}
.brand-icon{width:34px;height:34px}
.brand-icon stop:first-child{stop-color:var(--grad-a)}
.brand-icon stop:last-child{stop-color:var(--grad-b)}

.nav-toggle{display:none;background:transparent;border:1px solid var(--border);padding:.4rem .6rem;border-radius:.5rem}
.nav-menu{display:flex;gap:1rem;list-style:none;margin:0;padding:0}
.nav-menu a{display:block;padding:.4rem .6rem;border-radius:.5rem}
.nav-menu a:hover{background:var(--bg-alt);text-decoration:none}

.theme-toggle{margin-left:auto;border:1px solid var(--border);background:transparent;border-radius:.75rem;padding:.4rem .6rem;display:flex;align-items:center;gap:.25rem}
.theme-toggle .sun{display:inline}
.theme-toggle .moon{display:none}
:root.dark .theme-toggle .sun{display:none}
:root.dark .theme-toggle .moon{display:inline}

.hero{background:linear-gradient(135deg,var(--bg),var(--bg-alt));border-bottom:1px solid var(--border)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;padding:3rem 0}
.hero h1{font-size:2.2rem;margin:.2rem 0 0}
.hero p{color:var(--muted);max-width:60ch}
.cta-row{display:flex;gap:.8rem;margin-top:1rem}
.btn,.btn-outline,.btn-sm{
  display:inline-block;border-radius:.75rem;font-weight:600;border:1px solid var(--brand);padding:.6rem 1rem;box-shadow:var(--shadow)
}
.btn{background:var(--brand);color:#fff}
.btn-outline{background:transparent;color:var(--brand)}
.btn-sm{padding:.25rem .6rem;font-size:.875rem}
.hero-visual{border-radius:1rem;background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);padding:1rem}
.hero-visual .orbital{fill:url(#orbA)}
.hero-visual .ring{fill:none;stroke:var(--text);opacity:.25;stroke-width:2}
.hero-visual .nucleus{fill:var(--text)}

.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:2rem auto}
.card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);padding:1rem;border-radius:1rem}
.card-icon{font-size:1.6rem}
.read-more{display:inline-block;margin-top:.6rem}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:3rem auto}
.list{padding-left:1rem}
.tag{background:var(--bg-alt);border:1px solid var(--border);padding:.1rem .4rem;border-radius:.4rem;margin-right:.4rem}

.page-hero{padding:2rem 0;border-bottom:1px solid var(--border)}
.research-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin:2rem auto}
.research-card{display:grid;grid-template-columns:240px 1fr;gap:1rem;background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:1rem;overflow:hidden}
.research-body{padding:1rem}
.bullets{margin:.6rem 0 0 1.2rem}
.bullets li{margin:.2rem 0}

.pubs{display:grid;grid-template-columns:1fr;gap:1rem;margin:1rem auto 3rem}
.pub{display:grid;grid-template-columns:160px 1fr;gap:1rem;background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:1rem;overflow:hidden;padding:.75rem}
.pub-cover{width:100%;height:auto;border-radius:.6rem;border:1px solid var(--border)}
.pub-info h3{margin:.1rem 0 .2rem}
.pub-controls{display:flex;align-items:center;gap:.5rem;margin:1rem auto}

.news-list{display:grid;grid-template-columns:1fr;gap:1rem;margin:1rem auto 3rem}
.news-item{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:1rem;padding:1rem}
.news-item .meta{color:var(--muted);font-size:.9rem}

.about-grid{display:grid;grid-template-columns:1fr;gap:1.2rem;margin:1.5rem auto 3rem}
.about-card{display:grid;grid-template-columns:140px 1fr;gap:1rem;background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:1rem;padding:1rem}
.avatar{width:120px;height:120px;border-radius:50%;border:1px solid var(--border)}
.cv-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.cv-section{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:1rem;padding:1rem}
.skills{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:.3rem .8rem;padding-left:1rem}
.cv-actions{display:flex;gap:.8rem;margin-top:.5rem}

.contact{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem auto 3rem}
.contact-card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:1rem;padding:1rem}

.site-footer{border-top:1px solid var(--border);padding:1.5rem 0;margin-top:2rem}
.site-footer .small{color:var(--muted);margin:.2rem 0 0}

/* Responsive */
@media (max-width: 900px){
  .hero-grid{grid-template-columns:1fr}
  .cards{grid-template-columns:repeat(2,1fr)}
  .two-col{grid-template-columns:1fr}
  .research-card{grid-template-columns:1fr}
  .pub{grid-template-columns:1fr}
  .cv-grid{grid-template-columns:1fr}
  .contact{grid-template-columns:1fr}
  .nav-toggle{display:block}
  .nav-menu{display:none;position:absolute;right:1rem;top:60px;background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);padding:.5rem;border-radius:.75rem;flex-direction:column}
  .nav-menu.show{display:flex}
}
@media (max-width: 520px){
  .cards{grid-template-columns:1fr}
}
