:root{--accent: #2563eb;--accent-light: #dbeafe;--bg: #f0f1f5;--card: #ffffff;--text: #1a1a1a;--muted: #6b7280;--border: #e5e7eb}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:-apple-system,Noto Sans SC,PingFang SC,Helvetica Neue,sans-serif;background:var(--bg);color:var(--text);line-height:1.85;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(ellipse 600px 400px at 15% 20%,rgba(37,99,235,.06),transparent 60%),radial-gradient(ellipse 500px 350px at 85% 80%,rgba(168,85,247,.05),transparent 60%),radial-gradient(ellipse 400px 300px at 50% 50%,rgba(14,165,233,.04),transparent 60%);animation:bgFlow 25s ease-in-out infinite alternate}@keyframes bgFlow{0%{transform:translate(0) scale(1)}50%{transform:translate(-20px,15px) scale(1.05)}to{transform:translate(15px,-10px) scale(1)}}#particles{position:fixed;inset:0;z-index:-1;pointer-events:none}#mouse-blur{position:fixed;top:0;left:0;width:280px;height:280px;border-radius:50%;pointer-events:none;z-index:0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:radial-gradient(circle,rgba(255,255,255,.12),transparent 70%);transform:translate(-9999px,-9999px);transition:opacity .4s ease;opacity:0}#mouse-blur.active{opacity:1}.container{max-width:720px;margin:0 auto;padding:0 1.5rem}.header{text-align:center;padding:4rem 0 2.5rem}.header .logo{font-size:2.5rem;font-weight:800;letter-spacing:-1px;display:inline-block;opacity:0;transform:translateY(20px);animation:fadeUp .6s ease-out forwards}.header .logo a{color:var(--text);text-decoration:none;transition:color .3s}.header .logo a:hover{color:var(--accent)}.header .tagline{color:var(--muted);margin-top:.3rem;font-size:.95rem;opacity:0;transform:translateY(15px);animation:fadeUp .6s ease-out .15s forwards}.cursor{display:inline-block;width:2px;height:1.1em;background:var(--accent);margin-left:2px;vertical-align:text-bottom;animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}.post-list{list-style:none;padding-bottom:2rem}.post-list li{padding:1.3rem 0;border-bottom:1px solid var(--border);position:relative;opacity:0;transform:translateY(15px);animation:fadeUp .5s ease-out forwards;transition:padding-left .3s ease,border-color .3s}.post-list li:before{content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:3px;height:0;background:var(--accent);border-radius:2px;transition:height .3s ease}.post-list li:hover{padding-left:8px;border-color:var(--accent)}.post-list li:hover:before{height:60%}.post-list li:nth-child(1){animation-delay:.3s}.post-list li:nth-child(2){animation-delay:.4s}.post-list li:nth-child(3){animation-delay:.5s}.post-list li:nth-child(4){animation-delay:.6s}.post-list li:nth-child(5){animation-delay:.7s}.post-list li:nth-child(6){animation-delay:.8s}.post-list a{color:var(--text);text-decoration:none;font-size:1.2rem;font-weight:600;transition:color .3s;display:block}.post-list a:hover{color:var(--accent)}.post-list .excerpt{color:var(--muted);font-size:.88rem;margin-top:.3rem;line-height:1.6}.post-list .meta{display:flex;align-items:center;gap:.8rem;margin-top:.4rem}.post-list .date{color:var(--muted);font-size:.82rem}.post-list .tags{display:flex;gap:.4rem;flex-wrap:wrap}.post-list .tags span{font-size:.72rem;color:var(--accent);background:var(--accent-light);padding:.12em .55em;border-radius:999px}.empty{text-align:center;color:var(--muted);padding:3rem 0}.footer{text-align:center;color:var(--muted);font-size:.82rem;padding:2rem 0 3rem;border-top:1px solid var(--border);margin-top:1rem;opacity:0;animation:fadeUp .6s ease-out 1s forwards}.footer a{color:var(--accent);text-decoration:none}.article-wrap{padding:2rem 0}.article-head{text-align:center;padding:2rem 0 1.5rem}.article-head h1{font-size:1.8rem;line-height:1.4;opacity:0;animation:fadeUp .5s ease-out forwards}.article-head .meta{color:var(--muted);font-size:.85rem;margin-top:.5rem;opacity:0;animation:fadeUp .5s ease-out .1s forwards}.article-body{background:var(--card);border-radius:16px;padding:2.5rem;box-shadow:0 1px 4px #0000000f;opacity:0;animation:fadeUp .5s ease-out .2s forwards}.article-body h2{margin:2rem 0 .8rem;font-size:1.35rem}.article-body h3{margin:1.5rem 0 .5rem;font-size:1.1rem}.article-body p{margin-bottom:1rem}.article-body pre{background:#1e293b;color:#e2e8f0;padding:1rem 1.2rem;border-radius:10px;overflow-x:auto;margin:1.2rem 0;font-size:.85rem}.article-body code{font-family:JetBrains Mono,Fira Code,monospace;font-size:.88em}.article-body p code{background:#f1f5f9;padding:.12em .35em;border-radius:5px}.article-body a{color:var(--accent)}.article-body ul,.article-body ol{margin:1rem 0 1rem 1.5rem}.article-body li{margin-bottom:.3rem}.article-body blockquote{border-left:3px solid var(--accent);padding-left:1rem;color:var(--muted);margin:1.2rem 0}.article-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.article-tags span{font-size:.75rem;color:var(--accent);background:var(--accent-light);padding:.15em .6em;border-radius:999px}.back-home{text-align:center;margin-top:1.5rem}.back-home a{color:var(--accent);text-decoration:none;font-size:.9rem}.back-home a:hover{text-decoration:underline}@media(max-width:640px){.header{padding:2.5rem 0 1.5rem}.header .logo{font-size:2rem}.article-body{padding:1.5rem;border-radius:12px}.article-head h1{font-size:1.5rem}}
