:root{--bg: #f4efe6;--bg-soft: rgba(255, 250, 241, .86);--surface: rgba(255, 248, 238, .7);--surface-strong: rgba(255, 251, 246, .92);--line: rgba(85, 62, 45, .12);--line-strong: rgba(85, 62, 45, .22);--text: #2f241d;--text-soft: #675449;--accent: #bf6c2d;--accent-deep: #7b3b15;--shadow: 0 28px 70px rgba(90, 60, 38, .12);--radius-xl: 28px;--radius-lg: 20px;--radius-md: 14px;--max-width: 1180px;--font-title: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;--font-body: "Avenir Next", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-code: "JetBrains Mono", "SFMono-Regular", Consolas, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(circle at top left,rgba(233,208,173,.72),transparent 35%),radial-gradient(circle at bottom right,rgba(152,181,157,.3),transparent 32%),linear-gradient(180deg,#fbf5eb,#f3ecdf 52%,#efe4d1);font-family:var(--font-body)}body:before{content:"";position:fixed;inset:0;background-image:linear-gradient(rgba(114,87,61,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(114,87,61,.04) 1px,transparent 1px);background-size:32px 32px;pointer-events:none;mask-image:linear-gradient(180deg,rgba(0,0,0,.24),transparent 85%)}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}code,pre{font-family:var(--font-code)}.page-shell{position:relative;overflow:hidden}.ambient{position:fixed;width:24rem;height:24rem;border-radius:999px;filter:blur(28px);opacity:.28;pointer-events:none}.ambient-left{top:-8rem;left:-7rem;background:#bf6c2d38}.ambient-right{right:-9rem;bottom:-8rem;background:#6c8c753d}.page{width:min(calc(100% - 2rem),var(--max-width));margin:0 auto;padding:1.5rem 0 4rem}.shell-panel{position:relative;backdrop-filter:blur(22px);background:linear-gradient(180deg,var(--surface-strong) 0%,var(--surface) 100%);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow)}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem}.brand{font-family:var(--font-title);font-size:clamp(1.1rem,2.4vw,1.45rem);letter-spacing:.08em}.nav-links{display:flex;align-items:center;gap:.4rem}.nav-links a{padding:.65rem 1rem;border-radius:999px;color:var(--text-soft);transition:background-color .18s ease,color .18s ease,transform .18s ease}.nav-links a:hover,.nav-links a.is-active{background:#bf6c2d1f;color:var(--accent-deep);transform:translateY(-1px)}.hero,.list-hero,.empty-panel,.article,.sidebar{padding:1.5rem}.hero{margin-top:1.25rem;min-height:calc(100vh - 12rem);display:flex;flex-direction:column;justify-content:center;gap:1rem}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.22em;font-size:.82rem;color:var(--accent)}.hero h1,.list-hero h1,.article h1{margin:0;font-family:var(--font-title);font-size:clamp(2.8rem,8vw,5.8rem);line-height:.95;letter-spacing:.02em}.hero-copy{margin:0;max-width:34rem;font-size:clamp(1.15rem,2.3vw,1.55rem);color:var(--text-soft)}.hero-subcopy,.list-hero p,.empty-panel p,.article-summary,.post-card p,.markdown-body{color:var(--text-soft);line-height:1.8}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.5rem}.primary-button,.post-card-link{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:.9rem 1.3rem;border-radius:999px;background:linear-gradient(135deg,var(--accent),#db8e54);color:#fffaf4;font-weight:600;transition:transform .18s ease,box-shadow .18s ease;box-shadow:0 14px 24px #bf6c2d38}.primary-button:hover,.post-card-link:hover{transform:translateY(-2px);box-shadow:0 18px 30px #bf6c2d47}.hero-stats{display:flex;flex-wrap:wrap;gap:.75rem;color:var(--text-soft)}.hero-stats span,.category-badges span,.post-card-meta span,.article-meta span,.sidebar-category-title span{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .75rem;border-radius:999px;border:1px solid var(--line);background:#fff6;font-size:.92rem}.list-page,.detail-page{display:grid;gap:1.25rem}.list-hero{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-top:1.25rem}.list-hero h1{font-size:clamp(2.4rem,5vw,4rem)}.category-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.post-card{display:flex;flex-direction:column;gap:1rem;min-height:100%;padding:1.35rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fffbf6d1;box-shadow:0 18px 35px #5a3c2614}.post-card h2{margin:0;font-family:var(--font-title);font-size:1.75rem;line-height:1.1}.post-card h2 a:hover{color:var(--accent-deep)}.post-card-meta{display:flex;flex-wrap:wrap;gap:.5rem}.detail-layout{display:grid;grid-template-columns:minmax(16rem,21rem) minmax(0,1fr);gap:1rem;align-items:start}.sidebar{position:sticky;top:1.25rem;max-height:calc(100vh - 2.5rem);overflow:auto}.sidebar-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:1rem}.sidebar-heading span,.sidebar-heading strong{color:var(--text-soft)}.sidebar-category+.sidebar-category{margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid var(--line)}.sidebar-category-title{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem}.sidebar-category-title h2{margin:0;font-size:1rem;font-family:var(--font-body)}.sidebar ul{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}.sidebar li a{display:flex;flex-direction:column;gap:.2rem;padding:.8rem .9rem;border-radius:var(--radius-md);color:var(--text-soft);border:1px solid transparent;transition:border-color .18s ease,background-color .18s ease,transform .18s ease}.sidebar li a:hover,.sidebar li a.is-current{color:var(--accent-deep);background:#bf6c2d1a;border-color:#bf6c2d29;transform:translate(2px)}.sidebar li small{font-size:.82rem;opacity:.8}.article{min-width:0}.article-head{padding-bottom:1.25rem;margin-bottom:1.25rem;border-bottom:1px solid var(--line)}.article h1{font-size:clamp(2rem,5vw,3.5rem)}.article-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.markdown-body{font-size:1rem}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin:2rem 0 .85rem;color:var(--text);font-family:var(--font-title);line-height:1.2}.markdown-body p,.markdown-body li,.markdown-body blockquote{margin:0 0 1rem}.markdown-body ul,.markdown-body ol{padding-left:1.35rem}.markdown-body a{color:var(--accent-deep);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.14em}.markdown-body blockquote{margin-left:0;padding:1rem 1.1rem;border-left:4px solid rgba(191,108,45,.36);background:#bf6c2d14;border-radius:0 var(--radius-md) var(--radius-md) 0}.markdown-body pre{overflow-x:auto;padding:1rem;border-radius:var(--radius-md);background:#231c18;color:#f8efe7}.markdown-body code{padding:.15rem .35rem;border-radius:.4rem;background:#2f241d14;font-size:.92em}.markdown-body pre code{padding:0;background:transparent}.markdown-body table{width:100%;border-collapse:collapse;margin-bottom:1.2rem;overflow:hidden;border-radius:var(--radius-md);border:1px solid var(--line)}.markdown-body th,.markdown-body td{padding:.85rem 1rem;border-bottom:1px solid var(--line);text-align:left}.markdown-body th{background:#2f241d0f}.markdown-body hr{border:none;border-top:1px solid var(--line);margin:2rem 0}.empty-state{margin:0}.fade-in{animation:fadeIn .58s ease both}.fade-rise{animation:fadeRise .72s cubic-bezier(.22,1,.36,1) both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeRise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:960px){.list-hero,.detail-layout{grid-template-columns:1fr}.list-hero{align-items:start}.category-badges{justify-content:start}.sidebar{position:static;max-height:none}}@media(max-width:720px){.page{width:min(calc(100% - 1rem),var(--max-width));padding-top:.75rem}.site-header{flex-direction:column;align-items:start}.hero,.list-hero,.empty-panel,.article,.sidebar{padding:1.2rem}.hero{min-height:auto;padding-top:2rem;padding-bottom:2rem}.post-grid{grid-template-columns:1fr}}
