:root{color-scheme:light;--bg:#fffdf9;--fg:#2b2622;--muted:#8a7f72;--line:#e2d9c8;--accent:#9a4a2b;--code:#f3eee4}
html[data-theme="dark"]{color-scheme:dark;--bg:#1c1a17;--fg:#e9e2d6;--muted:#a39886;--line:#38322a;--accent:#d98a64;--code:#2a261f}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:18px/1.95 "Noto Serif TC","Songti TC",Georgia,serif;letter-spacing:.02em}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}
.site-header{display:flex;justify-content:space-between;align-items:baseline;max-width:680px;margin:0 auto;padding:40px 16px 20px;border-bottom:1px solid var(--line)}
.site-title{font-size:1.5rem;font-weight:700;color:var(--fg);letter-spacing:.06em}
.site-header nav a{margin-left:18px;color:var(--muted);font-size:.95rem}
.site-header nav a:hover{color:var(--accent)}
.wrap{max-width:680px;margin:0 auto;padding:36px 16px}
.post-list{list-style:none;margin:0;padding:0}
.post-list li{padding:22px 0;border-bottom:1px dashed var(--line)}
.post-title{font-size:1.25rem;font-weight:700;color:var(--fg)}
.post-title:hover{color:var(--accent);text-decoration:none}
.meta{color:var(--muted);font-size:.85rem;letter-spacing:.04em}
.excerpt{margin:8px 0 0;color:var(--muted);font-size:.95rem}
.article-header h1{margin:0 0 6px;font-size:1.9rem;line-height:1.45}
.article-body{margin-top:28px}
.article-body img{max-width:100%;height:auto;border-radius:4px}
.article-body pre{overflow:auto;padding:14px;background:var(--code);border-radius:4px;font-size:.9rem}
.article-body blockquote{margin:0;padding-left:18px;border-left:3px solid var(--accent);color:var(--muted)}
.back-link{margin-top:44px}
.site-footer{max-width:680px;margin:0 auto;padding:28px 16px 40px;color:var(--muted);font-size:.8rem;border-top:1px solid var(--line);text-align:center}
.article-body p{margin:0;min-height:1.95em}
.archive-year{font-size:1.3rem;margin:32px 0 4px;padding-bottom:4px;border-bottom:1px solid var(--line)}
.archive-month{font-size:1rem;color:var(--muted);margin:16px 0 4px}
.archive-list{list-style:none;margin:0;padding:0}
.archive-list li{padding:4px 0}
.archive-list li .meta:first-child{font-variant-numeric:tabular-nums;margin-right:8px}
@media (max-width:480px){.site-header{flex-wrap:wrap;gap:6px}.site-header nav a{margin-left:0;margin-right:14px}}
.theme-toggle{margin-left:18px;background:none;border:1px solid var(--line);border-radius:999px;color:var(--muted);font:inherit;font-size:.85rem;line-height:1;padding:6px 10px;cursor:pointer}
.theme-toggle:hover{color:var(--accent);border-color:var(--accent)}
@media (max-width:480px){.theme-toggle{margin-left:0}}
