:root{--bg:#f3f7fd;--card:#fff;--ink:#14243b;--muted:#5a6b82;--brand:#0b4a8b;--line:#d6e2f2;--shadow:0 1px 2px rgba(20,36,59,.08),0 2px 8px rgba(20,36,59,.06)}
@media (prefers-color-scheme:dark){:root{--bg:#0e1622;--card:#16212f;--ink:#e6eef8;--muted:#9fb0c5;--brand:#7fb6ff;--line:#26364b;--shadow:none}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
.crumbs{font-size:14px;color:var(--muted);margin:20px 0 4px}.crumbs a{color:var(--muted)}
h1{font-size:clamp(22px,3.2vw,30px);line-height:1.2;margin:4px 0 8px}
.lede{color:var(--muted);margin:0 0 8px}
.about{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:4px 18px;margin:16px 0;max-width:80ch}
.about p{margin:12px 0}
h2{font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:28px 0 12px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;padding:0;margin:0;list-style:none}
.grid.albums{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.card{background:var(--card);border-radius:10px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);height:100%}
.card a{display:block;color:var(--ink);height:100%}.card a:hover{text-decoration:none}.card a:hover .t{color:var(--brand)}
.card .ph{aspect-ratio:1/1;background:#e6edf7 center/cover no-repeat;display:block;width:100%;object-fit:cover}
.card .t{display:block;padding:8px 10px 2px;font-size:14px;font-weight:600;line-height:1.3}
.card .n{display:block;padding:0 10px 10px;font-size:13px;color:var(--muted)}
.viewer{margin:12px 0 0;text-align:center}
.viewer img,.viewer video{max-width:100%;height:auto;max-height:80vh;border-radius:6px;box-shadow:var(--shadow);background:var(--card)}
.pager{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:14px 0;font-size:15px}
.pager .pos{color:var(--muted);font-size:14px;text-align:center}
.pager>a,.pager>span.off{padding:6px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card);white-space:nowrap}
@media (max-width:520px){.pager .pos .in{display:none}}
.pager span.off{visibility:hidden}
.meta{max-width:80ch;margin:0 auto 8px}.meta p{margin:8px 0}
.note{font-size:14px;color:var(--muted)}
.comments{max-width:80ch;margin:24px auto 0}
.comment{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 16px;margin:10px 0}
.comment .who{font-size:13px;color:var(--muted)}
.credit{margin:40px 0 0;font-size:14px;color:var(--muted)}
