
:root{
  --bg:#f9fafb;
  --card:#ffffff;
  --text:#1f2937;
  --muted:#6b7280;
  --accent:#0ea5a4;
  --maxw:880px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter, system-ui, -apple-system, Roboto, 'Helvetica Neue', Arial;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
.container{max-width:var(--maxw);margin:0 auto;padding:28px}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:inherit}
.logo{width:56px;height:56px;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--accent);border:1px solid rgba(0,0,0,0.04)}
.site-name{font-weight:700}
.tagline{font-size:0.85rem;color:var(--muted)}

.main-nav a{margin-left:18px;color:var(--muted);text-decoration:none;font-weight:600}

.hero{position:relative;border-radius:12px;overflow:hidden;margin-bottom:22px;background:#fff;box-shadow:0 6px 18px rgba(18,23,32,0.04)}
.hero-img{width:100%;height:320px;object-fit:cover;display:block;filter:brightness(0.98)}
.hero-copy{position:absolute;left:40px;bottom:28px;color:#fff;text-shadow:0 6px 20px rgba(0,0,0,0.25)}
.hero-copy h1{margin:0;font-size:clamp(1.6rem,2.6vw,2.6rem);color:var(--text);text-shadow:none}
.hero-sub{color:var(--muted);margin-top:6px;max-width:60%}

/* layout grid */
.content-grid{display:grid;grid-template-columns:1fr 300px;gap:28px;align-items:start}
.post-content{background:transparent;padding:0}
.post-content .byline{color:var(--muted);font-size:0.95rem;margin-bottom:18px}
.post-content h2{margin-top:26px}

.inline-img{margin:18px 0;padding:12px;background:var(--card);border-radius:10px;box-shadow:0 6px 18px rgba(18,23,32,0.04)}
.inline-img img{width:100%;height:auto;border-radius:8px;display:block}
.inline-img.right{float:right;width:45%;margin-left:18px}

.callout{background:linear-gradient(90deg, rgba(14,165,164,0.06), rgba(14,165,164,0.03));border-left:4px solid var(--accent);padding:12px;border-radius:8px;margin:18px 0;color:var(--text)}

/* author box */
.author-box{display:flex;gap:12px;align-items:center;margin-top:24px;background:var(--card);padding:12px;border-radius:10px;box-shadow:0 6px 18px rgba(18,23,32,0.04)}
.author-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;border:2px solid rgba(0,0,0,0.04)}
.author-name{font-weight:700}
.author-bio{color:var(--muted);font-size:0.95rem}

/* sidebar */
.sidebar .card{background:var(--card);padding:16px;border-radius:10px;box-shadow:0 6px 18px rgba(18,23,32,0.04);margin-bottom:18px}
.sidebar h4{margin-top:0}
.subscribe-form input{width:100%;padding:10px;margin-top:8px;border-radius:8px;border:1px solid rgba(0,0,0,0.06)}
.btn{display:inline-block;padding:10px 14px;border-radius:10px;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;border:none;cursor:pointer}
.btn.ghost{background:transparent;color:var(--accent);border:2px solid rgba(14,165,164,0.12)}

/* footer */
.site-footer{background:transparent;padding:18px 0;border-top:1px solid rgba(0,0,0,0.04);margin-top:36px}
.footer-inner{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:0.95rem}

/* responsive */
@media (max-width:900px){
  .content-grid{grid-template-columns:1fr;gap:18px}
  .inline-img.right{float:none;width:100%;margin-left:0}
  .hero-copy{left:20px;right:20px;bottom:18px}
  .hero-img{height:220px}
  .container{padding:18px}
}
@media (prefers-color-scheme: dark){
  :root{--bg:#071125;--card:#071827;--text:#e6eef6;--muted:#9aa4b2;--accent:#34d399}
  body{background:var(--bg);color:var(--text)}
  .hero-copy h1{color:var(--text)}
  .logo{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.04);color:var(--accent)}
}
