/* ---- minimal reset ---- */
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%}

/* ---- design tokens ---- */
:root{
  --bg:hsl(0 0% 100%);
  --fg:hsl(240 10% 4%);
  --muted:hsl(240 3.8% 46.1%);
  --link-hover:hsl(240 3.8% 46.1%);
}
html.dark{
  --bg:hsl(240 10% 4%);
  --fg:hsl(0 0% 98%);
  --muted:hsl(240 5% 70%);
  --link-hover:hsl(240 5% 85%);
}

body{
  background:var(--bg);
  color:var(--fg);
  font-family: "Geist", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  /*font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;*/
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* ---- layout ---- */
.container{max-width:46rem;margin-inline:auto;padding:1rem 1.25rem;position:relative}
header.container, .footer{padding-bottom:1.5rem;}
header.container{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid hsl(240 5.9% 90%);margin-bottom:0.5rem;}
.footer{margin-top:1rem;margin-bottom:2rem;text-align:center;font-size:.875rem;color:var(--muted);}

/* ---- links ---- */
a{text-decoration:none;color:inherit;transition:color .2s}
a:hover{color:var(--link-hover);text-decoration:underline}

/* ---- typography ---- */
#header-title {font-size:1.75rem;font-weight:700;text-decoration:none}
#header-title:hover{text-decoration:underline}
.article-title{font-size:1.75rem;font-weight:600;margin-bottom:2rem}
.content p{margin-bottom:1.5rem}

/* ---- index list ---- */
.post-index{list-style:none;margin:1.5rem 0;padding:0}
.post-index li{margin-bottom:.5rem;font-size:1rem;display:flex;gap:.75ch;align-items:baseline}
.post-date{color:var(--muted);font-size:1rem}

/* ---- markdown defaults ---- */ */
main ul,main ol{margin:1rem 0 1rem 1.25rem}
main blockquote{margin:1rem 0;padding-left:.75rem;border-left:3px solid var(--muted);color:var(--muted);font-style:italic}

/* ---- theme toggle ---- */
#theme-toggle{font-size:.875rem;text-decoration:underline;cursor:pointer}
.social-entry{display:flex;flex-direction:column}
.social-entry span{color: var(--muted)}
.social-entries {display:flex; flex-wrap:wrap;gap:0.5rem 2rem}
.bio img{width:96px;height: 96px;border-radius:100%}
.bio-description {display:flex;align-items:center;gap:1rem}
#contact {margin-top:0rem}
img {margin: auto; display: block; padding:2px; width:85%}
/* mobile: stack avatar over text */
@media (max-width: 600px) {
  .bio-description {
    flex-direction: column;
    align-items: center;    /* center avatar+text */
    text-align: center;      /* center text under avatar */
    gap: 0.5rem;             /* a bit less gap now vertical */
  }
  .bio img {
    /* optionally shrink a bit on very small screens */
    width: 80px;
    height: 80px;
    margin-bottom: 0.25rem;
  }
}
main.container > article > p > a {text-decoration:underline}
