:root{--bg:#f4f4f2;--surface:#fff;--text:#20201f;--muted:#74736f;--faint:#aaa8a2;--border:#e6e5e1;--mark:#f5df75;--code-bg:#202124;--shadow:0 1px 2px #0000000a, 0 7px 22px #00000008;color-scheme:light}:root[data-theme=dark]{--bg:#1d1e20;--surface:#2b2c30;--text:#dededf;--muted:#a0a0a2;--faint:#747579;--border:#38393d;--mark:#7f6825;--code-bg:#111214;--shadow:none;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);min-width:320px;color:var(--text);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:16px;line-height:1.72}a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--muted)}button,a{-webkit-tap-highlight-color:transparent}::selection{background:var(--mark);color:var(--text)}.site-header{width:min(1040px,100% - 40px);margin:0 auto;padding:23px 0 6px}.nav{justify-content:space-between;align-items:center;gap:24px;display:flex}.brand-row,.brand,.nav-links,.site-footer,.post-meta,.tag-list{align-items:center;display:flex}.brand-row{gap:8px}.brand{letter-spacing:-.01em;gap:9px;font-size:.95rem;font-weight:700;text-decoration:none}.brand-mark{background:var(--text);width:24px;height:24px;color:var(--bg);border-radius:6px;place-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem;line-height:1;display:grid}.theme-toggle{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:6px;display:grid}.theme-toggle:hover{background:var(--border);color:var(--text)}.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.sun-icon,:root[data-theme=dark] .moon-icon{display:none}:root[data-theme=dark] .sun-icon{display:block}.nav-links{white-space:nowrap;gap:24px}.nav-links a{color:var(--muted);font-size:.86rem;text-decoration:none}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--text)}.site-main{width:min(760px,100% - 40px);min-height:calc(100vh - 180px);margin:0 auto;padding:44px 0 64px}.hero{padding:4px 0 42px}.hero h1,.page-heading h1,.post-header h1{letter-spacing:-.035em;margin:0;font-weight:750;line-height:1.28}.hero h1{max-width:680px;font-size:clamp(2rem,6vw,2.5rem)}.hero-intro{color:var(--muted);margin-top:30px}.hero-intro>p:first-child{color:var(--text);font-size:1.06rem}.hero-intro strong,.article-body strong{color:var(--text)}.hero-intro ul{padding-left:1.25em}.hero-intro li{margin:.55rem 0;padding-left:.25em}.highlight{background:linear-gradient(transparent 48%, var(--mark) 48%);color:var(--text)}.section-title{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 18px;font-size:.82rem;font-weight:650}.post-list{gap:13px;display:grid}.empty-state{border-top:1px solid var(--border);color:var(--muted);margin:0;padding:24px 0;font-size:.92rem}.post-card{background:var(--surface);box-shadow:var(--shadow);border:1px solid #0000;border-radius:10px;padding:21px 23px 18px;transition:transform .16s,border-color .16s;position:relative}.post-card:hover{border-color:var(--border);transform:translateY(-1px)}.post-card h2{letter-spacing:-.015em;margin:0;font-size:1.12rem;line-height:1.42}.post-card h2 a{text-decoration:none}.post-card p{color:var(--muted);margin:8px 0 10px;font-size:.92rem;line-height:1.65}.post-meta{color:var(--faint);flex-wrap:wrap;gap:7px 14px;font-size:.76rem;line-height:1.5}.tag-list{flex-wrap:wrap;gap:6px}.tag-list a{z-index:1;text-decoration:none;position:relative}.page-heading{margin-bottom:30px}.page-heading h1{font-size:2rem}.page-heading p{color:var(--muted);margin:10px 0 0}.text-link{color:var(--muted);margin-top:22px;font-size:.9rem;display:inline-block}.archive-year{border-top:1px solid var(--border);grid-template-columns:78px 1fr;gap:24px;padding:24px 0;display:grid}.archive-year h2{margin:2px 0 0;font-size:1rem}.archive-list{gap:17px;margin:0;padding:0;list-style:none;display:grid}.archive-list a{font-weight:600;text-decoration:none}.archive-list time{color:var(--faint);font-size:.76rem;display:block}.post-header{border-bottom:1px solid var(--border);padding:9px 0 30px}.post-header h1{margin-bottom:16px;font-size:clamp(2rem,7vw,2.65rem)}.post-description{color:var(--muted);margin:0 0 16px;font-size:1.05rem}.article-body{padding-top:28px;font-size:1.04rem;line-height:1.86}.article-body h2,.article-body h3{letter-spacing:-.02em;margin:2.2em 0 .8em;line-height:1.4}.article-body h2{font-size:1.55rem}.article-body h3{font-size:1.25rem}.article-body p,.article-body ul,.article-body ol,.article-body blockquote{margin:1.15em 0}.article-body ul,.article-body ol{padding-left:1.4em}.article-body li{margin:.42em 0}.article-body blockquote{border-left:3px solid var(--faint);color:var(--muted);padding:.1em 0 .1em 1.1em}.article-body code:not(pre code){background:var(--border);border-radius:4px;padding:.14em .36em;font-size:.9em}.article-body pre{border-radius:9px;margin:1.5em 0;padding:18px 20px;font-size:.86rem;line-height:1.65;overflow-x:auto;background:var(--code-bg)!important}.article-body img{border-radius:8px;max-width:100%;height:auto}.article-body hr{border:0;border-top:1px solid var(--border);margin:2.5em 0}.back-link{color:var(--muted);margin-top:40px;font-size:.9rem;display:inline-block}.about-card{background:var(--surface);box-shadow:var(--shadow);border-radius:10px;padding:24px 26px}.about-card h2{margin-top:1.7em;font-size:1.2rem}.about-card h2:first-child{margin-top:0}.site-footer{width:min(760px,100% - 40px);color:var(--faint);flex-wrap:wrap;justify-content:center;gap:6px 18px;margin:0 auto;padding:10px 0 34px;font-size:.75rem}.site-footer a{text-decoration:none}@media (width<=700px){.site-header{width:calc(100% - 28px);padding-top:14px}.nav{display:block}.brand-row{justify-content:space-between}.nav-links{scrollbar-width:none;gap:20px;margin:12px -14px 0;padding:2px 14px 7px;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.site-main{width:calc(100% - 28px);padding-top:28px}.hero{padding-bottom:34px}.hero h1{font-size:2rem}.hero-intro{margin-top:23px}.post-card{padding:18px 18px 16px}.archive-year{grid-template-columns:1fr;gap:12px}.post-header h1{font-size:2rem}.article-body{font-size:1rem}.about-card{padding:21px 19px}.site-footer{width:calc(100% - 28px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.post-card{transition:none}}
