
:root{--bg:#fafafa;--fg:#222;--muted:#666;--accent:#0b5fa5;--card:#fff;--line:#e3e3e3}
@media(prefers-color-scheme:dark){:root{--bg:#121417;--fg:#e6e6e6;--muted:#9aa;--accent:#6cb4ff;--card:#1b1f24;--line:#2a2f36}}
*{box-sizing:border-box}body{margin:0;font:17px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--fg)}
a{color:var(--accent)}header.site{border-bottom:1px solid var(--line);padding:1.2rem 1rem;background:var(--card)}
header.site .inner,main,footer .inner{max-width:860px;margin:0 auto}header.site h1{margin:0;font-size:1.6rem}header.site p{margin:.2rem 0 0;color:var(--muted)}
nav.menu{margin-top:.8rem;display:flex;flex-wrap:wrap;gap:.3rem .9rem;font-size:.95rem}main{padding:1.5rem 1rem}
article.entry{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:1.4rem 1.6rem;margin-bottom:1.4rem}
article.entry h1,article.entry h2{margin-top:0}.meta{color:var(--muted);font-size:.9rem}.meta a{color:var(--muted)}
.entry-content img{max-width:100%;height:auto}.entry-content pre{overflow:auto;background:#0f172a;color:#e2e8f0;padding:.9rem 1rem;border-radius:6px;font-size:.85rem}
.entry-content code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.entry-content table{border-collapse:collapse}.entry-content td,.entry-content th{border:1px solid var(--line);padding:.3rem .6rem}
.entry-content blockquote{border-left:4px solid var(--accent);margin:1rem 0;padding:.2rem 1rem;color:var(--muted)}
ul.postlist{list-style:none;padding:0}ul.postlist li{padding:.45rem 0;border-bottom:1px dashed var(--line)}ul.postlist .d{color:var(--muted);font-family:ui-monospace,monospace;font-size:.85rem;margin-right:.6rem}
.gallery .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem}.gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:4px}
.notice{color:var(--muted);font-style:italic;border:1px dashed var(--line);padding:.4rem .8rem;border-radius:6px}
footer{border-top:1px solid var(--line);padding:1rem;color:var(--muted);font-size:.85rem;margin-top:2rem}h2.year{margin:1.6rem 0 .4rem;border-bottom:2px solid var(--line)}
