*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-accent: #0078d4;--color-accent-hover: #005a9e;--color-bg: #ffffff;--color-bg-subtle: #f6f8fa;--color-surface: #ffffff;--color-border: #d0d7de;--color-text: #1a1a2e;--color-text-muted: #57606a;--max-width: 1100px;--nav-height: 64px;--page-padding: 1rem}@media(min-width:768px){:root{--page-padding: 1.5rem}}html.dark{--color-bg: #0d1117;--color-bg-subtle: #161b22;--color-surface: #161b22;--color-border: #30363d;--color-text: #e6edf3;--color-text-muted: #8b949e}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji";font-size:1rem;line-height:1.6;color:var(--color-text);background-color:var(--color-bg);transition:background-color .2s,color .2s;-webkit-font-smoothing:antialiased}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover)}img{max-width:100%;display:block}button{font-family:inherit;cursor:pointer}.page{max-width:var(--max-width);margin:0 auto;padding:2.5rem var(--page-padding)}@media(min-width:768px){.page{padding:4rem var(--page-padding)}}.page__title{font-size:1.75rem;font-weight:700;letter-spacing:-.03em;margin-bottom:.5rem;color:var(--color-text)}@media(min-width:768px){.page__title{font-size:2.25rem}}.page__subtitle{font-size:1rem;color:var(--color-text-muted);margin-bottom:3rem}.blog-content{font-size:1.0625rem;line-height:1.8;color:var(--color-text);margin-bottom:3rem}.blog-content h1,.blog-content h2,.blog-content h3,.blog-content h4,.blog-content h5,.blog-content h6{font-weight:700;letter-spacing:-.02em;line-height:1.3;margin:2em 0 .6em;color:var(--color-text)}.blog-content h1:first-child,.blog-content h2:first-child,.blog-content h3:first-child,.blog-content h4:first-child,.blog-content h5:first-child,.blog-content h6:first-child{margin-top:0}.blog-content h1{font-size:1.625rem}.blog-content h2{font-size:1.25rem;padding-bottom:.4rem;border-bottom:1px solid var(--color-border)}.blog-content h3{font-size:1.075rem}.blog-content h4{font-size:1rem}.blog-content p{margin-bottom:1.25rem}.blog-content a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}.blog-content a:hover{color:var(--color-accent-hover)}.blog-content ul,.blog-content ol{margin:0 0 1.25rem 1.5rem}.blog-content ul li,.blog-content ol li{margin-bottom:.35rem}.blog-content blockquote{border-left:3px solid var(--color-accent);margin:1.5rem 0;padding:.75rem 1.25rem;background:var(--color-bg-subtle);border-radius:0 6px 6px 0;color:var(--color-text-muted);font-style:italic}.blog-content blockquote p{margin:0}.blog-content code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.875em;background:var(--color-bg-subtle);border:1px solid var(--color-border);padding:.15em .4em;border-radius:4px}.blog-content pre{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:8px;padding:1.25rem;overflow-x:auto;margin:1.5rem 0}.blog-content pre code{background:none;border:none;padding:0;font-size:.875rem;line-height:1.6}.blog-content img{border-radius:8px;margin:1.5rem 0}.blog-content hr{border:none;border-top:1px solid var(--color-border);margin:2.5rem 0}.blog-content table{width:100%;border-collapse:collapse;margin-bottom:1.5rem;font-size:.9rem;overflow-x:auto;display:block}.blog-content table th,.blog-content table td{padding:.625rem .875rem;border:1px solid var(--color-border);text-align:left}.blog-content table th{background:var(--color-bg-subtle);font-weight:600}.blog-content table tr:nth-child(2n) td{background:color-mix(in srgb,var(--color-bg-subtle) 50%,transparent)}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.625rem 1.25rem;border-radius:6px;font-size:.9rem;font-weight:500;text-decoration:none;border:1px solid transparent;transition:background-color .15s,color .15s,border-color .15s;cursor:pointer;white-space:nowrap;line-height:1.4}.btn--primary{background:var(--color-accent);color:#fff}.btn--primary:hover{background:var(--color-accent-hover);color:#fff}.btn--outline{border-color:var(--color-border);color:var(--color-text-muted);background:transparent}.btn--outline:hover{border-color:var(--color-accent);color:var(--color-accent)}
