:root{--z-bg: #FDFCF8;--z-bg-soft: #F7F5F0;--z-card: #FFFFFF;--z-text: #1F1F1F;--z-text-secondary: #6B6B6B;--z-text-tertiary: #9B9B9B;--z-accent: #C45C3E;--z-accent-soft: rgba(196, 92, 62, .08);--z-border: #E8E4DC;--z-border-strong: #D4CFC4;--z-code-bg: #F4F1EA;--z-mark: rgba(196, 92, 62, .16);--z-shadow: 0 4px 24px rgba(31, 31, 31, .06);--z-shadow-sm: 0 2px 8px rgba(31, 31, 31, .04);--z-radius: 14px;--z-radius-sm: 8px;--z-font-serif: "Noto Serif SC", Georgia, "Songti SC", serif;--z-font-sans: "Inter", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--z-font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;--z-max-width: 840px;--z-content-width: 760px}[data-z-theme=dark]{--z-bg: #1A1A1A;--z-bg-soft: #232323;--z-card: #252525;--z-text: #ECEAE6;--z-text-secondary: #A8A8A8;--z-text-tertiary: #6E6E6E;--z-accent: #E07A5F;--z-accent-soft: rgba(224, 122, 95, .12);--z-border: #3A3A3A;--z-border-strong: #4A4A4A;--z-code-bg: #2A2A2A;--z-mark: rgba(224, 122, 95, .22);--z-shadow: 0 4px 24px rgba(0, 0, 0, .3);--z-shadow-sm: 0 2px 8px rgba(0, 0, 0, .25);color-scheme:dark}html{font-size:16px}[data-z-size=small]{font-size:15px}[data-z-size=large]{font-size:18px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--z-font-sans);background:var(--z-bg);color:var(--z-text);line-height:1.75;transition:background .3s ease,color .3s ease;-webkit-font-smoothing:antialiased}::selection{background:var(--z-mark)}a{color:var(--z-accent);text-decoration:none;transition:opacity .2s}a:hover{opacity:.75}.z-container{max-width:var(--z-max-width);margin:0 auto;padding:0 24px}.z-progress-bar{position:fixed;top:0;left:0;height:3px;width:0%;background:var(--z-accent);z-index:200;transition:width .1s linear}.z-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--z-bg) 90%,transparent);border-bottom:1px solid var(--z-border);backdrop-filter:saturate(160%) blur(14px)}.z-header-inner{display:flex;align-items:center;justify-content:space-between;height:68px}.z-brand{display:flex;align-items:center;gap:10px;color:var(--z-text)}.z-brand-mark{width:32px;height:32px;border-radius:9px;background:var(--z-accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:var(--z-font-serif);font-weight:700;font-size:18px}.z-brand-name{font-family:var(--z-font-serif);font-size:20px;font-weight:700;letter-spacing:-.02em}.z-nav{display:flex;gap:8px}.z-nav a{color:var(--z-text-secondary);font-size:14px;padding:7px 14px;border-radius:999px;transition:all .2s}.z-nav a:hover{color:var(--z-text);background:var(--z-accent-soft);opacity:1}.z-nav a.active{color:var(--z-accent);background:var(--z-accent-soft);font-weight:500}.z-tools{display:flex;align-items:center;gap:8px}.z-tool-btn{width:36px;height:36px;border:1px solid var(--z-border);border-radius:50%;background:transparent;color:var(--z-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s}.z-tool-btn:hover{border-color:var(--z-border-strong);color:var(--z-text)}.z-icon-moon,[data-z-theme=dark] .z-icon-sun{display:none}[data-z-theme=dark] .z-icon-moon{display:inline}.z-font-switch{display:flex;align-items:center;border:1px solid var(--z-border);border-radius:999px;padding:2px}.z-font-switch button{border:none;background:transparent;color:var(--z-text-tertiary);cursor:pointer;font-family:var(--z-font-sans);font-weight:600;border-radius:999px;padding:4px 10px;transition:all .2s}.z-font-switch button[data-size=small]{font-size:12px}.z-font-switch button[data-size=medium]{font-size:13px}.z-font-switch button[data-size=large]{font-size:15px}.z-font-switch button.active{background:var(--z-accent);color:#fff}.z-search-overlay{position:fixed;inset:0;background:#1f1f1f73;z-index:300;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;opacity:0;pointer-events:none;transition:opacity .2s ease}.z-search-overlay.open{opacity:1;pointer-events:auto}.z-search-modal{width:min(560px,calc(100vw - 40px));background:var(--z-card);border:1px solid var(--z-border);border-radius:var(--z-radius);box-shadow:var(--z-shadow);overflow:hidden}.z-search-input-wrap{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--z-border)}.z-search-icon{font-size:20px;color:var(--z-text-tertiary)}.z-search-input-wrap input{flex:1;border:none;background:transparent;color:var(--z-text);font-size:16px;outline:none}.z-search-input-wrap input::placeholder{color:var(--z-text-tertiary)}.z-search-kbd{font-family:var(--z-font-mono);font-size:11px;padding:4px 8px;border:1px solid var(--z-border);border-radius:6px;color:var(--z-text-tertiary)}.z-search-results{max-height:360px;overflow-y:auto}.z-search-item{display:block;padding:14px 18px;border-bottom:1px solid var(--z-border);color:var(--z-text);transition:background .15s}.z-search-item:last-child{border-bottom:none}.z-search-item:hover{background:var(--z-bg-soft);opacity:1}.z-search-title{font-family:var(--z-font-serif);font-weight:600;font-size:15px}.z-search-meta{font-size:12px;color:var(--z-text-tertiary);margin-top:4px}.z-search-empty{padding:24px;text-align:center;color:var(--z-text-tertiary)}.z-main{min-height:calc(100vh - 188px);padding:40px 0 96px}.z-hero{padding:32px 0 16px}.z-hero-kicker{font-family:var(--z-font-mono);font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:var(--z-accent);margin-bottom:18px}.z-hero h1{font-family:var(--z-font-serif);font-size:42px;font-weight:700;line-height:1.2;letter-spacing:-.02em;margin-bottom:16px}.z-hero p{color:var(--z-text-secondary);font-size:17px;max-width:520px}.z-featured{margin:40px 0}.z-featured-grid{display:grid;gap:20px;grid-template-columns:1fr}@media(min-width:720px){.z-featured-grid{grid-template-columns:1.2fr 1fr}.z-featured-item:first-child{grid-row:span 2}}.z-featured-item{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:240px;border-radius:var(--z-radius);overflow:hidden;background:var(--z-card);border:1px solid var(--z-border);box-shadow:var(--z-shadow-sm);transition:transform .25s,box-shadow .25s}.z-featured-item:hover{transform:translateY(-3px);box-shadow:var(--z-shadow)}.z-featured-cover{height:160px;background:linear-gradient(135deg,#d4a373,#c45c3e)}.z-featured-item:first-child .z-featured-cover{height:260px}[data-z-theme=dark] .z-featured-cover{background:linear-gradient(135deg,#5a4a42,#8b3d2a)}.z-featured-content{padding:22px}.z-featured-date{font-family:var(--z-font-mono);font-size:12px;color:var(--z-text-tertiary);margin-bottom:8px}.z-featured-title{font-family:var(--z-font-serif);font-size:20px;font-weight:700;line-height:1.35;color:var(--z-text);margin-bottom:10px}.z-featured-desc{font-size:14px;color:var(--z-text-secondary);line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.z-section-head{display:flex;align-items:center;gap:14px;margin:56px 0 24px;font-family:var(--z-font-serif);font-size:22px;font-weight:700}.z-section-head:after{content:"";flex:1;height:1px;background:var(--z-border)}.z-section-head a{font-family:var(--z-font-sans);font-size:13px;font-weight:500;margin-left:auto}.z-post-list{display:flex;flex-direction:column}.z-post-row{display:grid;grid-template-columns:80px 1fr;gap:20px;align-items:start;padding:22px 0;border-bottom:1px solid var(--z-border);transition:background .2s}.z-post-row:first-child{border-top:1px solid var(--z-border)}.z-post-row:hover .z-post-title{color:var(--z-accent)}.z-post-date{font-family:var(--z-font-mono);font-size:12px;color:var(--z-text-tertiary);line-height:1.6;padding-top:4px}.z-post-title{font-family:var(--z-font-serif);font-size:18px;font-weight:700;line-height:1.4;color:var(--z-text);margin-bottom:8px;transition:color .2s}.z-post-desc{font-size:14px;color:var(--z-text-secondary);line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:10px}.z-post-tags{display:flex;gap:8px;flex-wrap:wrap}.z-tag{font-size:12px;color:var(--z-text-tertiary);border:1px solid var(--z-border);border-radius:999px;padding:2px 10px;transition:all .2s}.z-tag:hover{border-color:var(--z-accent);color:var(--z-accent);opacity:1}.z-article-layout{position:relative}.z-toc{position:absolute;right:-268px;top:0;width:220px;display:none}@media(min-width:1200px){.z-toc{display:block}}.z-toc-inner{position:sticky;top:100px;border-left:2px solid var(--z-border);padding-left:18px}.z-toc-title{font-family:var(--z-font-serif);font-size:13px;font-weight:700;color:var(--z-text-tertiary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px}.z-toc a{display:block;font-size:13px;color:var(--z-text-secondary);margin:8px 0;transition:color .2s}.z-toc a:hover{color:var(--z-accent);opacity:1}.z-article-header{margin-bottom:44px}.z-article-title{font-family:var(--z-font-serif);font-size:36px;font-weight:700;line-height:1.25;letter-spacing:-.01em;margin-bottom:18px}.z-article-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:14px;color:var(--z-text-secondary)}.z-article-actions{display:flex;gap:10px;margin-top:24px}.z-btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:8px 16px;border:1px solid var(--z-border);border-radius:999px;background:transparent;color:var(--z-text-secondary);cursor:pointer;transition:all .2s}.z-btn:hover{border-color:var(--z-accent);color:var(--z-accent)}.z-btn.primary{background:var(--z-accent);border-color:var(--z-accent);color:#fff}.z-btn.primary:hover{opacity:.9}.z-article-body{font-size:1rem;line-height:1.85;color:var(--z-text)}.z-article-body h2,.z-article-body h3,.z-article-body h4{font-family:var(--z-font-serif);font-weight:700;scroll-margin-top:88px}.z-article-body h2{font-size:1.75rem;margin:48px 0 18px;padding-bottom:10px;border-bottom:1px solid var(--z-border)}.z-article-body h3{font-size:1.4rem;margin:36px 0 14px}.z-article-body h4{font-size:1.15rem;margin:26px 0 10px}.z-article-body p{margin:18px 0}.z-article-body strong{font-weight:600}.z-article-body a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--z-accent);text-decoration-thickness:1px}.z-article-body a:hover{opacity:.75}.z-article-body blockquote{margin:28px 0;padding:6px 0 6px 22px;border-left:3px solid var(--z-accent);color:var(--z-text-secondary);font-style:italic}.z-article-body ul,.z-article-body ol{margin:18px 0;padding-left:26px}.z-article-body li{margin:7px 0}.z-article-body code{font-family:var(--z-font-mono);font-size:.86em;background:var(--z-code-bg);padding:2px 6px;border-radius:5px}.z-article-body pre{margin:26px 0;padding:22px;background:var(--z-code-bg);border-radius:var(--z-radius-sm);overflow-x:auto;font-size:.9rem;line-height:1.7}.z-article-body pre code{background:none;padding:0}.z-article-body img{max-width:100%;border-radius:var(--z-radius-sm);margin:24px 0}.z-article-body hr{border:none;border-top:1px solid var(--z-border);margin:44px 0}.z-article-body table{width:100%;border-collapse:collapse;margin:24px 0;font-size:.95rem}.z-article-body th,.z-article-body td{border:1px solid var(--z-border);padding:10px 14px;text-align:left}.z-article-body th{background:var(--z-bg-soft);font-weight:600}.z-article-body mark{background:var(--z-mark);color:inherit;padding:1px 4px;border-radius:3px}.z-article-nav{display:flex;justify-content:space-between;gap:20px;margin-top:60px;padding-top:28px;border-top:1px solid var(--z-border)}.z-article-nav a{color:var(--z-text-secondary);font-size:14px;max-width:46%}.z-article-nav a span{display:block;font-size:12px;color:var(--z-text-tertiary);margin-bottom:4px}.z-tag-cloud{display:flex;flex-wrap:wrap;gap:12px}.z-tag-cloud a{font-size:14px;padding:7px 18px;border:1px solid var(--z-border);border-radius:999px;color:var(--z-text-secondary);transition:all .2s}.z-tag-cloud a:hover{border-color:var(--z-accent);color:var(--z-accent);opacity:1}.z-tag-count{font-family:var(--z-font-mono);font-size:12px;color:var(--z-text-tertiary);margin-left:4px}.z-archive-year{font-family:var(--z-font-serif);font-size:22px;font-weight:700;margin:36px 0 14px}.z-about{font-size:1.05rem;line-height:1.9}.z-about h1{font-family:var(--z-font-serif);font-size:34px;margin-bottom:20px}.z-about h2{font-family:var(--z-font-serif);font-size:22px;margin:32px 0 12px}.z-about p{margin:12px 0;color:var(--z-text-secondary)}.z-about strong{color:var(--z-text)}.z-footer{border-top:1px solid var(--z-border);padding:36px 0;background:var(--z-bg-soft)}.z-footer-inner{display:flex;align-items:center;justify-content:space-between}.z-footer-left{display:flex;align-items:center;gap:12px}.z-footer-brand{font-family:var(--z-font-serif);font-weight:700}.z-footer-desc{font-size:13px;color:var(--z-text-tertiary)}.z-footer-right{display:flex;align-items:center;gap:18px;font-size:13px;color:var(--z-text-tertiary)}.z-footer-right a{color:var(--z-text-secondary)}@keyframes z-fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.z-hero,.z-featured-item,.z-post-row,.z-card{animation:z-fade-up .5s ease both}.z-featured-item:nth-child(2){animation-delay:.08s}.z-featured-item:nth-child(3){animation-delay:.16s}@media(max-width:640px){.z-header-inner{height:60px}.z-nav,.z-font-switch button[data-size=small]{display:none}.z-hero h1{font-size:30px}.z-article-title{font-size:26px}.z-post-row{grid-template-columns:1fr;gap:6px}.z-post-date{padding-top:0}.z-footer-inner{flex-direction:column;gap:14px;text-align:center}}.z-footer-beian[data-astro-cid-rd24dsqh]{text-align:center;padding:6px 0 16px;font-size:12px;letter-spacing:.03em;opacity:.7}.z-footer-beian[data-astro-cid-rd24dsqh] a[data-astro-cid-rd24dsqh]{color:inherit;text-decoration:none}.z-footer-beian[data-astro-cid-rd24dsqh] a[data-astro-cid-rd24dsqh]:hover{text-decoration:underline}
