*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #fafafa;--bg-card: #ffffff;--text: #1a1a2e;--text-secondary: #6b7280;--accent: #6366f1;--accent-hover: #4f46e5;--border: #e5e7eb;--code-bg: #f3f4f6;--shadow: 0 1px 3px rgba(0,0,0,.08);--radius: 10px;--max-width: 720px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans SC", sans-serif;--font-mono: "SF Mono", "Fira Code", "Cascadia Code", monospace}html.dark{--bg: #0f172a;--bg-card: #1e293b;--text: #e2e8f0;--text-secondary: #94a3b8;--accent: #818cf8;--accent-hover: #6366f1;--border: #334155;--code-bg: #1e293b;--shadow: 0 1px 3px rgba(0,0,0,.3)}html{scroll-behavior:smooth;font-size:17px}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.75;min-height:100vh;transition:background .3s,color .3s}.page-wrap{max-width:var(--max-width);margin:0 auto;padding:2rem 1.5rem 4rem}.site-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 0 2rem;border-bottom:1px solid var(--border);margin-bottom:2.5rem}.site-logo{font-size:1.4rem;font-weight:700;color:var(--text);text-decoration:none;letter-spacing:-.5px}.site-logo span{color:var(--accent)}.nav-links{display:flex;gap:1.5rem;align-items:center}.nav-links a{color:var(--text-secondary);text-decoration:none;font-size:.95rem;font-weight:500;transition:color .2s}.nav-links a:hover,.nav-links a.active{color:var(--text)}.theme-toggle{background:none;border:1px solid var(--border);border-radius:8px;padding:6px 10px;cursor:pointer;font-size:1.1rem;line-height:1;color:var(--text-secondary);transition:all .2s}.theme-toggle:hover{color:var(--text);border-color:var(--accent)}.blog-list{list-style:none}.blog-item{padding:1.5rem 0;border-bottom:1px solid var(--border)}.blog-item:last-child{border-bottom:none}.blog-date{font-size:.85rem;color:var(--text-secondary);font-family:var(--font-mono);margin-bottom:.25rem}.blog-title{font-size:1.25rem;font-weight:600;line-height:1.4}.blog-title a{color:var(--text);text-decoration:none;transition:color .2s}.blog-title a:hover{color:var(--accent)}.blog-excerpt{color:var(--text-secondary);margin-top:.4rem;font-size:.95rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.blog-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.6rem}.tag{font-size:.78rem;background:var(--code-bg);color:var(--text-secondary);padding:2px 10px;border-radius:20px}.post-header{margin-bottom:2rem}.post-title{font-size:2rem;font-weight:700;line-height:1.3;letter-spacing:-.5px}.post-meta{display:flex;gap:1rem;align-items:center;margin-top:.75rem;color:var(--text-secondary);font-size:.9rem;font-family:var(--font-mono)}.post-content{font-size:1.05rem}.post-content h2{font-size:1.5rem;font-weight:600;margin:2.5rem 0 .75rem;letter-spacing:-.3px}.post-content h3{font-size:1.2rem;font-weight:600;margin:2rem 0 .5rem}.post-content p{margin-bottom:1.2rem}.post-content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.post-content ul,.post-content ol{margin:.5rem 0 1.2rem 1.5rem}.post-content li{margin-bottom:.4rem}.post-content blockquote{border-left:3px solid var(--accent);padding:.5rem 0 .5rem 1.2rem;margin:1.5rem 0;color:var(--text-secondary);font-style:italic;background:var(--code-bg);border-radius:0 8px 8px 0}.post-content img{max-width:100%;border-radius:var(--radius);margin:1.5rem 0}.post-content code{font-family:var(--font-mono);font-size:.88em;background:var(--code-bg);padding:2px 6px;border-radius:4px}.post-content pre{background:var(--code-bg);border-radius:var(--radius);padding:1.2rem;overflow-x:auto;margin:1.2rem 0;font-size:.88rem;border:1px solid var(--border)}.post-content pre code{background:none;padding:0}.post-content hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.post-nav{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border)}.post-nav a{color:var(--accent);text-decoration:none;font-weight:500}.post-nav a:hover{text-decoration:underline}.empty-state{text-align:center;padding:4rem 0;color:var(--text-secondary)}.empty-state p{font-size:1.05rem}.site-footer{text-align:center;padding:2rem 0 0;color:var(--text-secondary);font-size:.85rem;border-top:1px solid var(--border);margin-top:3rem}.site-footer a{color:var(--accent);text-decoration:none}@media(max-width:768px){html{font-size:16px}.page-wrap{padding:1.2rem 1.2rem 3rem}.site-header{padding:1rem 0 1.2rem;margin-bottom:1.5rem}.site-logo{font-size:1.2rem}.nav-links{gap:1rem}.nav-links a{font-size:.9rem}.post-title{font-size:1.6rem}.post-content{font-size:1rem}.post-content pre{margin:1rem -.5rem;border-radius:var(--radius);font-size:.8rem;padding:1rem}.post-content blockquote{margin:1rem 0;padding:.4rem 0 .4rem 1rem}}@media(max-width:480px){html{font-size:15px}.page-wrap{padding:.8rem .9rem 2.5rem}.site-header{padding:.6rem 0 .8rem;margin-bottom:1.2rem}.site-logo{font-size:1.1rem}.nav-links{gap:.7rem}.nav-links a{font-size:.82rem}.theme-toggle{padding:4px 8px;font-size:1rem}.blog-item{padding:1rem 0}.blog-title{font-size:1.1rem}.blog-excerpt{font-size:.88rem;-webkit-line-clamp:3}.post-title{font-size:1.35rem}.post-meta{font-size:.8rem;gap:.6rem;flex-wrap:wrap}.post-content{font-size:.95rem}.post-content h2{font-size:1.25rem;margin:1.8rem 0 .6rem}.post-content h3{font-size:1.1rem;margin:1.5rem 0 .5rem}.post-content pre{margin:.8rem -.9rem;border-radius:0;font-size:.75rem;padding:.8rem}.post-content blockquote{margin:.8rem 0;padding:.3rem 0 .3rem .8rem;border-left-width:2px}.post-content img{margin:1rem 0}.post-content ul,.post-content ol{margin-left:1.2rem}.post-nav{margin-top:2rem;padding-top:1rem}.site-footer{padding:1.2rem 0 0;margin-top:2rem;font-size:.78rem}.empty-state{padding:3rem 0}.tag{font-size:.72rem;padding:2px 8px}}
