*{box-sizing:border-box}:root{--bg:#f3f6fb;--surface:#ffffff;--surface-soft:#f8fafc;--text:#0f172a;--muted:#64748b;--line:#e2e8f0;--primary:#2563eb;--primary-2:#1d4ed8;--radius:14px;--shadow:0 10px 30px rgba(15, 23, 42, 0.08)}body,html{margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif;background:radial-gradient(circle at top,#eaf1ff 0,var(--bg) 35%,var(--bg) 100%);color:var(--text);line-height:1.75}a{color:var(--primary);text-decoration:none;transition:color .2s}a:hover{color:var(--primary-2)}.post-content a[href]{position:relative}.post-content a[href]::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:linear-gradient(90deg,var(--primary),#60a5fa);transition:width .2s}.post-content a[href]:hover::after{width:100%}.container{width:min(1120px,92vw);margin:0 auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.topbar{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px}.site-title{margin:0;font-size:1.2rem;font-weight:800;letter-spacing:.2px}.site-title a{color:var(--text)}.site-nav{display:flex;gap:8px}.site-nav a{color:#334155;font-size:.95rem;font-weight:600;padding:8px 12px;border-radius:10px}.site-nav a:hover{background:#eff6ff;color:var(--primary)}.hero{padding:46px 0 22px}.hero-inner{border:1px solid #dbeafe;border-radius:20px;background:linear-gradient(120deg,#fff 0,#f8fbff 55%,#eef4ff 100%);box-shadow:var(--shadow);padding:clamp(22px,4vw,36px);animation:.55s both heroEnter}.hero-kicker{margin:0;color:var(--primary);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.hero-title{margin:10px 0 8px;font-size:clamp(1.7rem, 4vw, 2.4rem);line-height:1.25}.hero-desc{margin:0;color:var(--muted);font-size:1.02rem}.site-main{padding:18px 0 56px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}.section-title{margin:0 0 14px;font-size:1.35rem}.posts{display:grid;gap:16px}.post-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 2px 10px rgba(15,23,42,.04);padding:20px}.post-card-title{margin:0 0 6px;font-size:clamp(1.1rem, 2vw, 1.4rem);line-height:1.4}.post-card-title a{color:var(--text)}.post-card-meta{color:var(--muted);font-size:.9rem;margin-bottom:10px;display:flex;flex-wrap:wrap;gap:12px}.post-card-excerpt{margin:0;color:#334155}.post-card-tags{margin-top:12px}.sidebar{display:grid;gap:14px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 2px 10px rgba(15,23,42,.04);padding:16px}.panel h3,.widget h3{margin:0 0 12px;font-size:1rem}.category-list,.post-list{margin:0;padding:0;list-style:none}.category-list li,.post-list li{margin-bottom:8px}.category-list a,.post-list a{color:#334155}.search-box input{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;font-size:.95rem;outline:0;background:#fff}.search-box input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.12)}#searchResults{margin-top:10px}.search-result{padding:8px 0;border-bottom:1px dashed var(--line)}.search-result:last-child{border-bottom:none}.search-result-title{font-weight:700;margin-bottom:4px}.search-result-excerpt{margin:0;font-size:.9rem;color:var(--muted)}.tag-cloud{display:flex;flex-wrap:wrap;gap:8px}.tag{display:inline-block;padding:4px 10px;border-radius:999px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;font-size:.82rem;font-weight:600}.pagination{margin-top:20px;display:flex;flex-wrap:wrap;gap:8px}.pagination a,.pagination span{border:1px solid var(--line);background:#fff;border-radius:10px;padding:6px 11px;font-size:.92rem}.pagination .current{background:var(--primary);border-color:var(--primary);color:#fff}.article-wrap{max-width:860px}.post-single{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:clamp(18px,3.6vw,34px)}.breadcrumb{margin:0 0 12px;font-size:.9rem;color:var(--muted)}.post-header{margin-bottom:18px}.post-title{margin:0;font-size:clamp(1.6rem, 4.4vw, 2.5rem);line-height:1.25;word-break:break-word}.post-meta{margin-top:10px;display:flex;flex-wrap:wrap;gap:10px;font-size:.9rem;color:var(--muted)}.post-content{font-size:1.05rem;color:#1e293b}.post-content h1,.post-content h2,.post-content h3,.post-content h4{margin:1.6em 0 .65em;line-height:1.35;color:#0f172a}.post-content h1{font-size:1.8rem}.post-content h2{font-size:1.45rem}.post-content h3{font-size:1.2rem}.post-content blockquote,.post-content ol,.post-content p,.post-content pre,.post-content ul{margin:0 0 1em}.post-content ol,.post-content ul{padding-left:1.25em}.post-content code{background:#eaf2ff;color:#1d4ed8;padding:2px 6px;border-radius:6px;font-size:.92em;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace}.post-content pre{background:#0f172a;color:#e2e8f0;border-radius:12px;padding:14px;overflow:auto;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace}.post-content pre code{background:0 0!important;color:#e2e8f0!important;padding:0;font-size:1em}.post-content pre span[style]{color:inherit!important}.post-content blockquote{border-left:4px solid #93c5fd;background:#f8fbff;color:#334155;padding:10px 12px;border-radius:10px}.post-content img{max-width:100%;height:auto;border-radius:12px;border:1px solid var(--line)}.post-footer{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.post-navigation{display:grid;grid-template-columns:1fr 1fr;gap:10px}.post-navigation a{border:1px solid var(--line);border-radius:12px;background:#fff;color:#334155;padding:12px;text-align:center}.site-footer{border-top:1px solid var(--line);background:#fff;color:var(--muted);font-size:.92rem;padding:18px 0 28px}.site-footer .icp{margin-top:6px;font-size:.86rem}.site-footer .icp a{color:var(--muted)}.site-footer .icp a:hover{color:var(--primary)}@media (max-width:960px){.layout{grid-template-columns:1fr}.sidebar{order:2}.main-col{order:1}.post-navigation{grid-template-columns:1fr}}@media (max-width:640px){.topbar{flex-direction:column;align-items:flex-start;padding:10px 0}.site-nav{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.site-nav a{text-align:center;padding:8px 0}.hero{padding-top:20px}.panel,.post-card,.post-single{border-radius:12px}}.hero-inner,.panel,.post-card,.post-navigation a,.post-single,.site-nav a,.tag{transition:transform .28s,box-shadow .28s,background-color .28s,border-color .28s}.panel:hover,.post-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(15,23,42,.1)}.post-navigation a:hover{transform:translateY(-2px);border-color:#93c5fd;background:#f8fbff}@keyframes heroEnter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.motion-reveal{opacity:0;transform:translateY(10px);transition:opacity .42s,transform .42s}.motion-reveal.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){*,::after,::before{animation:none!important;transition:none!important}}.mouse-glow{position:fixed;left:0;top:0;width:22px;height:22px;border-radius:50%;pointer-events:none;z-index:9999;background:radial-gradient(circle,rgba(37,99,235,.42) 0,rgba(37,99,235,.1) 65%,transparent 100%);box-shadow:0 0 28px rgba(37,99,235,.25);transition:width .22s,height .22s,box-shadow .22s,opacity .35s,border .22s,background .22s,filter .35s}.mouse-glow.is-hidden{opacity:0;filter:blur(3px)}.mouse-glow.is-hover{width:34px;height:34px;box-shadow:0 0 34px rgba(37,99,235,.35)}.mouse-glow.is-link{width:40px;height:40px;background:rgba(37,99,235,.06);border:1px solid rgba(37,99,235,.35);box-shadow:0 0 26px rgba(37,99,235,.25)}.click-ring{position:fixed;width:14px;height:14px;border-radius:50%;border:2px solid rgba(37,99,235,.45);transform:translate(-50%,-50%);pointer-events:none;z-index:9998;animation:.45s ease-out forwards clickRing}@keyframes clickRing{from{opacity:.9;width:14px;height:14px}to{opacity:0;width:56px;height:56px}}@media (pointer:coarse),(max-width:960px){.click-ring,.mouse-glow{display:none!important}}