@import url("https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@300;400;600;800;900&display=swap");:root{--bg: #fafafa;--bg-surface: #f2f2f2;--text: #3a3a3c;--text-muted: #8e8e93;--text-light: #636366;--accent: #5a73b0;--accent-hover: #7089c4;--border: rgba(230, 230, 230, 0.8);--border-solid: #e8e8e8;--code-bg: #f0f0f0;--font: "Nunito Sans", -apple-system, BlinkMacSystemFont, sans-serif}[data-theme=dark]{--bg: #2c2c2e;--bg-surface: #363638;--text: #d1d1d6;--text-muted: #8e8e93;--text-light: #a1a1a6;--accent: #8aace0;--accent-hover: #a0bfea;--border: rgba(72, 72, 74, 0.8);--border-solid: #48484a;--code-bg: #333335}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:var(--font);font-weight:300;background:var(--bg);color:var(--text);line-height:1.6}.container{max-width:980px;margin:0 auto;padding:0 20px}.site-header{padding:40px 0 20px;text-align:center}.site-header .site-title{font-size:26px;font-weight:800;color:var(--text-muted);text-decoration:none;text-transform:uppercase;letter-spacing:.05em;line-height:1.2;display:block}.site-header .site-description{font-size:20px;font-weight:300;color:var(--text-light);margin-top:8px;line-height:1.3}.site-nav{border-top:1px solid var(--border-solid);border-bottom:1px solid var(--border-solid);padding:0;margin-bottom:40px}.site-nav .container{display:flex;align-items:center;justify-content:space-between}.site-nav ul{list-style:none;display:flex;gap:0;align-items:center}.site-nav li a,.site-nav li strong{display:block;padding:20px 15px;color:var(--text);text-decoration:none;font-size:14px;font-weight:300;line-height:1.4;transition:color .2s ease}.site-nav li a:hover,.site-nav li strong:hover{color:var(--accent)}.site-nav .nav-right{display:flex;align-items:center;gap:1rem}.site-nav .lang-switch{font-size:13px;color:var(--text-muted)}.site-nav .lang-switch a{color:var(--accent);text-decoration:none;font-weight:400}.site-nav .lang-switch strong{display:inline;padding:0;font-weight:600;color:var(--text)}.post-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:60px}@media (max-width: 680px){.post-grid{grid-template-columns:1fr}}.post-card{border:1px solid var(--border);padding:28px 24px 25px;display:flex;flex-direction:column;transition:opacity .2s ease}.post-card:hover h3 a{color:var(--accent)}.post-card h3{font-size:22px;font-weight:800;line-height:1.3;margin-bottom:11px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.post-card h3 a{color:var(--text);text-decoration:none;transition:color .2s ease}.post-card .post-excerpt{font-size:16px;font-weight:300;line-height:1.4;color:var(--text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1}.post-card .post-meta{margin-top:16px;padding-top:15px;border-top:1px solid var(--border-solid);font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:8px}.section-title{font-size:40px;font-weight:300;line-height:1.25;margin-bottom:8px;color:var(--text)}.section-description{font-size:18px;font-weight:300;line-height:1.3;color:var(--text-light);margin-bottom:32px}.hero{margin-bottom:32px;text-align:left}.hero h1{font-size:40px;font-weight:300;line-height:1.25;color:var(--text);margin-bottom:8px}.hero p{font-size:18px;font-weight:300;color:var(--text-light);line-height:1.3}.tags{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}.tag{background:var(--bg-surface);color:var(--text-muted);padding:3px 10px;font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.5px;text-decoration:none;transition:all .2s ease}.tag:hover{background:var(--accent);color:#fff}.post{max-width:720px;margin:0 auto}.post header{margin-bottom:32px}.post header h1{font-size:32px;font-weight:800;line-height:1.25;color:var(--text);margin-bottom:12px}.post header time{font-size:14px;color:var(--text-muted);font-weight:300}.toc{border:1px solid var(--border-solid);padding:20px 24px;margin-bottom:32px}.toc h2{font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;color:var(--text)}.toc ul{padding-left:20px}.toc a{color:var(--text-light);text-decoration:none;font-size:14px;font-weight:300;line-height:1.8;transition:color .2s ease}.toc a:hover{color:var(--accent)}.post-content h2{font-size:24px;font-weight:800;color:var(--text);margin:40px 0 16px;line-height:1.3}.post-content h3{font-size:20px;font-weight:800;color:var(--text);margin:32px 0 12px;line-height:1.3}.post-content h4{font-size:17px;font-weight:600;color:var(--text);margin:24px 0 10px}.post-content p{margin-bottom:16px;line-height:1.75;font-weight:300}.post-content a{color:var(--accent);text-decoration:underline;text-decoration-color:rgba(74,103,169,.3);transition:all .2s ease}.post-content a:hover{color:var(--accent-hover);text-decoration-color:var(--accent-hover)}.post-content img{max-width:100%;height:auto;margin:24px 0}.post-content blockquote{border-left:3px solid var(--accent);padding:12px 20px;margin:24px 0;color:var(--text-light);font-style:italic;font-weight:300}.post-content code{background:var(--code-bg);padding:2px 6px;border-radius:2px;font-size:.9em}.post-content pre{background:var(--code-bg);padding:20px;overflow-x:auto;margin:24px 0;border:1px solid var(--border-solid)}.post-content pre code{background:none;padding:0}.post-content table{width:100%;border-collapse:collapse;margin:24px 0}.post-content table th,.post-content table td{border:1px solid var(--border-solid);padding:10px 14px;text-align:left;font-weight:300}.post-content table th{background:var(--bg-surface);font-weight:600}.post-content ul,.post-content ol{padding-left:24px;margin-bottom:16px}.post-content li{margin-bottom:6px;line-height:1.75;font-weight:300}.post-content strong{font-weight:600;color:var(--text)}footer{margin-top:60px;padding:24px 0;border-top:1px solid var(--border-solid);text-align:center}footer p{font-size:14px;font-weight:300;color:var(--text-muted);line-height:1.6}footer a{color:var(--text-light);text-decoration:none;transition:color .2s ease}footer a:hover{color:var(--accent)}.theme-toggle{background:none;border:none;cursor:pointer;font-size:18px;padding:4px 8px;line-height:1;transition:opacity .2s ease;opacity:.7}.theme-toggle:hover{opacity:1}