:root{--measure: 44rem;--bg: #faf9f6;--bg-subtle: #f1efe8;--fg: #201f1c;--muted: #837e74;--border: #e8e5dc;--accent: #8a682c;--accent-soft: rgba(138, 104, 44, .12);--moon-hi: #f0e9d6;--moon-lo: #dcd2b6;--font-serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Source Han Serif SC", "Source Han Serif CN", "Songti SC", "Noto Serif CJK SC", "Noto Serif SC", STSong, STSongti, Georgia, "Times New Roman", serif;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Microsoft YaHei", Helvetica, Arial, sans-serif;--font-mono: "SF Mono", "JetBrains Mono", "Fira Code", ui-monospace, "Maple Mono", Menlo, Consolas, monospace;color-scheme:light}*{box-sizing:border-box}@view-transition{navigation:auto}html{font-family:var(--font-serif);font-size:18px;line-height:1.85;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;scrollbar-gutter:stable}body{margin:0;background:var(--bg);color:var(--fg)}a{color:var(--accent);text-decoration:none;text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{text-decoration:underline}.sky{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.sky-moon{position:absolute;top:9vh;right:9vw;width:104px;aspect-ratio:1;border-radius:50%;opacity:.55;background:radial-gradient(circle at 36% 34%,var(--moon-hi) 0%,var(--moon-lo) 78%)}@media(max-width:640px){.sky-moon{width:64px;top:6vh;right:8vw}}.moon-icon{vertical-align:-.12em;flex-shrink:0}.moon-icon-outline{fill:none;stroke:currentColor;stroke-width:1;opacity:.4}.moon-icon-lit{fill:currentColor}.site-header{max-width:var(--measure);margin:0 auto;padding:3rem 1.5rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.brand{display:inline-flex;align-items:center;gap:.55rem;font-size:1.12rem;font-weight:600;letter-spacing:.01em;color:var(--fg)}.brand:hover{text-decoration:none}.brand .moon-icon{color:var(--accent)}.site-header nav{display:flex;align-items:center;gap:1.5rem;font-family:var(--font-sans);font-size:.83rem;letter-spacing:.02em}.site-header nav a{color:var(--muted)}.site-header nav a:hover{color:var(--accent);text-decoration:none}.site-header nav .gh{display:inline-flex;align-items:center}.content{max-width:var(--measure);margin:0 auto;padding:4rem 1.5rem 6rem}.site-footer{max-width:var(--measure);margin:0 auto;padding:2rem 1.5rem 3.5rem;border-top:1px solid var(--border);color:var(--muted);font-family:var(--font-sans);font-size:.78rem;letter-spacing:.02em}.site-footer p{margin:0}.meta-line{display:flex;align-items:center;gap:.55rem;font-family:var(--font-sans);font-size:.78rem;letter-spacing:.1em;color:var(--muted)}.hero{padding-top:1rem}.hero h1{font-size:clamp(2rem,6vw,2.7rem);font-weight:600;line-height:1.25;letter-spacing:.005em;margin:0 0 1.4rem}.hero-line{margin:1rem 0;font-size:1.04rem;max-width:36rem}.hero-line em{color:var(--accent);font-style:normal}.home-recent{margin-top:4.5rem}.home-recent h2{font-family:var(--font-sans);font-size:.78rem;font-weight:500;letter-spacing:.18em;color:var(--muted);margin:0 0 .5rem}.recent-list{list-style:none;margin:0;padding:0}.recent-list li{display:flex;align-items:baseline;gap:1.1rem;padding:.85rem 0;border-top:1px solid var(--border)}.recent-list li:first-child{border-top:none}.recent-list .meta-line{flex-shrink:0;letter-spacing:.08em}.recent-list a{color:var(--fg);font-size:1.02rem}.recent-list a:hover{color:var(--accent);text-decoration:none}.more{margin-top:1.6rem;font-family:var(--font-sans);font-size:.85rem}@media(max-width:640px){.recent-list li{flex-direction:column;gap:.15rem;padding:1rem 0}}.post-list{list-style:none;margin:0;padding:0}.post-item{padding:2.2rem 0;border-top:1px solid var(--border)}.post-item:first-child{border-top:none;padding-top:0}.post-link h2{margin:.5rem 0 0;font-size:1.45rem;font-weight:600;line-height:1.4;color:var(--fg);transition:color .15s}.post-link:hover h2{color:var(--accent)}.post-link:hover{text-decoration:none}.post-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin:.8rem 0 0}.tag{font-family:var(--font-sans);font-size:.72rem;letter-spacing:.04em;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:.08rem .65rem}.excerpt{margin:.7rem 0 0;color:var(--muted);font-size:.95rem}.empty{color:var(--muted)}.back{margin-top:3.5rem;font-family:var(--font-sans);font-size:.85rem}.post>.meta-line{margin-bottom:1rem}.post h1{font-size:clamp(1.7rem,5.5vw,2.4rem);font-weight:600;line-height:1.32;letter-spacing:.005em;margin:0}.post .post-meta{margin-top:1.2rem;margin-bottom:3rem}.post .prose{margin-top:2.2rem}.prose{font-size:1.04rem}.prose>:first-child{margin-top:0}.prose p{margin:1.3rem 0}.prose h1,.prose h2,.prose h3,.prose h4{font-weight:600;line-height:1.4;margin:2.6rem 0 .9rem}.prose h2{font-size:1.45rem}.prose h3{font-size:1.2rem}.prose h4{font-size:1.05rem;color:var(--muted)}.prose blockquote{margin:1.8rem 0;padding:.1rem 0 .1rem 1.3rem;border-left:2px solid var(--accent);color:var(--muted)}.prose blockquote p{margin:.6rem 0}.prose a{text-decoration:underline;text-decoration-color:var(--accent-soft)}.prose a:hover{text-decoration-color:var(--accent)}.prose img{max-width:100%;height:auto;border-radius:4px;border:1px solid var(--border)}.prose ul,.prose ol{padding-left:1.4rem}.prose li{margin:.4rem 0}.prose li::marker{color:var(--muted)}.prose hr{border:none;width:3.5rem;height:1px;margin:3.2rem auto;background:var(--accent);opacity:.55}.prose :not(pre)>code{font-family:var(--font-mono);background:var(--bg-subtle);border:1px solid var(--border);padding:.1em .4em;border-radius:4px;font-size:.86em}.prose pre{font-family:var(--font-mono);padding:1.1rem 1.3rem;border-radius:6px;border:1px solid var(--border);overflow-x:auto;font-size:.87rem;line-height:1.65;margin:1.8rem 0}.prose pre.shiki{background-color:var(--bg-subtle)!important}.prose pre code{background:none;border:none;padding:0;font-size:inherit}.prose pre{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.prose pre::-webkit-scrollbar{height:8px}.prose pre::-webkit-scrollbar-track{background:transparent}.prose pre::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.prose table{border-collapse:collapse;width:100%;margin:1.8rem 0;font-size:.95rem}.prose th,.prose td{border:1px solid var(--border);padding:.5rem .7rem;text-align:left}.prose th{background:var(--bg-subtle);font-family:var(--font-sans);font-size:.85rem}
