:root{
  --brand:#424747;
  --muted:#6b7280;
  --bg:#f4f6f8;
  --card:#ffffff;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:#0b1320;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
.wrap{max-width:1100px;margin:0 auto;padding:0 1rem}
.site-header{background:var(--brand);color:#fff}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding:1rem}
.branding h1{margin:.1rem 0 0 0;font-size:1.35rem}
.branding .tagline{margin:.15rem 0 0 0;color:#e5e7eb;font-size:.95rem}
.top-actions{display:flex;gap:.5rem}
.btn{display:inline-block;background:#fff;color:var(--brand);border:2px solid #fff;border-radius:10px;padding:.45rem .8rem;font-weight:700;text-decoration:none}
.btn.ghost{background:transparent;color:#fff;border-color:#ffffff90}
.card{background:var(--card);border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.06);padding:1rem 1.25rem;margin:1rem 0}
.calendar .cal-head{display:flex;align-items:center;justify-content:space-between}
.calendar .cal-head h2{margin:.25rem 0}
.calendar .nav{text-decoration:none;font-weight:900;font-size:1.4rem;color:var(--brand);background:#0000;border:2px solid var(--brand);padding:.05rem .5rem;border-radius:8px}
.calendar .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem;margin-top:.6rem}
.calendar .dow{font-weight:700;color:var(--muted);text-align:center}
.calendar .cell{background:#00000008;border:1px solid #e5e7eb;border-radius:10px;min-height:54px;display:flex;align-items:center;justify-content:center}
.calendar .cell.today{outline:2px solid var(--brand)}
.calendar .cell.has-post{background:#e7f5ef;border-color:#bde6d0}
.calendar .cell.selected{box-shadow:0 0 0 3px rgba(66,71,71,.35) inset}
.calendar .cell.empty{background:transparent;border:none}
.calendar .day{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;text-decoration:none;color:inherit;border-radius:10px}
.calendar .day.has:hover{background:#dff0e7}
.calendar .day.no{opacity:.55;cursor:default}
.calendar .legend{margin-top:.5rem;color:var(--muted);display:flex;align-items:center;gap:1rem}
.calendar .legend .key{display:inline-block;width:16px;height:16px;border-radius:4px;border:1px solid #e5e7eb;background:#00000008}
.calendar .legend .key.has{background:#e7f5ef;border-color:#bde6d0}
.calendar .legend .key.today{background:#fff;border-color:#424747;outline:2px solid #424747}
.post .post-head h2{margin:.25rem 0}
.post .post-body{line-height:1.6}
.post .post-body img{max-width:100%;height:auto;border-radius:10px}
.post .post-foot{margin-top:.75rem}
.site-foot{color:#6b7280;padding:1rem 0}
@media (prefers-color-scheme: dark){
  :root{ --bg:#0b1220; --card:#0f1529; }
  body{color:#e7eaf0}
  .branding .tagline{color:#cdd3e0}
  .calendar .cell{background:#0f1a2f;border-color:#1f2a48}
  .calendar .cell.has-post{background:#102a20;border-color:#1b5137}
  .calendar .day.has:hover{background:#12362a}
  .calendar .legend .key{border-color:#1f2a48;background:#0f1a2f}
  .calendar .legend .key.has{background:#102a20;border-color:#1b5137}
}