:root{--primary: #c3272b;--primary-light: #e85d61;--primary-dark: #9d2933;--secondary: #4a4266;--secondary-light: #6b6388;--accent: #c9a96e;--accent-light: #e0c898;--jade: #5c8a7d;--bg-primary: #f7f3ed;--bg-secondary: #f0ebe0;--bg-card: #fffdf8;--bg-code: #2b2620;--text-primary: #2b2620;--text-secondary: #6b6358;--text-light: #9b9488;--text-white: #ffffff;--border-color: #d4a843;--border-light: #e8dcc8;--shadow-sm: 0 2px 8px rgba(139, 26, 26, .06);--shadow-md: 0 4px 20px rgba(139, 26, 26, .1);--shadow-lg: 0 8px 40px rgba(74, 66, 102, .12);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-full: 9999px;--gradient-1: linear-gradient(135deg, #c3272b 0%, #e85d61 50%, #f5d0d0 100%);--gradient-2: linear-gradient(135deg, #4a4266 0%, #8b7dab 100%);--gradient-3: linear-gradient(135deg, #5c8a7d 0%, #8db89e 100%);--gradient-4: linear-gradient(135deg, #c9a96e 0%, #e0c898 100%);--gradient-5: linear-gradient(135deg, #864e36 0%, #b38060 100%);--gradient-6: linear-gradient(135deg, #2b2620 0%, #5c534a 100%);--font-sans: "Noto Sans SC", -apple-system, BlinkMacSystemFont, sans-serif;--font-serif: "Noto Serif SC", "STSong", serif;--font-deco: "ZCOOL XiaoWei", "Ma Shan Zheng", "Noto Serif SC", serif;--font-mono: "JetBrains Mono", "Fira Code", monospace}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.8;overflow-x:hidden;min-height:100vh}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 15% 20%,rgba(195,39,43,.04),transparent 40%),radial-gradient(circle at 85% 80%,rgba(201,169,110,.06),transparent 40%),radial-gradient(circle at 50% 50%,rgba(74,66,102,.03),transparent 60%);z-index:-1;pointer-events:none}body:after{content:"";position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--accent),var(--primary));z-index:200}a{color:var(--primary);text-decoration:none;transition:color .2s,opacity .2s}a:hover{opacity:.8}ul,ol{list-style-position:inside}.plum-petal{position:fixed;top:-20px;width:10px;height:10px;opacity:0;z-index:9999;pointer-events:none;animation:plumFall linear forwards}@keyframes plumFall{0%{transform:translateY(0) translate(0) rotate(0) scale(1);opacity:0}10%{opacity:.7}50%{transform:translateY(50vh) translate(30px) rotate(360deg) scale(.9)}90%{opacity:.5}to{transform:translateY(105vh) translate(-20px) rotate(720deg) scale(.7);opacity:0}}#root{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1100px;margin:0 auto;padding:0 24px;width:100%}.main-content{flex:1;padding:40px 0}.site-header{position:sticky;top:0;z-index:100;background:#f7f3ede0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-light);transition:box-shadow .3s}.site-header.scrolled{box-shadow:var(--shadow-sm)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:72px}.logo{display:flex;align-items:center;gap:10px;font-family:var(--font-deco);font-size:1.5rem;color:var(--primary);cursor:pointer;letter-spacing:2px}.logo-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.nav-links{display:flex;align-items:center;gap:8px}.nav-link{position:relative;padding:8px 20px;border-radius:var(--radius-sm);font-size:.95rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .3s;font-family:var(--font-serif)}.nav-link:hover{color:var(--primary);background:#c3272b0f}.nav-link.active{color:var(--primary);background:#c3272b1a;font-weight:700}.menu-toggle{display:none;font-size:1.5rem;background:none;border:none;cursor:pointer;color:var(--primary)}.site-footer{background:linear-gradient(135deg,#2b2620,#3d3530);color:var(--text-light);padding:40px 0 24px;margin-top:60px;border-top:3px solid var(--accent)}.footer-inner{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.footer-links{display:flex;gap:24px}.footer-links a{color:var(--text-light);font-size:.9rem}.footer-links a:hover{color:var(--accent-light)}.footer-text{font-size:.85rem;opacity:.6;font-family:var(--font-serif)}.hero{text-align:center;padding:60px 0 50px;position:relative}.hero-title{font-family:var(--font-deco);font-size:3.2rem;background:linear-gradient(135deg,var(--primary),var(--accent),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:16px;animation:heroFadeUp .8s ease;letter-spacing:4px}.hero-subtitle{font-size:1.15rem;color:var(--text-secondary);max-width:560px;margin:0 auto;animation:heroFadeUp .8s ease .1s both;font-family:var(--font-serif)}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.section-title{display:flex;align-items:center;gap:12px;font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:32px;font-family:var(--font-serif)}.section-title-bar{width:5px;height:28px;background:linear-gradient(180deg,var(--primary),var(--accent));border-radius:2px}.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px}.post-card{background:var(--bg-card);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;border:1px solid var(--border-light);display:flex;flex-direction:column}.post-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--accent)}.post-cover{height:180px;position:relative;overflow:hidden}.post-cover.gradient-1{background:var(--gradient-1)}.post-cover.gradient-2{background:var(--gradient-2)}.post-cover.gradient-3{background:var(--gradient-3)}.post-cover.gradient-4{background:var(--gradient-4)}.post-cover.gradient-5{background:var(--gradient-5)}.post-cover.gradient-6{background:var(--gradient-6)}.post-cover:after{content:"";position:absolute;bottom:0;left:0;right:0;height:40px;background:linear-gradient(transparent,#00000026)}.post-cover-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:3rem;opacity:.5;transition:transform .3s}.post-card:hover .post-cover-icon{transform:translate(-50%,-50%) scale(1.2) rotate(10deg)}.post-body{padding:20px;flex:1;display:flex;flex-direction:column}.post-date{font-size:.8rem;color:var(--text-light);margin-bottom:8px;display:flex;align-items:center;gap:6px}.post-title{font-size:1.15rem;font-weight:700;color:var(--text-primary);margin-bottom:10px;line-height:1.5;font-family:var(--font-serif);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-card:hover .post-title{color:var(--primary)}.post-excerpt{font-size:.9rem;color:var(--text-secondary);line-height:1.7;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:16px}.post-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.post-tag{padding:3px 12px;border-radius:var(--radius-sm);font-size:.75rem;background:var(--bg-secondary);color:var(--secondary);transition:all .2s;border:1px solid var(--border-light)}.post-tag:hover{background:var(--secondary);color:#fff;border-color:var(--secondary)}.post-meta{display:flex;align-items:center;gap:16px;font-size:.8rem;color:var(--text-light);margin-top:12px;padding-top:12px;border-top:1px solid var(--border-light)}.tags-cloud{display:flex;flex-wrap:wrap;gap:12px;padding:20px 0;justify-content:center}.tag-chip{display:inline-flex;align-items:center;gap:6px;padding:10px 22px;border-radius:var(--radius-sm);font-size:.95rem;font-weight:500;background:var(--bg-card);color:var(--text-secondary);border:2px solid var(--border-light);cursor:pointer;transition:all .3s;font-family:var(--font-serif)}.tag-chip:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}.tag-chip.active{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border-color:transparent}.tag-count{font-size:.8rem;opacity:.7;background:#00000014;padding:1px 8px;border-radius:var(--radius-sm)}.tag-chip.active .tag-count{background:#ffffff4d}.about-section{max-width:760px;margin:0 auto}.about-header{text-align:center;margin-bottom:40px}.about-avatar{width:120px;height:120px;border-radius:50%;border:4px solid var(--accent);box-shadow:var(--shadow-md);margin-bottom:20px}.about-name{font-family:var(--font-deco);font-size:2.2rem;color:var(--text-primary);margin-bottom:8px;letter-spacing:3px}.about-bio{color:var(--text-secondary);font-size:1.1rem;font-family:var(--font-serif)}.about-card{background:var(--bg-card);border-radius:var(--radius-md);padding:32px;box-shadow:var(--shadow-sm);margin-bottom:24px;border:1px solid var(--border-light);border-left:4px solid var(--accent)}.about-card h3{font-size:1.2rem;color:var(--primary);margin-bottom:16px;display:flex;align-items:center;gap:8px;font-family:var(--font-serif)}.about-skills{display:flex;flex-wrap:wrap;gap:10px}.skill-badge{padding:6px 16px;border-radius:var(--radius-sm);font-size:.85rem;background:linear-gradient(135deg,var(--bg-secondary),var(--bg-primary));color:var(--secondary);border:1px solid var(--border-light);font-family:var(--font-serif)}.post-detail{max-width:800px;margin:0 auto}.post-detail-header{text-align:center;margin-bottom:40px}.post-detail-title{font-size:2.2rem;font-weight:700;color:var(--text-primary);line-height:1.4;margin-bottom:20px;font-family:var(--font-serif)}.post-detail-meta{display:flex;align-items:center;justify-content:center;gap:20px;font-size:.9rem;color:var(--text-light)}.post-detail-cover{height:300px;border-radius:var(--radius-md);margin-bottom:40px;position:relative;overflow:hidden}.post-detail-cover.gradient-1{background:var(--gradient-1)}.post-detail-cover.gradient-2{background:var(--gradient-2)}.post-detail-cover.gradient-3{background:var(--gradient-3)}.post-detail-cover.gradient-4{background:var(--gradient-4)}.post-detail-cover.gradient-5{background:var(--gradient-5)}.post-detail-cover.gradient-6{background:var(--gradient-6)}.post-detail-cover-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:5rem;opacity:.4}.markdown-body{font-size:1.02rem;line-height:1.9;color:var(--text-primary);font-family:var(--font-serif)}.markdown-body h1{font-size:1.8rem;font-weight:700;margin:40px 0 20px;padding-bottom:12px;border-bottom:2px solid var(--accent);color:var(--text-primary);font-family:var(--font-deco)}.markdown-body h2{font-size:1.5rem;font-weight:700;margin:36px 0 16px;padding-left:14px;border-left:4px solid var(--primary);color:var(--text-primary);font-family:var(--font-deco)}.markdown-body h3{font-size:1.25rem;font-weight:600;margin:28px 0 12px;color:var(--secondary);font-family:var(--font-deco)}.markdown-body p{margin-bottom:18px}.markdown-body ul,.markdown-body ol{margin-bottom:18px;padding-left:8px}.markdown-body li{margin-bottom:8px;padding-left:8px}.markdown-body ul li::marker{color:var(--primary)}.markdown-body ol li::marker{color:var(--accent);font-weight:700}.markdown-body blockquote{margin:20px 0;padding:16px 24px;background:var(--bg-secondary);border-left:4px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-secondary);font-style:italic;position:relative}.markdown-body blockquote:before{content:"“";position:absolute;top:-5px;left:10px;font-size:2.5rem;color:var(--accent);opacity:.3;font-family:serif}.markdown-body blockquote p{margin-bottom:0}.markdown-body code{font-family:var(--font-mono);font-size:.88em;background:var(--bg-secondary);color:var(--primary-dark);padding:2px 8px;border-radius:4px}.markdown-body pre{margin:20px 0;border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.markdown-body pre code{display:block;padding:20px;background:var(--bg-code);color:#e0d8cc;font-size:.85rem;line-height:1.6;overflow-x:auto}.markdown-body table{width:100%;border-collapse:collapse;margin:20px 0;border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-sm)}.markdown-body th{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;padding:12px 16px;text-align:left;font-weight:600;font-size:.9rem;font-family:var(--font-serif)}.markdown-body td{padding:12px 16px;border-bottom:1px solid var(--border-light);font-size:.92rem}.markdown-body tr:nth-child(2n) td{background:var(--bg-secondary)}.markdown-body tr:last-child td{border-bottom:none}.markdown-body hr{border:none;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);margin:36px 0}.markdown-body a{color:var(--primary);text-decoration:underline;text-decoration-color:var(--primary-light);text-underline-offset:2px}.markdown-body a:hover{color:var(--primary-dark)}.markdown-body strong{font-weight:700;color:var(--text-primary)}.markdown-body input[type=checkbox]{margin-right:6px;accent-color:var(--primary)}.hljs{background:var(--bg-code)!important}.related-posts{margin-top:60px;padding-top:40px;border-top:2px solid var(--border-light)}.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.related-card{background:var(--bg-card);border-radius:var(--radius-sm);padding:16px;border:1px solid var(--border-light);cursor:pointer;transition:all .3s}.related-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:var(--shadow-sm)}.related-card-title{font-size:.95rem;font-weight:600;color:var(--text-primary);line-height:1.5;font-family:var(--font-serif);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.related-card-date{font-size:.78rem;color:var(--text-light);margin-top:8px}.back-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-secondary);font-size:.9rem;border:1px solid var(--border-light);cursor:pointer;transition:all .2s;margin-bottom:24px;font-family:var(--font-serif)}.back-btn:hover{border-color:var(--primary);color:var(--primary)}.loading{display:flex;align-items:center;justify-content:center;min-height:300px;font-size:1.2rem;color:var(--primary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-light);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:60px 20px;color:var(--text-light)}.empty-state-icon{font-size:4rem;margin-bottom:16px;opacity:.5}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .5s ease forwards}@media (max-width: 768px){.hero-title{font-size:2.2rem;letter-spacing:2px}.hero-subtitle{font-size:1rem}.post-detail-title{font-size:1.6rem}.post-detail-cover{height:200px}.menu-toggle{display:block}.nav-links{position:fixed;top:72px;left:0;right:0;flex-direction:column;background:var(--bg-primary);padding:16px;gap:4px;box-shadow:var(--shadow-md);transform:translateY(-100%);opacity:0;pointer-events:none;transition:all .3s}.nav-links.open{transform:translateY(0);opacity:1;pointer-events:all}.nav-link{width:100%;text-align:center;padding:12px}.post-grid{grid-template-columns:1fr}.post-detail-meta{flex-direction:column;gap:8px}.about-card{padding:20px}}@media (max-width: 480px){.container{padding:0 16px}.hero-title{font-size:1.8rem}.post-detail-title{font-size:1.4rem}.markdown-body{font-size:.95rem}.markdown-body h1{font-size:1.5rem}.markdown-body h2{font-size:1.25rem}.markdown-body pre code{font-size:.78rem;padding:16px}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-formula{color:#c678dd}.hljs-section,.hljs-name,.hljs-selector-tag,.hljs-deletion,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string{color:#98c379}.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-type,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-number{color:#d19a66}.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-title.class_,.hljs-class .hljs-title{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}
