:root{
  --text:#222; --bg:#fdfdfd; --accent:#763f74; --accent-dark:#5e315d;
  --card-bg:#fff; --card-border:#e2e8f0;
}
@media (prefers-color-scheme: dark){
  :root{ --text:#eaeaea; --bg:#0f0f12; --card-bg:#15161a; --card-border:#272a30; --accent:#c792ea; --accent-dark:#b37bdc; }
}

/* Reset & base */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.75;color:var(--text);background:var(--bg);max-width:900px;margin:0 auto;padding:2rem}

/* Focus & accessibility */
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}
.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(--accent);color:#fff;border-radius:8px}

/* Typography */
h1{font-size:2.25rem;margin-bottom:1.25rem}
h2{font-size:1.5rem;margin:2rem 0 1rem}
h3{font-size:1.25rem;margin-bottom:.5rem}
p{margin-bottom:1rem}
.text-muted{color:#666}

/* Site nav */
.site-nav{position:sticky;top:0;z-index:100;background:var(--bg);padding:.75rem 0;border-bottom:1px solid var(--card-border);margin-bottom:1.75rem}
.site-nav nav{display:flex;gap:1.25rem;font-size:1rem;align-items:center}
.site-nav a{color:var(--accent);text-decoration:none;font-weight:600;transition:color .2s}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--accent-dark);text-decoration:underline}

/* Hero */
.hero{margin-bottom:4rem}
.hero h1{font-size:2.75rem;margin-bottom:.75rem}
.cta{display:inline-block;margin-top:1.5rem;padding:.6rem 1.2rem;background:var(--accent);color:#fff;border-radius:6px;font-weight:700;text-decoration:none;transition:background .2s}
.cta:hover{background:var(--accent-dark)}

/* Project grid */
.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;list-style:none;padding:0;margin:0}
.project-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:1.25rem;box-shadow:0 2px 6px rgba(0,0,0,.05);transition:transform .15s ease,box-shadow .15s ease}
.project-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px rgba(0,0,0,.08)}
.project-card a{color:var(--accent);text-decoration:none;font-weight:700;font-size:1.05rem}
.project-card a:hover{text-decoration:underline}

/* Books */
.book-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.book-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.04);transition:transform .15s}
.book-card:hover{transform:translateY(-2px)}
.book-link{display:flex;gap:.9rem;color:inherit;text-decoration:none;padding:12px}
.book-cover{width:64px;height:96px;object-fit:cover;border-radius:6px;background:linear-gradient(135deg,#eee,#ddd)}
.book-info h3{margin:0 0 .25rem;font-size:1.05rem}
.byline{margin:0;color:#666;font-size:.9rem}
.pills{display:flex;gap:.4rem;margin-top:.45rem;flex-wrap:wrap}
.pill{font-size:.75rem;padding:.15rem .5rem;border:1px solid var(--card-border);border-radius:999px;color:#444;background:#f8fafc}
.status-reading{background:#eef;border-color:#cdd}
.status-finished{background:#e6ffed;border-color:#cce8d2}
.filters{display:grid;grid-template-columns:1fr 160px 160px;gap:.6rem;margin:1rem 0 1.25rem}
.filters input,.filters select{padding:.55rem .7rem;border:1px solid var(--card-border);border-radius:10px;font-size:1rem}
@media(max-width:640px){.filters{grid-template-columns:1fr}}
.book-hero{display:flex;gap:1.25rem;align-items:flex-start;margin-bottom:1rem}
.book-hero .book-cover{width:88px;height:132px}
.backlink{display:inline-block;margin:.75rem 0;color:var(--accent)}

/* Footer */
footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--card-border);font-size:.9rem;color:#555;text-align:center}

/* Responsive tweak */
@media(max-width:600px){body{padding:1rem}}