/* archive minimal */
:root { --fg:#111; --muted:#555; --bg:#fff; --accent:#0a58a8; --border:#e5e5e5; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust:100%; }
body { font: 16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,sans-serif; color:var(--fg); background:var(--bg); margin:0; }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
.container { max-width: 760px; margin: 0 auto; padding: 1rem 1.25rem; }
.site-header { border-bottom: 1px solid var(--border); background:#fafafa; }
.site-header .container { display:flex; align-items:baseline; gap:1rem; flex-wrap:wrap; }
.site-header h1 { font-size:1.25rem; margin:0; }
.site-header nav a { margin-right:.75rem; color:var(--muted); font-size:.95rem; }
.archive-banner { background:#fffbea; border-bottom:1px solid #eadfa5; color:#4a3b00; font-size:.85rem; }
.archive-banner .container { padding:.5rem 1.25rem; }
main.container { padding: 1.5rem 1.25rem 3rem; }
article header h1 { font-size:1.9rem; line-height:1.25; margin:.25rem 0 .5rem; }
article .meta { color: var(--muted); font-size:.9rem; margin-bottom:1.5rem; }
article .content img, article .content video, article .content iframe { max-width:100%; height:auto; }
article figure.featured { margin: 0 0 1.5rem; }
article figure.featured img { width:100%; height:auto; display:block; border-radius:4px; }
.photo-credit { color: var(--muted); font-style: italic; font-size: .95rem; margin: 0 0 1rem; }
.photo-grid { display: flex; flex-direction: column; gap: 1.5rem; margin: 1.5rem 0; }
.photo-grid figure.photo { margin:0; display:flex; flex-direction:column; align-items:center; }
.photo-grid figure.photo img { max-width:100%; width:100%; height:auto; border:1px solid var(--border); border-radius:4px; display:block; background:#fafafa; box-shadow:0 2px 8px rgba(0,0,0,.06); }
.photo-grid figure.photo figcaption { color:var(--muted); font-size:.9rem; margin-top:.5rem; line-height:1.4; text-align:center; }
.gallery-captions { margin: 1.5rem 0; }
.gallery-captions ul { padding-left:1.2rem; }
.gallery-captions li { margin: .25rem 0; color: var(--muted); font-size: .9rem; }
.photo-grid figure.photo img { cursor: zoom-in; transition: opacity .1s; }
.photo-grid figure.photo img:hover { opacity: .92; }
article figure.featured img { cursor: zoom-in; }
#lightbox { position: fixed; inset: 0; background: rgba(0,0,0,.92); display: none; align-items: center; justify-content: center; z-index: 9999; padding: 1rem; }
#lightbox.open { display: flex; }
#lightbox img { max-width: 100%; max-height: 100%; object-fit: contain; cursor: zoom-out; box-shadow: 0 8px 32px rgba(0,0,0,.5); }
#lightbox .close { position: absolute; top: 1rem; right: 1.5rem; color: #fff; font-size: 2rem; cursor: pointer; background: none; border: 0; line-height: 1; }
#lightbox .caption { position: absolute; bottom: 1rem; left: 1rem; right: 1rem; color: #fff; text-align: center; font-size: .95rem; text-shadow: 0 1px 3px rgba(0,0,0,.8); }
article .content figure { margin: 1rem 0; }
article .content figcaption { color:var(--muted); font-size:.9rem; }
article .content p { margin: 0 0 1rem; }
article .content blockquote { border-left:3px solid var(--border); padding-left:1rem; color:var(--muted); margin:1rem 0; }
.post-list { list-style:none; padding:0; margin:0; }
.post-list li { padding:1rem 0; border-bottom:1px solid var(--border); display:flex; gap:1rem; align-items:flex-start; }
.post-list .thumb { flex:0 0 120px; }
.post-list .thumb img { width:120px; height:80px; object-fit:cover; border-radius:4px; display:block; }
.post-list .post-list-body { flex:1; min-width:0; }
.post-list h2 { font-size:1.2rem; margin:0 0 .25rem; }
.post-list .meta { color:var(--muted); font-size:.85rem; }
.post-list p { margin:.5rem 0 0; color:#333; }
@media (max-width: 480px) {
  .post-list li { flex-direction: column; }
  .post-list .thumb, .post-list .thumb img { width:100%; flex-basis:auto; }
  .post-list .thumb img { height:180px; }
}
.pagination { margin: 2rem 0; display:flex; gap:1rem; justify-content:space-between; }
.pagination a { padding:.5rem 1rem; background:#f4f4f4; border-radius:4px; }
.site-footer { border-top:1px solid var(--border); color:var(--muted); font-size:.85rem; }
.site-footer .container { padding:1rem 1.25rem; text-align:center; }

.cover-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 1.25rem; margin: 1rem 0 2rem; }
.cover { display:flex; flex-direction:column; }
.cover img { width:100%; height:auto; border:1px solid var(--border); border-radius:4px; background:#fafafa; box-shadow: 0 2px 6px rgba(0,0,0,0.06); }
.cover-meta { font-size:.85rem; margin-top:.4rem; color: var(--muted); }
.cover-meta .date { font-weight:600; color: var(--fg); }
.home-search { display:flex; gap:.5rem; margin:1.25rem 0 2rem; }
.home-search input[type="search"] { flex:1; padding:.7rem 1rem; font-size:1.05rem; border:2px solid var(--border); border-radius:6px; box-sizing:border-box; }
.home-search input[type="search"]:focus { outline:none; border-color: var(--accent); }
.home-search button { padding:.7rem 1.25rem; font-size:1.05rem; background:var(--accent); color:#fff; border:0; border-radius:6px; cursor:pointer; font-weight:600; }
.home-search button:hover { filter: brightness(.92); }
