:root{--bg:#f5f4ed;--bg-soft:#f2efe4e6;--panel:#fffcf5eb;--line:#5c6b5a29;--text:#2f372d;--muted:#6f7767;--accent:#7f9274;--accent-strong:#637555;--shadow:0 16px 42px #6f695014;--radius:22px;--content-width:72rem;--reading-width:48rem}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--text);background:radial-gradient(circle at top,#b7c3a647,#0000 34%),radial-gradient(circle at 82% 18%,#ded6bb73,#0000 26%),linear-gradient(#fbfaf4 0%,#f5f4ed 52%,#f0ecdf 100%);min-height:100vh;margin:0;font-family:Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(calc(100% - 2rem), var(--content-width));margin:0 auto}.site-shell{padding:1.2rem 0 4rem}.site-header{z-index:10;backdrop-filter:blur(18px);background:#f5f4edd1;border-bottom:1px solid #5c6b5a1a;position:sticky;top:0}.site-header-inner{justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.brand{letter-spacing:.08em;text-transform:uppercase;font-size:1rem;font-weight:700}.nav{flex-wrap:wrap;gap:.75rem;display:flex}.nav a{color:var(--muted);border-radius:999px;padding:.5rem .8rem;transition:color .18s,background .18s,transform .18s}.nav a:hover,.nav a[aria-current=page]{color:var(--text);background:#7f92741a;transform:translateY(-1px)}.hero,.card,.content-card{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(#fffcf6f5 0%,#f8f4e9f5 100%)}.hero{border-radius:calc(var(--radius) + 8px);padding:3rem;position:relative;overflow:hidden}.hero:after{content:"";filter:blur(12px);background:radial-gradient(circle,#b7c3a673,#0000 70%);width:18rem;height:18rem;position:absolute;inset:auto -10% -30% auto}.eyebrow{color:var(--accent-strong);background:#7f92741f;border-radius:999px;align-items:center;gap:.5rem;padding:.4rem .8rem;font-size:.85rem;display:inline-flex}.hero h1,.page-title{margin:1rem 0 .75rem;line-height:1}.hero h1{letter-spacing:-.04em;font-size:clamp(2.2rem,7vw,4.5rem)}.page-title{letter-spacing:-.02em;font-size:clamp(1.4rem,3vw,2.4rem);font-weight:600;line-height:1.2}.hero p,.page-intro{max-width:44rem;color:var(--muted);font-size:1.05rem;line-height:1.8}.hero-actions{flex-wrap:wrap;gap:.9rem;margin-top:1.6rem;display:flex}.button,.button-secondary{border-radius:999px;justify-content:center;align-items:center;padding:.85rem 1.1rem;font-weight:600;transition:transform .18s,opacity .18s,background .18s;display:inline-flex}.button{color:#faf8f0;background:linear-gradient(135deg, var(--accent) 0%, var(--accent-strong) 100%)}.button-secondary{border:1px solid var(--line);background:#fffcf5b3}.button:hover,.button-secondary:hover{transform:translateY(-1px)}.section{margin-top:2rem}.section-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;display:flex}.section-heading h2{margin:0;font-size:1.35rem}.section-heading p{color:var(--muted);margin:0}.grid{gap:1rem;display:grid}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-1{grid-template-columns:1fr}.card,.content-card{border-radius:var(--radius)}.card{padding:1.5rem}.content-card{padding:1.4rem}.content-card h3,.card h3{margin:.25rem 0 .75rem;font-size:1.15rem}.meta,.tag-row,.muted{color:var(--muted)}.meta{flex-wrap:wrap;gap:.75rem;font-size:.92rem;display:flex}.tag-row{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.tag{background:#7f927417;border-radius:999px;padding:.35rem .65rem;font-size:.85rem}.page-header{margin:2rem 0 1.5rem}.post-shell h1{margin:0 0 .8rem;font-size:clamp(2rem,6vw,3.2rem);line-height:1.1}.post-body{color:#3d4338;margin-top:2rem;line-height:1.9}.post-body h2,.post-body h3{margin-top:2.1rem;scroll-margin-top:6.5rem;line-height:1.3}.post-body h4,.post-body h5,.post-body h6{scroll-margin-top:6.5rem}.post-body p,.post-body li,.post-body blockquote{color:#3d4338}.post-body a{color:var(--accent-strong);text-underline-offset:.18em;text-decoration-line:underline;text-decoration-color:#63755573;text-decoration-thickness:1.5px;transition:color .18s,text-decoration-color .18s,background .18s}.post-body a:hover{color:#4f6043;background:#7f927414;text-decoration-color:#4f6043d1}.post-body blockquote{border-left:3px solid var(--accent);background:#7f927414;border-radius:0 12px 12px 0;margin:1.5rem 0;padding:.1rem 1rem}.post-body code{font-family:Cascadia Code,JetBrains Mono,monospace}.post-body :not(pre)>code{color:#55664a;background:#7f92741f;border-radius:.45rem;padding:.18rem .42rem;font-size:.92em}.post-body pre{background:linear-gradient(#f7f2e6 0%,#f1ecdf 100%);border:1px solid #5c6b5a24;border-radius:18px;padding:3rem 1rem 1rem;position:relative;overflow-x:auto;box-shadow:inset 0 1px #ffffff80}.post-body pre code{color:inherit;white-space:normal;background:0 0;font-size:.94rem;line-height:1.55;display:block}.post-body pre[data-language]:before{content:attr(data-language);color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;background:#7f92741f;border-radius:999px;padding:.22rem .55rem;font-size:.74rem;font-weight:700;position:absolute;top:.85rem;right:.95rem}.post-body pre .line{white-space:pre;min-height:0;line-height:1.55;display:block}.post-body pre .line:empty:before{content:" ";white-space:pre}.post-body pre .line.highlighted{background:#7f927414;border-radius:.45rem;margin:0 -.4rem;padding:0 .4rem}.code-copy-button{color:var(--muted);letter-spacing:.04em;cursor:pointer;background:#fffcf5d9;border:1px solid #5c6b5a2e;border-radius:999px;padding:.24rem .62rem;font-size:.74rem;font-weight:700;transition:color .18s,background .18s,border-color .18s,transform .18s;position:absolute;top:.82rem;left:.95rem}.code-copy-button:hover{color:var(--accent-strong);background:#7f927414;border-color:#7f927438;transform:translateY(-1px)}.code-copy-button.is-copied{color:#4f6043;background:#7f927424;border-color:#7f927447}.timeline{gap:1rem;display:grid}.timeline .content-card{padding-left:1.75rem;position:relative}.timeline .content-card:before{content:"";background:var(--accent);border-radius:999px;width:.5rem;height:.5rem;position:absolute;top:1.55rem;left:.9rem;box-shadow:0 0 0 6px #4fd1c51f}.gallery-cover{aspect-ratio:16/10;background:#ebe5d48c;border-radius:18px;margin-bottom:1rem;overflow:hidden}.gallery-cover a,.gallery-cover img{width:100%;height:100%}.gallery-cover img{object-fit:cover}.site-footer{color:var(--muted);border-top:1px solid #5c6b5a1a;margin-top:4rem;padding:1.1rem 0 .2rem;font-size:.92rem}.site-footer-main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.site-footer-main p{margin:0}.site-footer-stats{flex-wrap:wrap;gap:.7rem;display:flex}.site-stat{color:var(--muted);background:#fffcf5b8;border:1px solid #5c6b5a1f;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .72rem;line-height:1;display:inline-flex}.site-stat strong{color:var(--accent-strong);font-size:.95rem;font-weight:700}#busuanzi_container_site_pv,#busuanzi_container_page_pv{display:none}.home-shell{gap:2rem;display:grid}.home-hero{grid-template-columns:minmax(0,1.45fr) minmax(18rem,.9fr);align-items:stretch;gap:1.25rem;display:grid}.home-hero-main,.home-hero-side,.home-strip,.soft-card,.strip-card{box-shadow:var(--shadow);background:linear-gradient(#fffcf6f5 0%,#f7f2e6f5 100%);border:1px solid #5c6b5a21}.home-hero-main{border-radius:calc(var(--radius) + 10px);padding:3rem;position:relative;overflow:hidden}.home-hero-main:before{content:"";filter:blur(4px);background:radial-gradient(circle,#b7c3a66b,#0000 72%);width:16rem;height:16rem;position:absolute;inset:auto auto 0 -4rem}.home-hero-main h1{letter-spacing:-.05em;max-width:12ch;margin:1rem 0;font-size:clamp(2.6rem,7vw,5rem);line-height:.96}.home-lead{max-width:42rem;color:var(--muted);font-size:1.06rem;line-height:1.9}.home-hero-side{border-radius:calc(var(--radius) + 2px);gap:1rem;padding:1rem;display:grid}.home-note{background:#f6f2e7d1;border:1px solid #5c6b5a1a;border-radius:18px;padding:1rem 1.05rem}.home-note-label{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .45rem;font-size:.82rem;font-weight:700}.home-note-body{color:var(--muted);margin:0;line-height:1.8}.home-status-row{flex-wrap:wrap;gap:.65rem;margin-top:auto;display:flex}.status-pill{color:var(--accent-strong);background:#7f92741a;border:1px solid #7f92742e;border-radius:999px;padding:.5rem .75rem;font-size:.84rem}.home-strip{border-radius:calc(var(--radius) + 4px);grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:1rem;display:grid}.strip-card{border-radius:18px;gap:.5rem;padding:1.2rem;transition:transform .18s,border-color .18s,background .18s;display:grid}.strip-card:hover{border-color:#7f92743d;transform:translateY(-2px)}.strip-kicker{color:var(--accent-strong);text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}.strip-card strong{font-size:1.04rem;line-height:1.5}.strip-card span:last-child{color:var(--muted);line-height:1.7}.home-stack{grid-template-columns:minmax(0,1.3fr) minmax(18rem,.9fr);align-items:start;gap:1.25rem;display:grid}.home-column{min-width:0}.home-column-wide .content-card,.stack-cards .content-card,.soft-card{background:linear-gradient(#fffcf6fa 0%,#f7f2e7fa 100%)}.stack-cards{gap:1rem;display:grid}.soft-card{border-radius:var(--radius)}.album-shell{width:min(100% - 2rem,76rem)}.album-header{margin-bottom:2rem}.album-header .meta{margin-top:.75rem}.album-header .tag-row{margin-top:.9rem}.album-summary{box-shadow:var(--shadow);background:linear-gradient(#fffcf6f0 0%,#f7f2e7e6 100%);border:1px solid #5c6b5a1f;border-radius:22px;margin-bottom:2.2rem;padding:1.4rem 1.5rem}.album-summary .post-body{margin-top:0}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem;margin-top:0;display:grid}.album-item{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(#fffcf6fa 0%,#f7f2e7fa 100%);border-radius:22px;margin:0;padding:.85rem}.album-item img{aspect-ratio:4/3;object-fit:cover;border-radius:16px;width:100%}.album-item figcaption{color:var(--muted);margin-top:.75rem;font-size:.95rem;line-height:1.7}.album-link-row{margin:1.2rem 0 0}.post-layout{grid-template-columns:minmax(0, 15rem) minmax(0, var(--reading-width));align-items:start;gap:2rem;width:min(100% - 2rem,78rem);margin:2rem auto 0;display:grid}.post-shell{width:100%;margin:0}.post-toc{box-shadow:var(--shadow);background:#fffcf5c7;border:1px solid #5c6b5a1f;border-radius:18px;padding:1rem;position:sticky;top:5.5rem}.post-toc-title{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .8rem;font-size:.82rem;font-weight:700}.post-toc-page-title{color:var(--text);margin:0 0 1rem;font-size:1rem;font-weight:600;line-height:1.5;display:block}.post-toc-page-title:hover{color:var(--accent-strong)}.post-toc nav{gap:.45rem;display:grid}.post-toc a{color:var(--muted);font-size:.95rem;line-height:1.6;transition:color .18s,transform .18s;display:block}.post-toc a:hover{color:var(--accent-strong);transform:translate(2px)}.post-toc a.is-active{color:var(--accent-strong);font-weight:600}.post-toc a.depth-3{padding-left:.9rem;font-size:.9rem}.comments-section{box-shadow:var(--shadow);background:linear-gradient(#fffcf6fa 0%,#f7f2e7f0 100%);border:1px solid #5c6b5a1f;border-radius:24px;margin-top:3rem;padding:1.5rem}.comments-section-header{border-bottom:1px solid #5c6b5a1a;margin-bottom:1rem;padding-bottom:1rem}.comments-section-kicker{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .45rem;font-size:.78rem;font-weight:700}.comments-section h2{letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:600}.comments-section-intro{max-width:38rem;color:var(--muted);margin:.55rem 0 0;font-size:.95rem;line-height:1.75}.comments-section :global(.giscus){margin-top:.2rem}.comments-section :global(iframe.giscus-frame){background:#fffcf5b8;border-radius:18px;width:100%}@media (width<=900px){.grid.cols-3,.grid.cols-2,.home-hero,.home-stack,.home-strip{grid-template-columns:1fr}.hero,.home-hero-main{padding:2rem}.site-header-inner,.site-footer-main{flex-direction:column;align-items:flex-start}.album-grid{grid-template-columns:1fr}.post-layout{width:min(calc(100% - 2rem), var(--reading-width));grid-template-columns:1fr}.post-toc{order:2;position:static}.comments-section{border-radius:20px;padding:1.15rem}}
