:root{--bg: #fdfdfb;--bg-soft: #f5f4f0;--text: #1f1e1c;--text-soft: #6c6a64;--text-faint: #9d9a92;--line: #e5e3dc;--accent: #a8503c;--accent-soft: #f3e7e2;--radius: 10px;--maxw: 720px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif}@media(prefers-color-scheme:dark){:root{--bg: #17171a;--bg-soft: #1f1f23;--text: #e9e7e3;--text-soft: #a5a29b;--text-faint: #77746d;--line: #2e2e33;--accent: #d98a70;--accent-soft: #33241f}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:17px;line-height:1.8;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}img{max-width:100%;height:auto;border-radius:var(--radius)}.site-header{padding:40px 0 28px;border-bottom:1px solid var(--line);margin-bottom:48px}.site-header .inner{display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap}.brand{font-size:20px;font-weight:600;letter-spacing:.02em}.brand .dot{color:var(--accent)}.tagline{display:block;font-size:13px;font-weight:400;color:var(--text-faint);letter-spacing:.04em;margin-top:2px}.site-nav{display:flex;gap:22px;font-size:14px;color:var(--text-soft)}.site-nav a[aria-current=page]{color:var(--text);border-bottom:1px solid var(--accent)}.page-title{font-size:26px;font-weight:600;margin:0 0 18px;letter-spacing:-.01em;line-height:1.5}.intro{color:var(--text-soft);font-size:15px;margin:0 0 44px;padding-left:14px;border-left:2px solid var(--accent)}.post-list{list-style:none;margin:0;padding:0}.post-item{padding:26px 0;border-bottom:1px solid var(--line)}.post-item:first-child{padding-top:0}.post-item time{display:block;font-size:12.5px;color:var(--text-faint);letter-spacing:.08em;font-variant-numeric:tabular-nums;margin-bottom:8px}.post-item h2{margin:0 0 8px;font-size:20px;font-weight:600;line-height:1.5}.post-item h2 a:hover{color:var(--accent)}.post-item .summary{margin:0;color:var(--text-soft);font-size:15px;line-height:1.7}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tag{font-size:12px;color:var(--text-soft);background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:1px 10px}.article-header{margin-bottom:40px}.article-header h1{font-size:30px;line-height:1.45;font-weight:600;margin:0 0 12px;letter-spacing:-.01em}.article-meta{font-size:13px;color:var(--text-faint);font-variant-numeric:tabular-nums}.prose{font-size:17px;line-height:1.9}.prose p{margin:0 0 1.4em}.prose h2{font-size:21px;font-weight:600;margin:2.2em 0 .8em;line-height:1.5}.prose h3{font-size:18px;font-weight:600;margin:1.8em 0 .7em}.prose a{color:var(--accent);border-bottom:1px solid var(--accent-soft)}.prose blockquote{margin:1.6em 0;padding:2px 0 2px 18px;border-left:2px solid var(--accent);color:var(--text-soft)}.prose ul,.prose ol{padding-left:1.4em;margin:0 0 1.4em}.prose li{margin-bottom:.4em}.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;background:var(--bg-soft);border:1px solid var(--line);border-radius:4px;padding:1px 5px}.prose pre{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;overflow-x:auto;font-size:14px;line-height:1.7}.prose pre code{background:none;border:none;padding:0;font-size:inherit}.prose hr{border:none;border-top:1px solid var(--line);margin:2.4em 0}.prose img{display:block;margin:1.6em auto}.back-link{display:inline-block;margin-top:56px;font-size:14px;color:var(--text-soft)}.empty{color:var(--text-faint);font-size:15px;padding:40px 0}.site-footer{margin-top:80px;padding:28px 0 48px;border-top:1px solid var(--line);font-size:13px;color:var(--text-faint);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.archive-year{font-size:13px;letter-spacing:.1em;color:var(--text-faint);margin:40px 0 12px;font-variant-numeric:tabular-nums}.archive-list{list-style:none;margin:0;padding:0}.archive-list li{display:flex;gap:16px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:15.5px}.archive-list time{color:var(--text-faint);font-size:13px;font-variant-numeric:tabular-nums;flex:0 0 62px;padding-top:3px}@media(max-width:560px){body{font-size:16px}.container{padding:0 20px}.site-header{padding-top:28px;margin-bottom:36px}.article-header h1{font-size:25px}}
