/* CSS reset (trimmed) */
*,*::before,*::after{box-sizing:border-box}
html{line-height:1.5;-webkit-text-size-adjust:100%}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";color:var(--text);background:var(--bg)}
img,svg{display:block;max-width:100%;height:auto}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}

:root{--bg:#0b1020;--panel:#11172b;--text:#e5e7eb;--muted:#94a3b8;--link:#7dd3fc;--accent:#60a5fa;--border:#1f2937}
@media (prefers-color-scheme: light){:root{--bg:#ffffff;--panel:#f4f7fb;--text:#0f172a;--muted:#475569;--link:#0369a1;--accent:#2563eb;--border:#e5e7eb}}

.dark{--bg:#0b1020;--panel:#11172b;--text:#e5e7eb;--muted:#94a3b8;--link:#7dd3fc;--accent:#60a5fa;--border:#1f2937}
.light{--bg:#ffffff;--panel:#f4f7fb;--text:#0f172a;--muted:#475569;--link:#0369a1;--accent:#2563eb;--border:#e5e7eb}

.container{max-width:1040px;margin-inline:auto;padding:24px}
.center{min-height:80vh;display:grid;place-items:center;text-align:center}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:16px}
.branding{display:flex;align-items:center;gap:16px}
.avatar{border-radius:50%;border:2px solid var(--border)}
.tagline{margin:.25rem 0;color:var(--muted)}
.muted{color:var(--muted)}
.inline-links{display:flex;flex-wrap:wrap;gap:.5rem;padding-left:0;list-style:none}
.inline-links a{padding:.25rem .5rem;border:1px solid var(--border);border-radius:6px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px}
.card h3{margin-top:0}
.timeline{list-style:none;padding-left:0}
.timeline li{border-left:2px solid var(--border);padding-left:12px;margin-left:6px;margin-bottom:12px}
.tags{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding-left:0}
.tags li{background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:.25rem .6rem}
.site-footer{border-top:1px solid var(--border);margin-top:40px}
.skip-link{position:absolute;left:-999px}
.skip-link:focus{left:16px;top:8px;background:var(--panel);padding:8px;border-radius:6px}
.theme-toggle{background:transparent;border:1px solid var(--border);border-radius:8px;padding:.5rem;cursor:pointer}

/* utilities */
h1,h2,h3{line-height:1.2}
h1{font-size:1.75rem;margin:.25rem 0}
h2{font-size:1.25rem;margin:1.5rem 0 .5rem}
h3{font-size:1.1rem;margin:.75rem 0 .25rem}
p{margin:.5rem 0 1rem}

/* print */
@media print{.theme-toggle,.skip-link{display:none}}

/* responsive layout tweaks to reduce vertical length */
@media (min-width: 960px){
  /* denser project grid on wide screens */
  #projects .grid{grid-template-columns:repeat(3,minmax(0,1fr))}

  /* show some lists in two columns to shorten page length */
  #education-list, #residences-list, #activities-list{
    column-count:2;
    column-gap:24px;
  }
  #education-list li, #residences-list li, #activities-list li{
    break-inside:avoid;
    -webkit-column-break-inside:avoid;
    page-break-inside:avoid;
  }
}
