/* Minimal ETH-inspired style: neutral palette, crisp type, no shadows, restrained accents */
:root{
  --bg:#ffffff;
  --ink:#111317;
  --muted:#6b7280;
  --line:#e5e7eb;
  --card:#fafafa;
  --accent:#005aa0; /* ETH blue-ish */
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#0b0d0e;
    --ink:#e6eaee;
    --muted:#9aa3ad;
    --line:#23272b;
    --card:#131619;
    --accent:#5aa7e0;
  }
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  background:var(--bg);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:var(--accent); text-underline-offset:2px}
a:hover{text-decoration:underline}
.container{max-width:960px; margin:0 auto; padding:0 20px}
/* Header */
.site{
  border-bottom:1px solid var(--line);
  background:var(--bg);
}
.site-inner{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:14px 0;
}
.brand{display:flex; align-items:center; gap:10px}
.brand-eth{font-weight:700; letter-spacing:.2px}
.slash{opacity:.4}
.brand-unit{font-weight:600; color:inherit}
.primary-nav a{margin-left:16px; color:inherit; text-decoration:none}
.primary-nav a:hover{text-decoration:underline}
/* Hero */
.hero{padding:36px 0 8px}
.hero-grid{
  display:grid; grid-template-columns: 140px 1fr; gap:24px; align-items:center;
}
.avatar{width:140px; height:140px; border-radius:6px; object-fit:cover; border:1px solid var(--line)}
.hero-copy h1{margin:0; font-size:clamp(26px,3.2vw,34px); line-height:1.25}
.subtitle{margin:.35rem 0 0; color:var(--muted)}
.topics{margin:.75rem 0 0; font-size:.95rem}
.topics span{color:var(--muted)}
.actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:12px}
.btn{
  display:inline-block; padding:8px 12px; border:1px solid var(--line);
  border-radius:4px; font-weight:600; text-decoration:none; color:inherit; background:transparent;
}
.btn:hover{background:var(--card)}
/* Sections */
.section{padding:26px 0}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:6px;
  padding:18px;
}
.split{display:grid; grid-template-columns: 1.2fr 1fr; gap:20px; align-items:start}
@media (max-width:820px){ .split{grid-template-columns:1fr} .hero-grid{grid-template-columns:1fr} .avatar{width:116px; height:116px} }
h2{margin:.25rem 0 1rem 0; font-size:1.25rem}
.prose p{margin:.6rem 0}
.facts{display:grid; gap:10px}
.kv{display:grid; grid-template-columns:120px 1fr; gap:10px}
.kv dt{color:var(--muted); font-weight:600}
.kv dd{margin:0}
.list{list-style:none; margin:0; padding:0}
.list li{padding:8px 0; border-bottom:1px dashed var(--line)}
.list li:last-child{border-bottom:0}
.pubs li{padding:10px 0}
.mini{font-size:.85rem; color:var(--muted)}
.two-col{display:grid; grid-template-columns:1fr 1fr; gap:20px}
@media (max-width:820px){ .two-col{grid-template-columns:1fr} }
/* Footer */
.site-footer{border-top:1px solid var(--line); margin-top:20px}
.site-footer .container{padding:16px 20px}
.site-footer p{color:var(--muted); margin:0}
/* Focus */
:where(a,button,.btn):focus{outline:2px solid var(--accent); outline-offset:2px}
/* Print */
@media print{
  .site, .site-footer, .actions{display:none !important}
  .card{border:0; padding:0}
  .section{padding:0 0 12px 0}
  a{color:inherit; text-decoration:none}
}
