@import"https://fonts.googleapis.com/css2?family=Nunito:wght@500;700;800&display=swap";:root{--bg: #f6f8ee;--bg-soft: #eef2e2;--card: #ffffff;--text: #334a3f;--muted: #6f8478;--line: #d8e5d7;--brand: #5d8f74;--brand-deep: #456f59}*{box-sizing:border-box}body{margin:0;font-family:Nunito,PingFang SC,Microsoft YaHei,sans-serif;background:radial-gradient(circle at 10% 10%,#d6ead68c,#d6ead600 42%),radial-gradient(circle at 88% 2%,#eaf4e28c,#eaf4e200 36%),radial-gradient(circle at 50% 82%,#daecd557,#daecd500 48%),linear-gradient(180deg,#f6f8ee,#f2f5e8 38%,#eff3e4 66%,#f7f9ef);background-repeat:no-repeat;background-size:170% 170%,170% 170%,180% 180%,100% 100%;background-attachment:fixed;color:var(--text)}.container{max-width:980px;margin:0 auto;padding:28px 16px 52px}header{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:24px;background:#ffffffbd;border:1px solid rgba(216,229,215,.9);border-radius:16px;padding:12px 14px;backdrop-filter:blur(5px)}.brand{display:inline-flex;align-items:center;gap:8px;color:var(--brand-deep);font-weight:800;letter-spacing:.3px}.brand-dot{width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,#8ac2a3,#5d8f74);box-shadow:none}nav{display:flex;flex-wrap:wrap;gap:10px}nav a{margin-left:0;color:var(--brand-deep);text-decoration:none;font-weight:700;background:#f9fcf7;border:1px solid var(--line);border-radius:999px;padding:6px 12px;transition:all .2s ease}nav a:hover{color:#fff;background:var(--brand);border-color:var(--brand)}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 10px 25px #5d8f7414}h1,h2{font-family:Nunito,PingFang SC,Microsoft YaHei,sans-serif;color:#2f4a3d;letter-spacing:-.02em;line-height:1.2;margin:0 0 14px;font-weight:800}h1{font-size:clamp(2rem,1.8rem + 1vw,2.5rem);position:relative;padding-left:20px;font-weight:900}h1:before{content:"";position:absolute;left:0;top:.18em;width:5px;height:.78em;border-radius:4px;background:#d18a42}h2{font-size:clamp(1.45rem,1.3rem + .5vw,1.75rem);font-weight:700}h1 a,h2 a,h3 a,h4 a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s ease,color .2s ease}h1 a:visited,h2 a:visited,h3 a:visited,h4 a:visited{color:inherit}h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover{color:#274236;border-color:#86b19b}.muted{color:var(--muted)}.tags{display:flex;gap:8px;flex-wrap:wrap}.tag{border:1px solid #d1e3d1;background:#f4faf2;padding:3px 9px;border-radius:999px;font-size:12px;color:var(--brand-deep)}.list{display:grid;gap:12px}input,button{font:inherit}.post-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:16px;align-items:start}.post-article{min-width:0}.post-content{overflow-wrap:anywhere;line-height:1.72}.post-content img{display:block;max-width:100%;height:auto;border-radius:10px}.post-content pre{overflow-x:auto;margin:14px 0;padding:14px 16px;border-radius:12px;border:1px solid #d7e6d7;background:#f3f8f2;color:#2f4a3d;line-height:1.6}.post-content pre code{background:transparent;padding:0;border-radius:0;color:inherit}.post-content :not(pre)>code{background:#ecf4e9;color:#2f4a3d;border:1px solid #d7e6d7;border-radius:6px;padding:2px 6px}.post-content table{display:block;overflow-x:auto}.post-toc{position:sticky;top:18px;max-height:calc(100vh - 36px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;padding:14px 14px 12px}.post-toc:hover,.post-toc:focus-within,.post-toc.toc-scrolling{scrollbar-width:thin;scrollbar-color:#c2d8c5 #eff5ec}.post-toc::-webkit-scrollbar{width:8px;background:transparent}.post-toc::-webkit-scrollbar-thumb{background:transparent;border-radius:999px}.post-toc:hover::-webkit-scrollbar-thumb,.post-toc:focus-within::-webkit-scrollbar-thumb,.post-toc.toc-scrolling::-webkit-scrollbar-thumb{background:#c2d8c5}.post-toc::-webkit-scrollbar-track{background:transparent;border-radius:999px}.post-toc:hover::-webkit-scrollbar-track,.post-toc:focus-within::-webkit-scrollbar-track,.post-toc.toc-scrolling::-webkit-scrollbar-track{background:#eff5ec}.post-toc h3{margin:0 0 10px;font-size:16px;color:var(--brand-deep)}.post-toc ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.post-toc li{line-height:1.35}.post-toc a{color:#3f5f4f;text-decoration:none;font-size:14px;border-left:2px solid transparent;padding-left:8px;display:block}.post-toc a:hover{border-left-color:#86b19b;color:#2d483b}.post-toc .toc-depth-3 a{padding-left:18px;font-size:13px}.post-toc .toc-depth-4 a{padding-left:28px;font-size:13px}.post-toc .toc-depth-5 a{padding-left:38px;font-size:12px}.post-toc .toc-depth-6 a{padding-left:48px;font-size:12px}.search-shell{display:flex;align-items:center;gap:10px;border:1px solid #cfe0cf;border-radius:14px;padding:10px 12px;background:linear-gradient(180deg,#fcfefb,#f4faf2);box-shadow:0 6px 18px #5d8f741a}.search-icon{color:#6f9a82;font-size:14px;user-select:none}input[type=search]{width:100%;padding:0;border:none;border-radius:0;background:transparent}input[type=search]:focus{outline:none}.search-shell:focus-within{border-color:#8db79f;box-shadow:0 0 0 4px #8db79f38,0 8px 20px #5d8f7421}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid var(--line);padding:10px 8px;font-size:14px}th{color:var(--brand-deep);font-weight:700}a{color:var(--brand)}a:hover{color:var(--brand-deep)}mark{background:#eaf4e6;color:#355043;padding:0 2px;border-radius:4px}@media(max-width:700px){.container{padding:18px 12px 38px}header{flex-direction:column;align-items:flex-start}.post-layout{grid-template-columns:1fr}.post-toc{position:static;max-height:none;overflow:visible}}
