@import "https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=ZCOOL+XiaoWei&display=swap";
.blog-layout{--blog-bg:#0a0a0b;--blog-bg-subtle:#111113;--blog-text:#e8e6e3;--blog-text-muted:#9a9590;--blog-accent:#d4a853;--blog-accent-dim:#a67c3d;--blog-border:#2a2825;--blog-card-bg:linear-gradient(145deg, #141416 0%, #0d0d0e 100%);--blog-glow:#d4a85314;--font-serif:"Noto Serif SC", "Songti SC", serif;--font-display:"ZCOOL XiaoWei", "Noto Serif SC", serif;background:var(--blog-bg);min-height:100vh;position:relative;overflow-x:hidden}.blog-layout:before{content:"";pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");position:fixed;inset:0}.blog-layout:after{content:"";background:radial-gradient(ellipse at center, var(--blog-glow) 0%, transparent 70%);pointer-events:none;z-index:0;width:120vw;height:100vh;position:fixed;top:-50%;left:50%;transform:translate(-50%)}.blog-container{z-index:1;max-width:720px;margin:0 auto;padding:3rem 1.5rem 6rem;position:relative}@media (min-width:768px){.blog-container{padding:5rem 2rem 8rem}}.blog-article{color:var(--blog-text);font-family:var(--font-serif);letter-spacing:.01em;font-size:1.0625rem;line-height:1.9}.blog-article h1{font-family:var(--font-display);color:var(--blog-accent);letter-spacing:.05em;margin-bottom:2rem;padding-bottom:1.5rem;font-size:clamp(2rem,6vw,3rem);font-weight:400;line-height:1.3;position:relative}.blog-article h1:after{content:"";background:linear-gradient(90deg, var(--blog-accent), transparent);width:4rem;height:2px;position:absolute;bottom:0;left:0}.blog-article h2{font-family:var(--font-display);color:var(--blog-text);letter-spacing:.03em;margin:3.5rem 0 1.5rem;padding-left:1rem;font-size:clamp(1.25rem,4vw,1.625rem);font-weight:400;position:relative}.blog-article h2:before{content:"";background:var(--blog-accent);border-radius:2px;width:3px;height:1em;position:absolute;top:.25em;left:0}.blog-article h3{font-family:var(--font-display);color:var(--blog-text);letter-spacing:.02em;margin:2.5rem 0 1rem;font-size:1.25rem;font-weight:400}.blog-article p{color:var(--blog-text);text-align:justify;text-justify:inter-ideograph;margin-bottom:1.75rem}.blog-article a{color:var(--blog-accent);border-bottom:1px solid #0000;text-decoration:none;transition:border-color .3s}.blog-article a:hover{border-bottom-color:var(--blog-accent)}.blog-article ul,.blog-article ol{margin:1.5rem 0;padding-left:1.5rem}.blog-article li{margin-bottom:.75rem;position:relative}.blog-article ul li::marker{color:var(--blog-accent)}.blog-article ol li::marker{color:var(--blog-accent);font-weight:600}.blog-article blockquote{background:var(--blog-card-bg);border-left:3px solid var(--blog-accent);color:var(--blog-text-muted);border-radius:0 8px 8px 0;margin:2rem 0;padding:1.5rem 2rem;font-style:italic}.blog-article blockquote p:last-child{margin-bottom:0}.blog-article code{background:var(--blog-bg-subtle);color:var(--blog-accent);border-radius:4px;padding:.2em .5em;font-family:SF Mono,Fira Code,monospace;font-size:.875em}.blog-article pre{background:var(--blog-bg-subtle);border:1px solid var(--blog-border);border-radius:8px;margin:2rem 0;padding:1.5rem;overflow-x:auto}.blog-article pre code{background:0 0;padding:0}.blog-article strong{color:var(--blog-text);font-weight:600}.blog-article em{color:var(--blog-text-muted);font-style:italic}.blog-article hr{background:linear-gradient(90deg, transparent, var(--blog-border), transparent);border:none;height:1px;margin:3rem 0}.blog-article img{border-radius:8px;max-width:100%;height:auto;margin:2rem 0}.blog-article>p:first-of-type:first-letter{font-family:var(--font-display);float:left;color:var(--blog-accent);margin:.1em .15em 0 0;font-size:3.5em;line-height:.8}.blog-article ::selection{color:var(--blog-text);background:#d4a8534d}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.blog-article{animation:.6s ease-out fadeInUp}.blog-article h1{animation:.6s ease-out .1s both fadeInUp}.blog-article h2{animation:.5s ease-out fadeInUp}@media (max-width:640px){.blog-article{font-size:1rem;line-height:1.85}.blog-article h2{margin:2.5rem 0 1rem}.blog-article>p:first-of-type:first-letter{font-size:2.8em}}
