:root,:root[data-theme=dark]{--bg:#0a0f1e;--bg-soft:#111830;--text:#e6edf3;--muted:#8b98b8;--accent:#22d3ee;--border:#1e2a4a;color-scheme:dark}:root[data-theme=light]{--bg:#ffffff;--bg-soft:#f1f5f9;--text:#0f172a;--muted:#64748b;--accent:#0284c7;--border:#e2e8f0;color-scheme:light}:root[data-theme=auto]{color-scheme:light dark}@media(prefers-color-scheme:light){:root[data-theme=auto]{--bg:#ffffff;--bg-soft:#f1f5f9;--text:#0f172a;--muted:#64748b;--accent:#0284c7;--border:#e2e8f0;color-scheme:light}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,noto sans sc,pingfang sc,microsoft yahei,sans-serif;line-height:1.8}.container{max-width:720px;margin:0 auto;padding:0 20px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.site-header{border-bottom:1px solid var(--border)}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px}.top-row{display:flex;align-items:center;gap:10px}.brand{font-size:20px;font-weight:700;color:var(--text);white-space:nowrap;flex-shrink:0}.brand:hover{text-decoration:none}.brand-mark{color:var(--accent)}.nav{display:flex;align-items:center}.nav a{margin-left:20px;color:var(--muted);font-size:15px;white-space:nowrap;flex:none}.nav a:first-child{margin-left:0}.nav a:hover{color:var(--accent)}.theme-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;flex:none;background:0 0;border:1px solid var(--border);border-radius:8px;color:var(--muted);cursor:pointer}.theme-btn:hover{color:var(--accent);border-color:var(--accent)}.theme-btn svg{width:18px;height:18px}main.container{padding-top:36px;padding-bottom:60px;min-height:60vh}.page-title{font-size:26px;margin-bottom:28px}.post-item{padding:18px 0;border-bottom:1px solid var(--border)}.post-meta{color:var(--muted);font-size:13px;margin-bottom:6px}.post-meta a{color:var(--muted)}.post-title{margin:0 0 6px;font-size:20px}.post-title a{color:var(--text)}.post-title a:hover{color:var(--accent)}.post-desc{color:var(--muted);margin:0;font-size:15px}.more{margin-top:24px}.post-item.has-thumb{display:flex;gap:16px;align-items:flex-start}.post-body{flex:1;min-width:0}.post-thumb{flex:none;display:block;border-radius:8px;overflow:hidden;line-height:0}.post-thumb img{width:150px;height:100px;object-fit:cover}.post-thumb:hover{opacity:.88}.post-cover{margin:24px 0 0}.post-cover img{width:100%;border-radius:10px}.post-h1{font-size:28px;line-height:1.5;margin-bottom:10px}.post-content{margin-top:28px}.post-content h2{font-size:22px;margin-top:36px;border-left:3px solid var(--accent);padding-left:12px}.post-content h3{font-size:18px;margin-top:28px}.post-content img{max-width:100%;border-radius:8px}.post-content pre{background:var(--bg-soft);padding:16px;border-radius:8px;overflow-x:auto}.post-content code{background:var(--bg-soft);padding:2px 6px;border-radius:4px;font-size:14px}.post-content pre code{background:0 0;padding:0}.post-content table{border-collapse:collapse;width:100%;font-size:15px}.post-content th,.post-content td{border:1px solid var(--border);padding:8px 12px;text-align:left}.post-content blockquote{border-left:3px solid var(--accent);margin:20px 0;padding:4px 16px;color:var(--muted)}.faq{margin-top:44px;padding-top:4px;border-top:1px solid var(--border)}.faq h2{font-size:22px;margin-top:28px;border-left:3px solid var(--accent);padding-left:12px}.faq-item{margin-top:22px}.faq-item h3{font-size:17px;margin:0 0 8px}.faq-item .faq-a{margin:0}.faq-item .faq-a p{margin:0 0 8px}.post-tags{margin-top:32px}.tag{display:inline-block;background:var(--bg-soft);color:var(--muted);font-size:13px;padding:2px 10px;border-radius:12px;margin-right:8px}.post-nav{display:flex;justify-content:space-between;margin-top:40px;padding-top:20px;border-top:1px solid var(--border);font-size:15px}.site-footer{border-top:1px solid var(--border);padding:28px 0;color:var(--muted);font-size:14px}.foot-note{margin:4px 0 0;font-size:13px}@media(max-width:600px){.post-h1{font-size:23px}.header-inner{flex-direction:column;align-items:stretch;gap:12px;padding:14px 20px}.top-row{justify-content:space-between}.nav{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.nav::-webkit-scrollbar{display:none}.nav a{margin-left:0;margin-right:18px}.nav a:last-child{margin-right:4px}.post-item.has-thumb{gap:12px}.post-thumb img{width:104px;height:78px}}.hero{padding:10px 0 6px}.site-tagline{font-size:24px;margin:0 0 8px;line-height:1.5}.site-intro{color:var(--muted);margin:0 0 18px}.aff-link{font-weight:600}.aff-badge{display:inline-block;background:var(--bg-soft);border:1px solid var(--border);color:var(--accent);font-size:12px;font-weight:400;padding:1px 8px;border-radius:10px;margin-left:6px;vertical-align:1px;white-space:nowrap}.aff-todo{color:var(--muted);background:var(--bg-soft);padding:2px 8px;border-radius:6px;font-size:14px}.pagination{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:32px;font-size:15px}.pagination a{padding:4px 12px;border:1px solid var(--border);border-radius:8px}.pagination .page-num.current{padding:4px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-soft);color:var(--accent);font-weight:600}.pagination .page-ellipsis{color:var(--muted);padding:0 2px}