:root{--accent: #f4a6b8;--accent-deep: #e8839b;--accent-soft: rgba(244, 166, 184, .16);--accent-grad: linear-gradient(135deg, #f4a6b8 0%, #f7c4d0 50%, #a8d8ea 100%);--bg: #f7f8fa;--bg-card: #ffffff;--bg-code: #f2f3f5;--text: #2c3e50;--text-secondary: #7a8699;--border: #eceef2;--shadow: 0 4px 18px rgba(60, 64, 84, .08);--shadow-hover: 0 10px 30px rgba(60, 64, 84, .16);--hero-from: #fbe3ea;--hero-to: #e4f3fb;--radius: 14px;--max-width: 1200px;--font: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Source Han Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", Consolas, "Courier New", monospace}[data-theme=dark]{--bg: #17181c;--bg-card: #1f2026;--bg-code: #26272e;--text: #e6e6e6;--text-secondary: #9aa3b2;--border: #2e3038;--shadow: 0 4px 18px rgba(0, 0, 0, .35);--shadow-hover: 0 10px 30px rgba(0, 0, 0, .5);--hero-from: #232429;--hero-to: #1c1d22}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.75;font-size:16px;-webkit-font-smoothing:antialiased;transition:background .3s ease,color .3s ease}a{color:inherit;text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent-deep)}img{max-width:100%;height:auto;display:block}.container{max-width:var(--max-width);margin:0 auto;padding:0 20px}.site-header{position:sticky;top:0;z-index:100;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg-card) 82%,transparent);border-bottom:1px solid var(--border)}.site-header .container{display:flex;align-items:center;justify-content:space-between;height:60px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;letter-spacing:1px}.brand .logo-dot{width:30px;height:30px;border-radius:50%;background:var(--accent-grad);display:inline-flex;align-items:center;justify-content:center;font-size:15px;color:#fff;box-shadow:0 2px 8px #f4a6b880}.site-nav{display:flex;align-items:center;gap:4px}.site-nav a{padding:6px 14px;border-radius:999px;font-size:15px;color:var(--text-secondary)}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--accent-deep);background:var(--accent-soft)}.nav-right{display:flex;align-items:center;gap:8px}.theme-toggle{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--bg-card);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:16px;color:var(--text-secondary);transition:transform .3s ease,box-shadow .3s ease}.theme-toggle:hover{transform:rotate(20deg) scale(1.08);box-shadow:var(--shadow-hover);color:var(--accent-deep)}.hero{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--hero-from),var(--hero-to));padding:72px 0 64px;text-align:center}.hero .hero-title{font-size:clamp(28px,5vw,44px);font-weight:800;letter-spacing:2px;background:linear-gradient(120deg,var(--accent-deep),#6ba8d9);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero .hero-subtitle{margin-top:10px;color:var(--text-secondary);font-size:16px}.hero .hero-slogan{margin-top:16px;font-size:14px;color:var(--text-secondary);letter-spacing:4px;opacity:.8}.hero-blob{position:absolute;border-radius:50%;filter:blur(30px);opacity:.45;pointer-events:none;animation:float 8s ease-in-out infinite}.hero-blob.b1{width:220px;height:220px;background:#ffd7e0;top:-60px;left:-40px}.hero-blob.b2{width:180px;height:180px;background:#cde8fb;bottom:-50px;right:-30px;animation-delay:-4s}.hero-blob.b3{width:90px;height:90px;background:#ffe9a8;top:30%;right:18%;animation-delay:-2s}@keyframes float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-18px) scale(1.06)}}.hero-search{position:relative;max-width:480px;margin:28px auto 0}.hero-search input{width:100%;padding:13px 46px 13px 18px;border:none;border-radius:999px;background:var(--bg-card);box-shadow:var(--shadow);font-size:15px;font-family:var(--font);color:var(--text);outline:none;transition:box-shadow .3s ease}.hero-search input:focus{box-shadow:0 0 0 3px var(--accent-soft),var(--shadow)}.hero-search svg{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.layout-main{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;padding:32px 0 60px;align-items:start}@media(max-width:900px){.layout-main{grid-template-columns:1fr}.sidebar{order:-1}}.card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}.post-card{display:flex;flex-direction:column;margin-bottom:22px}.post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.post-card .post-cover{position:relative;aspect-ratio:21 / 9;overflow:hidden}.post-card .post-cover img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.post-card:hover .post-cover img{transform:scale(1.05)}.post-card .post-cover .cover-placeholder{width:100%;height:100%;background:var(--accent-grad);display:flex;align-items:center;justify-content:center;font-size:40px;opacity:.85}.post-card .post-body{padding:18px 22px 20px}.post-card .post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;color:var(--text-secondary);margin-bottom:8px}.post-card .post-meta .badge{background:var(--accent-soft);color:var(--accent-deep);padding:1px 10px;border-radius:999px;font-size:12px;font-weight:600}.post-card h2{font-size:20px;font-weight:700;line-height:1.45}.post-card h2 a:hover{color:var(--accent-deep)}.post-card .post-excerpt{margin-top:8px;color:var(--text-secondary);font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-card .post-footer{margin-top:14px;display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--text-secondary)}.post-tags{display:flex;flex-wrap:wrap;gap:6px}.post-tags a{background:var(--accent-soft);color:var(--accent-deep);padding:1px 10px;border-radius:999px;font-size:12px}.post-tags a:hover{background:var(--accent-deep);color:#fff}.pagination{display:flex;justify-content:center;gap:8px;margin-top:28px}.pagination a,.pagination span{min-width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border-radius:10px;background:var(--bg-card);box-shadow:var(--shadow);font-size:14px}.pagination .current{background:var(--accent);color:#fff}.sidebar{display:flex;flex-direction:column;gap:22px}.sidebar .widget{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.sidebar .widget h3{font-size:15px;font-weight:700;margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid var(--accent-soft);display:flex;align-items:center;gap:8px;color:var(--accent-deep)}.widget-author{text-align:center}.widget-author .avatar{width:84px;height:84px;border-radius:50%;margin:0 auto 12px;border:3px solid var(--accent);box-shadow:var(--shadow);object-fit:cover}.widget-author .name{font-size:18px;font-weight:700}.widget-author .desc{margin-top:8px;font-size:13px;color:var(--text-secondary)}.widget-author .socials{margin-top:14px;display:flex;justify-content:center;gap:10px}.widget-author .socials a{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:15px}.widget-author .socials a:hover{color:#fff;background:var(--accent-deep);border-color:var(--accent-deep)}.widget ul{list-style:none}.widget ul li{padding:7px 0;border-bottom:1px dashed var(--border);font-size:14px;display:flex;justify-content:space-between;align-items:center}.widget ul li:last-child{border-bottom:none}.widget ul li .count{background:var(--accent-soft);color:var(--accent-deep);font-size:12px;padding:0 8px;border-radius:999px}.tag-cloud{display:flex;flex-wrap:wrap;gap:8px}.tag-cloud a{background:var(--accent-soft);color:var(--accent-deep);padding:3px 12px;border-radius:999px;font-size:13px}.tag-cloud a:hover{background:var(--accent-deep);color:#fff}.site-footer{border-top:1px solid var(--border);padding:28px 0;text-align:center;color:var(--text-secondary);font-size:13px}.site-footer p+p{margin-top:6px}.site-footer .footer-legal a{color:var(--text-secondary);text-decoration:underline;text-underline-offset:3px}.site-footer .footer-legal a:hover{color:var(--accent-deep)}.post-page{max-width:820px;margin:0 auto}.post-page .post-hero{padding:36px 40px;text-align:center;background:linear-gradient(160deg,var(--hero-from),var(--hero-to))}.post-page .post-hero h1{font-size:clamp(24px,4vw,34px);font-weight:800;line-height:1.4}.post-page .post-hero .meta{margin-top:16px;display:flex;justify-content:center;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--text-secondary)}.post-cover img{width:100%;max-height:420px;object-fit:cover}.post-content{padding:36px 40px}.post-content h2,.post-content h3,.post-content h4{margin:1.6em 0 .7em;line-height:1.4;scroll-margin-top:80px}.post-content h2{font-size:1.5em;padding-left:12px;border-left:4px solid var(--accent)}.post-content h3{font-size:1.25em}.post-content p{margin:.9em 0}.post-content ul,.post-content ol{margin:.9em 0;padding-left:1.6em}.post-content li{margin:.35em 0}.post-content blockquote{margin:1.2em 0;padding:12px 18px;border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:0 10px 10px 0;color:var(--text-secondary)}.post-content code{font-family:var(--font-mono);font-size:.9em;background:var(--bg-code);padding:2px 7px;border-radius:6px}.post-content pre{margin:1.2em 0;padding:16px 20px;border-radius:12px;background:#1e1f26;overflow-x:auto;font-size:14px}.post-content pre code{background:transparent;padding:0;color:#e6e6e6}.post-content table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:14px}.post-content th,.post-content td{border:1px solid var(--border);padding:9px 14px;text-align:left}.post-content th{background:var(--accent-soft)}.post-content img{border-radius:10px;margin:1em auto}.post-content hr{border:none;border-top:1px dashed var(--border);margin:2em 0}.post-tags-section{padding:0 40px 30px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;color:var(--text-secondary)}.post-nav{padding:24px 40px 36px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.post-nav a{border:1px solid var(--border);border-radius:12px;padding:14px 18px;font-size:13px;color:var(--text-secondary)}.post-nav a.next{text-align:right}.post-nav a .label{display:block;font-size:12px;opacity:.75;margin-bottom:4px}.post-nav a .title{color:var(--text);font-weight:600;font-size:14px}.post-nav a:hover{border-color:var(--accent)}.page-title{padding:40px 0 24px}.page-title h1{font-size:28px;font-weight:800}.page-title p{margin-top:6px;color:var(--text-secondary);font-size:14px}.timeline{position:relative;padding-left:26px}.timeline:before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:var(--accent-soft)}.timeline .tl-item{position:relative;margin-bottom:18px}.timeline .tl-item:before{content:"";position:absolute;left:-25px;top:10px;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.timeline .tl-date{font-size:12px;color:var(--text-secondary)}.timeline .tl-title{font-size:16px;font-weight:600}.search-page .search-input-wrap{position:relative;max-width:560px;margin:0 auto 28px}.search-page .search-input-wrap input{width:100%;padding:14px 48px 14px 20px;border:none;border-radius:999px;background:var(--bg-card);box-shadow:var(--shadow);font-size:16px;font-family:var(--font);color:var(--text);outline:none}.search-page .search-input-wrap svg{position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--text-secondary)}.search-hint{text-align:center;color:var(--text-secondary);font-size:14px;padding:40px 0}.not-found{text-align:center;padding:100px 20px}.not-found .code{font-size:90px;font-weight:900;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.not-found p{color:var(--text-secondary);margin:12px 0 28px}.btn{display:inline-block;padding:10px 26px;border-radius:999px;background:var(--accent);color:#fff;font-size:14px;font-weight:600;box-shadow:0 4px 14px #f4a6b866}.btn:hover{color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px #f4a6b880}@media(max-width:640px){.site-nav a{padding:6px 10px;font-size:14px}.brand span{display:none}.post-content,.post-page .post-hero{padding:24px 20px}.post-tags-section,.post-nav{padding-left:20px;padding-right:20px}.post-nav{grid-template-columns:1fr}}
