
:root { --bg:#f4f3ef; --ink:#1b1b1b; --accent:#0f7c88; --muted:#6d6962; --card:#fbfbf8; --line:#e3e1da; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:"Hiragino Sans","Yu Gothic","Helvetica Neue",Arial,sans-serif; }
.site-header { display:flex; align-items:center; justify-content:space-between; padding:14px 24px; background:#fff; border-bottom:2px solid var(--accent); position:sticky; top:0; z-index:10; flex-wrap:wrap; gap:8px;}
.site-header .brand { font-weight:700; color:var(--ink); text-decoration:none; font-size:1.05rem; }
.site-header nav a { margin-left:18px; color:var(--accent); text-decoration:none; font-weight:600; }
main { max-width:1100px; margin:0 auto; padding:24px; }
h1 { font-size:1.6rem; margin-bottom:4px; }
h2 { font-size:1.15rem; margin-top:36px; border-left:6px solid var(--accent); padding-left:10px; }
.sub { color:var(--muted); }
.button { display:inline-block; background:var(--accent); color:#fff; padding:10px 18px; border-radius:6px; text-decoration:none; font-weight:600; margin:12px 0; }
.overview-img, .card img { width:100%; display:block; border-radius:6px; background:#fff; }
.overview { margin-top:20px; }
.grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px,1fr)); gap:14px; margin-top:14px; }
.card { display:block; text-decoration:none; color:var(--ink); background:var(--card); border:1px solid var(--line); border-radius:8px; overflow:hidden; transition:box-shadow .15s; }
.card:hover { box-shadow:0 2px 10px rgba(0,0,0,.12); }
.card-label { padding:8px 10px; font-weight:600; font-size:.95rem; }
.day-nav { display:flex; justify-content:space-between; gap:12px; margin-bottom:10px; font-size:.95rem; }
.day-nav a { color:var(--accent); text-decoration:none; font-weight:600; }
.archive-list { display:grid; grid-template-columns:repeat(auto-fill, minmax(260px,1fr)); gap:16px; margin-top:16px; }
.archive-row { display:block; text-decoration:none; color:var(--ink); background:var(--card); border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.archive-row img { width:100%; display:block; }
.archive-row span { display:block; padding:8px 10px; font-weight:600; }
.site-footer { max-width:1100px; margin:40px auto 20px; padding:0 24px; color:var(--muted); font-size:.8rem; }
