:root{--bg:#f4f4f5;--surface:#ffffff;--text:#18181b;--text-muted:#71717a;--accent:#2563eb;--accent-hover:#1d4ed8;--border:#e4e4e7;--tag-bg:#eef2ff;--tag-text:#3730a3;--code-bg:#f4f4f5;--nav-active:#2563eb;--radius:9999px;--font-sans:"Segoe UI", system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:"Cascadia Code", "Fira Code", Consolas, monospace;--content-width:640px;--page-width:720px}[data-theme=dark]{--bg:#09090b;--surface:#18181b;--text:#fafafa;--text-muted:#a1a1aa;--accent:#60a5fa;--accent-hover:#93c5fd;--border:#27272a;--tag-bg:#1e293b;--tag-text:#93c5fd;--code-bg:#27272a;--nav-active:#60a5fa}*,*::before,*::after{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.7;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none;transition:color .15s}a:hover{color:var(--accent-hover)}.site-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.header-bar{max-width:var(--page-width);margin:0 auto;padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.site-logo{color:var(--text);display:flex;align-items:center;opacity:.85}.site-logo:hover{opacity:1;color:var(--text)}.site-nav{display:flex;align-items:center;gap:.25rem}.nav-item{position:relative;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;color:var(--text-muted);border:none;background:0 0;border-radius:8px;cursor:pointer;padding:0;transition:color .15s,background .15s}.nav-item:hover{color:var(--text);background:color-mix(in srgb,var(--border) 60%,transparent)}.nav-item.active{color:var(--nav-active)}.nav-dot{display:none;position:absolute;bottom:2px;width:4px;height:4px;border-radius:50%;background:var(--nav-active)}.nav-item.active .nav-dot{display:block}.nav-divider{width:1px;height:1.25rem;background:var(--border);margin:0 .375rem}.icon-sun{display:none}.icon-moon{display:flex}[data-theme=dark] .icon-sun{display:flex}[data-theme=dark] .icon-moon{display:none}.page-main{max-width:var(--page-width);margin:0 auto;padding:2.5rem 1.5rem 4rem;min-height:calc(100vh - 8rem)}.home-page{max-width:var(--content-width);margin:0 auto;text-align:center}.home-name{font-size:2.5rem;font-weight:700;letter-spacing:-.03em;margin:0 0 1.5rem;line-height:1.2}.home-avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;margin-bottom:1.5rem;border:3px solid var(--surface);box-shadow:0 2px 12px rgba(0,0,0,8%)}.home-greeting{font-size:1.125rem;font-weight:700;margin:0 0 1rem}.home-bio{text-align:center;color:var(--text);font-size:1rem;line-height:1.8}.home-bio .home-intro{display:block;margin:0}.home-bio p{margin:0 0 1rem}.home-bio strong{font-weight:600;color:var(--text)}.connect-section{margin-top:2.5rem;text-align:left}.connect-section h3{font-size:1.125rem;font-weight:700;margin:0 0 1rem;text-align:center}.connect-list{list-style:none;padding:0;margin:0}.connect-list li{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;font-size:.9375rem}.connect-icon{display:flex;align-items:center;flex-shrink:0;color:var(--text-muted)}.connect-desc{color:var(--text-muted)}.page-header{margin-bottom:2rem}.page-header h1{font-size:2rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .5rem}.page-desc{color:var(--text-muted);margin:0;font-size:1rem}.page-content{margin-bottom:2rem;font-size:1rem;line-height:1.7}.page-content h1{font-size:2rem;font-weight:700;letter-spacing:-.02em;color:var(--text);margin:0 0 .75rem}.page-content h2{font-size:1.375rem;font-weight:700;color:var(--text);margin:1.5rem 0 .5rem}.page-content h3{font-size:1.125rem;font-weight:600;color:var(--text);margin:1.25rem 0 .375rem}.page-content p{margin:0 0 1rem;color:var(--text-muted)}.page-content>:first-child{margin-top:0}.page-content>:last-child{margin-bottom:0}.blog-list{display:flex;flex-direction:column;gap:.625rem;font-family:Georgia,times new roman,songti sc,simsun,serif}.blog-item{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem;line-height:1.5}.blog-item-date{flex-shrink:0;color:var(--text-muted);font-size:.9375rem;font-variant-numeric:tabular-nums}.blog-item-sep{flex-shrink:0;color:var(--text-muted);font-size:.9375rem}.blog-item-title{margin:0;font-size:1rem;font-weight:400;line-height:1.5}.blog-item-title a{color:var(--accent);text-decoration:none}.blog-item-title a:hover{color:var(--accent-hover);text-decoration:underline}.tools-list{display:flex;flex-direction:column;gap:1rem}.tool-card{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:inherit;transition:border-color .15s,box-shadow .15s}.tool-card:hover{border-color:var(--accent);box-shadow:0 2px 8px rgba(0,0,0,4%);color:inherit}.tool-icon{font-size:1.5rem;line-height:1}.tool-card h3{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:var(--text)}.tool-card p{margin:0;font-size:.875rem;color:var(--text-muted)}.tags-cloud{display:flex;flex-wrap:wrap;gap:.625rem}.tag-pill{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .875rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:calc(.8125rem + (var(--tag-weight,50) * .001rem));font-weight:500;transition:border-color .15s,color .15s}.tag-pill:hover{border-color:var(--accent);color:var(--accent)}.tag-count{font-size:.75rem;color:var(--text-muted);background:var(--code-bg);padding:.1rem .4rem;border-radius:var(--radius)}.post-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.post-header h1{font-size:2rem;font-weight:700;letter-spacing:-.03em;margin:0 0 .75rem;line-height:1.3}.post-meta{font-size:.875rem;color:var(--text-muted);display:flex;align-items:center;flex-wrap:wrap;gap:.375rem}.meta-sep{opacity:.5}.tags{display:flex;flex-wrap:wrap;gap:.375rem}.tag{font-size:.75rem;font-weight:500;padding:.125rem .5rem;background:var(--tag-bg);color:var(--tag-text);border-radius:var(--radius)}.post-content{font-size:1.0625rem}.post-content h1{font-size:1.625rem;font-weight:700;color:var(--text);margin:2rem 0 .75rem}.post-content h2{font-size:1.375rem;font-weight:700;color:var(--text);margin:2rem 0 .75rem}.post-content h3{font-size:1.125rem;font-weight:600;color:var(--text);margin:1.5rem 0 .5rem}.post-toc{margin-bottom:2rem;padding:1rem 1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:8px}.post-toc-title{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--text-muted);letter-spacing:.04em}.post-toc nav{margin:0}.post-toc ul{margin:0;padding-left:1.25rem}.post-toc ul ul{margin-top:.375rem}.post-toc li{margin-bottom:.375rem;line-height:1.5}.post-toc a{color:var(--text);font-size:.9375rem}.post-toc a:hover{color:var(--accent)}.post-content p{margin:0 0 1.25rem}.post-content ul,.post-content ol{margin:0 0 1.25rem;padding-left:1.5rem}.post-content li{margin-bottom:.375rem}.post-content blockquote{margin:1.5rem 0;padding:.75rem 1.25rem;border-left:3px solid var(--accent);background:var(--code-bg);color:var(--text-muted);border-radius:0 8px 8px 0}.post-content .highlight{margin:1.5rem 0;border-radius:8px;overflow:hidden;border:1px solid var(--border)}.post-content pre{padding:1rem 1.25rem;border-radius:8px;overflow-x:auto;font-family:var(--font-mono);font-size:.875rem;line-height:1.6;margin:1.5rem 0}.post-content .highlight pre{margin:0;border-radius:0;border:none}.post-content code{font-family:var(--font-mono);font-size:.875em}.post-content :not(pre)>code{background:var(--code-bg);padding:.15em .4em;border-radius:4px}.post-content img{max-width:100%;height:auto;border-radius:8px;margin:1.5rem 0}.post-content hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.post-content table{width:100%;border-collapse:collapse;margin:0 0 1.5rem;font-size:.9375rem}.post-content thead{background:var(--code-bg)}.post-content th,.post-content td{border:1px solid var(--border);padding:.625rem .875rem;text-align:left;vertical-align:top;line-height:1.5}.post-content th{font-weight:600;color:var(--text);white-space:nowrap}.post-content tbody tr:nth-child(even){background:var(--surface)}.post-content .mermaid{margin:1.5rem 0;text-align:center;overflow-x:auto}.pagination{display:flex;align-items:center;justify-content:space-between;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border);font-size:.9375rem}.page-info{color:var(--text-muted)}.empty{color:var(--text-muted);text-align:center;padding:3rem 0}.not-found{text-align:center;padding:4rem 0}.not-found h1{font-size:4rem;font-weight:800;margin:0;color:var(--border)}.not-found p{color:var(--text-muted);font-size:1.125rem}.btn{display:inline-block;margin-top:1.5rem;padding:.625rem 1.25rem;background:var(--accent);color:#fff!important;border-radius:8px;font-weight:500}.btn:hover{opacity:.9}.site-footer{border-top:1px solid var(--border);padding:2rem 1.5rem}.footer-inner{max-width:var(--page-width);margin:0 auto;text-align:center}.footer-social{display:flex;justify-content:center;gap:1rem;margin-bottom:.75rem}.footer-social a{color:var(--text-muted);display:flex;align-items:center;padding:.375rem;border-radius:8px;transition:color .15s,background .15s}.footer-social a:hover{color:var(--accent);background:color-mix(in srgb,var(--border) 50%,transparent)}.footer-copy{margin:0;font-size:.8125rem;color:var(--text-muted)}.footer-copy a{color:var(--text-muted)}.footer-copy a:hover{color:var(--accent)}@media(max-width:600px){.home-name{font-size:2rem}.post-header h1,.page-header h1{font-size:1.625rem}.header-bar{padding:.625rem 1rem}}.page-main:has(.ai-tools-page){max-width:1080px}.ai-tools-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.ai-tools-search{display:flex;align-items:center;gap:.625rem;flex:1;min-width:min(100%,280px);max-width:420px;padding:.625rem .875rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text-muted)}.ai-tools-search:focus-within{border-color:var(--accent)}.ai-tools-search input{flex:1;border:none;background:0 0;color:var(--text);font:inherit;font-size:.9375rem;outline:none}.ai-tools-search input::placeholder{color:var(--text-muted)}.ai-tools-count{margin:0;font-size:.8125rem;color:var(--text-muted);white-space:nowrap}.ai-tools-layout{display:grid;grid-template-columns:160px 1fr;gap:2rem;align-items:start}.ai-tools-sidebar{position:sticky;top:5rem}.ai-tools-nav{display:flex;flex-direction:column;gap:.125rem}.ai-tools-nav-item{display:block;padding:.4375rem .75rem;border-radius:8px;color:var(--text-muted);font-size:.875rem;line-height:1.4;transition:color .15s,background .15s}.ai-tools-nav-item:hover{color:var(--text);background:var(--code-bg)}.ai-tools-nav-item.active{color:var(--accent);background:var(--tag-bg);font-weight:500}.ai-tools-section{margin-bottom:2.5rem;scroll-margin-top:5rem}.ai-tools-section:last-child{margin-bottom:0}.ai-tools-section-header{margin-bottom:1rem}.ai-tools-section-header h2{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:-.01em}.ai-tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.875rem}.ai-tool-card{display:flex;align-items:flex-start;gap:.875rem;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:inherit;transition:border-color .15s,box-shadow .15s}.ai-tool-card:hover{border-color:var(--accent);box-shadow:0 2px 10px rgba(0,0,0,5%);color:inherit}.ai-tool-avatar{flex-shrink:0;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:var(--tag-bg);color:var(--accent);border-radius:10px;font-size:1rem;font-weight:600;text-transform:uppercase}.ai-tool-body{min-width:0}.ai-tool-body h3{margin:0 0 .25rem;font-size:.9375rem;font-weight:600;color:var(--text);line-height:1.35}.ai-tool-body p{margin:0;font-size:.8125rem;color:var(--text-muted);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ai-tools-empty{text-align:center;color:var(--text-muted);padding:3rem 0}@media(max-width:768px){.ai-tools-layout{grid-template-columns:1fr;gap:1rem}.ai-tools-sidebar{position:static;overflow-x:auto;-webkit-overflow-scrolling:touch}.ai-tools-nav{flex-direction:row;gap:.375rem;padding-bottom:.25rem}.ai-tools-nav-item{flex-shrink:0;white-space:nowrap}.ai-tools-grid{grid-template-columns:1fr}}