body{font-family:"Inter", var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-wrap:break-word;line-height:1.7}*,:before,:after{box-sizing:border-box;margin:0;padding:0}img{max-width:100%;height:auto}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.blog-hero{background:var(--bg-alt);border-bottom:1px solid var(--border);padding:56px 0 40px}.blog-hero h1{letter-spacing:-.03em;margin-bottom:16px;font-size:40px;font-weight:800;line-height:1.1}.blog-hero h1 .accent{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 80%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.blog-hero p{color:var(--text-secondary);max-width:620px;font-size:18px}.blog-list{flex-direction:column;gap:16px;padding:40px 0 64px;list-style:none;display:flex}.blog-card{border:1px solid var(--border);color:inherit;background:#fff;border-radius:14px;padding:24px;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s;display:block}.blog-card:hover{border-color:var(--primary);box-shadow:var(--shadow-lg);text-decoration:none;transform:translateY(-3px)}.blog-card-meta{color:var(--text-secondary);align-items:center;gap:12px;margin-bottom:10px;font-size:13px;display:flex}.blog-card-meta .dot{background:var(--border);border-radius:50%;width:3px;height:3px}.blog-card h2{letter-spacing:-.01em;color:var(--text);margin-bottom:10px;font-size:22px;font-weight:700;line-height:1.3}.blog-card:hover h2{color:var(--primary)}.blog-card p{color:var(--text-secondary);margin-bottom:14px;font-size:15px}.blog-card-more{color:var(--primary);font-size:14px;font-weight:600}.blog-empty{color:var(--text-secondary);padding:48px 0 64px}.article-hero{padding:48px 0 32px}.article-hero h1{letter-spacing:-.03em;margin-bottom:16px;font-size:38px;font-weight:800;line-height:1.15}.article-meta{color:var(--text-secondary);align-items:center;gap:12px;font-size:14px;display:flex}.article-meta .dot{background:var(--border);border-radius:50%;width:3px;height:3px}.article-toc{background:var(--bg-alt);border:1px solid var(--border);border-radius:14px;margin-bottom:40px;padding:20px 24px}.article-toc-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:12px;font-size:13px;font-weight:700}.article-toc ol{flex-direction:column;gap:8px;list-style:none;display:flex}.article-toc a{font-size:15px;font-weight:500}.article-body{padding-bottom:8px}.article-body>p:first-child{color:var(--text-secondary);font-size:20px;line-height:1.6}.article-body h2{letter-spacing:-.02em;margin:44px 0 14px;scroll-margin-top:88px;font-size:26px;font-weight:700;line-height:1.25}.article-body h3{margin:30px 0 8px;scroll-margin-top:88px;font-size:20px;font-weight:600}.article-body p,.article-body li{margin-bottom:14px;font-size:17px}.article-body ul,.article-body ol{margin-bottom:18px;padding-left:22px}.article-body li::marker{color:var(--primary)}.article-body strong{color:var(--text);font-weight:700}.article-body blockquote{border-left:3px solid var(--primary);background:var(--bg-alt);color:var(--text-secondary);border-radius:0 10px 10px 0;margin:24px 0;padding:14px 18px}.article-body table{border-collapse:collapse;width:100%;margin:24px 0;font-size:15px}.article-body th,.article-body td{border:1px solid var(--border);text-align:left;padding:10px 14px}.article-body th{background:var(--bg-alt);font-weight:600}.article-body code{background:var(--bg-alt);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:14px}.article-body pre{border:1px solid var(--border);border-radius:10px;margin:24px 0;padding:16px 18px;font-size:13.5px;line-height:1.55;overflow-x:auto}.article-body pre code{font-size:inherit;background:0 0;border:none;padding:0}.article-body hr{border:none;border-top:1px solid var(--border);margin:36px 0}.article-sources{border-top:1px solid var(--border);color:var(--text-secondary);margin-top:40px;padding-top:20px;font-size:13px;line-height:1.6}.article-nav{padding:32px 0 64px;font-size:15px;font-weight:600}@media (max-width:640px){.blog-hero h1{font-size:32px}.article-hero h1{font-size:30px}.article-body h2{font-size:22px}.article-body>p:first-child{font-size:18px}}
