:root{--text-main:#2c2925;--bg-main:#fdfaf5;--accent:#b0a597}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}body{background-color:var(--bg-main);color:var(--text-main);scroll-behavior:smooth;font-family:Noto Sans SC,sans-serif;overflow-x:hidden}.article-hero{justify-content:center;align-items:flex-end;width:100vw;min-height:40vh;padding:140px 5% 60px;display:flex;position:relative}.hero-bg{z-index:0;filter:brightness(.6);background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.02)}.hero-overlay{z-index:1;background:linear-gradient(#0000 0%,#000c 100%);position:absolute;inset:0}.hero-content{z-index:2;text-align:center;color:#fff;width:100%;max-width:1200px;position:relative}.article-title{text-shadow:0 4px 15px #000c;letter-spacing:2px;margin-bottom:25px;font-family:Noto Serif SC,serif;font-size:3rem;font-weight:900;line-height:1.3}.meta-bottom{flex-wrap:wrap;justify-content:center;align-items:center;gap:15px;font-family:Noto Sans SC,sans-serif;display:flex}.meta-item{color:#fffc;letter-spacing:1px;font-size:.95rem}.publish-date{font-family:Courier New,Courier,monospace}.meta-dot{color:#fff6}.tags-container{gap:10px;display:flex}.tag-pill{backdrop-filter:blur(10px);letter-spacing:1px;background:#ffffff26;border:1px solid #fff3;border-radius:20px;padding:4px 16px;font-size:.85rem;font-weight:500;transition:background .3s}.tag-pill:hover{background:#ffffff4d}.article-main{z-index:10;background:var(--bg-main);border-radius:20px 20px 0 0;margin-top:-20px;padding:60px 4%;position:relative;box-shadow:0 -10px 30px #0000001a}.layout-container{align-items:flex-start;gap:60px;max-width:1200px;margin:0 auto;display:flex}.content-wrapper{flex:1;min-width:0}.toc-sidebar{flex:0 0 280px;position:sticky;top:100px}.toc-container{background:#fff9;border:1px solid #b0a59733;border-radius:12px;padding:25px;box-shadow:0 10px 30px #a0968c0d}.toc-title{color:var(--text-dark);letter-spacing:2px;border-bottom:1px dashed #b0a59766;margin-bottom:20px;padding-bottom:12px;font-family:Noto Serif SC,serif;font-size:1.2rem}.toc-list{padding:0;list-style:none}.toc-item{margin-bottom:12px}.toc-link{color:#666;border-left:2px solid #0000;padding-left:10px;font-size:.95rem;line-height:1.6;transition:all .3s;display:block}.toc-link:hover{color:var(--text-dark)}.toc-link.active{color:var(--accent);border-left-color:var(--accent);font-weight:700}.toc-num{color:var(--accent);margin-right:6px;font-family:Courier New,Courier,monospace;font-weight:900}.depth-3{padding-left:18px;font-size:.9rem}.depth-3 .toc-num{color:#999}.depth-4{padding-left:36px;font-size:.85rem}.depth-4 .toc-num{color:#bbb}.prose{color:#444;font-size:1.15rem;line-height:2}.prose p{text-align:justify;margin-bottom:25px}.prose [style*="text-align: center"]{text-align:center}.prose [style*="text-align: right"]{text-align:right}.prose [style*="text-align: justify"]{text-align:justify}.prose h2,.prose h3,.prose h4{scroll-margin-top:100px}.prose h2{color:var(--text-dark);margin:60px 0 25px;padding-bottom:10px;font-family:Noto Serif SC,serif;font-size:1.8rem;font-weight:900;position:relative}.prose h2:after{content:"";background:var(--accent);width:40px;height:3px;position:absolute;bottom:0;left:0}.prose h3{color:var(--text-dark);margin:40px 0 20px;font-family:Noto Serif SC,serif;font-size:1.4rem;font-weight:700}.prose h4{color:var(--text-dark);margin:30px 0 15px;font-family:Noto Serif SC,serif;font-size:1.2rem;font-weight:700}.prose blockquote{color:#5a544c;background:#f8f6f1;border-left:6px solid #c3b9ac;border-radius:4px;margin:40px 0;padding:30px 40px;font-family:Noto Serif SC,serif;font-size:1.15rem;font-style:italic;box-shadow:0 10px 30px #00000005}.prose blockquote p{margin-bottom:20px}.prose blockquote p:last-child{margin-bottom:0}.prose details{background:#fff;border:1px solid #e0efe6;border-radius:8px;margin:25px 0;overflow:hidden;box-shadow:0 6px 20px #42b98314}.prose details summary{color:#42b983;cursor:pointer;user-select:none;background:#f0f7f3;outline:none;padding:15px 20px;font-size:1.05rem;font-weight:700;list-style:none;transition:all .3s;position:relative}.prose details summary::-webkit-details-marker{display:none}.prose details summary:after{content:"";transform-origin:50%;border-bottom:2px solid #42b983;border-right:2px solid #42b983;width:9px;height:9px;margin-top:-6px;transition:transform .35s cubic-bezier(.2,.8,.2,1);position:absolute;top:50%;right:25px;transform:rotate(45deg)}.prose details.is-open summary:after{transform:rotate(-135deg)}.prose details.is-open summary{background:#e8f3ec;border-bottom:none}.details-inner{opacity:0;padding:20px;transition:all .35s cubic-bezier(.2,.8,.2,1);transform:translateY(-10px)}.prose details.is-open .details-inner{opacity:1;transform:translateY(0)}.prose details .details-inner pre,.prose details .details-inner blockquote,.prose details .details-inner div{box-shadow:none!important;background:0 0!important;border:none!important}.prose details .details-inner>pre,.prose details .details-inner>blockquote{color:var(--text-dark)!important;margin:0!important;padding:0!important}.prose img{border-radius:12px;max-width:100%;margin:30px 0;box-shadow:0 10px 30px #0000001a}.prose code{color:#d63384;background:#0000000d;border-radius:6px;padding:3px 8px;font-family:Courier New,Courier,monospace;font-size:.95em}.prose pre{color:#fff;background:#1e1e1e;border-radius:12px;margin:30px 0;padding:20px;font-family:Courier New,Courier,monospace;font-size:.95rem;line-height:1.6;overflow-x:auto}.prose pre code{color:inherit;background:0 0;padding:0}.prose ul,.prose ol{margin-bottom:25px;padding-left:20px}.prose li{margin-bottom:10px}.end-mark{opacity:.6;justify-content:center;align-items:center;gap:20px;margin-top:80px;display:flex}.end-mark .line{background:var(--accent);flex:0 0 60px;height:1px}.end-mark .sign{letter-spacing:4px;color:var(--accent);font-family:Georgia,serif;font-size:.9rem}.site-footer{text-align:center;background:var(--bg-main);padding:4rem 0 3rem}.footer-line{background:linear-gradient(90deg,#0000,#b0a59766,#0000);width:100%;height:1px;margin-bottom:20px}.footer-text{color:#a9a29a;letter-spacing:1px;font-family:Noto Sans SC,sans-serif;font-size:.8rem}.animate-box{opacity:0;transition:all 1s cubic-bezier(.2,.8,.2,1)}.animate-box[data-direction=up]{transform:translateY(30px)}.animate-box.in-view{opacity:1;transform:translateY(0)}@media (width<=1024px){.layout-container{flex-direction:column}.toc-sidebar{display:none}}
