*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0d1117;--bg-surface: #161b22;--bg-code: #1c2128;--text: #e6edf3;--text-muted: #8b949e;--text-link: #58a6ff;--text-link-hover: #79c0ff;--border: #30363d;--accent: #58a6ff;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif;--font-mono: "SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, monospace;--max-width: 720px;--content-padding: 1.5rem}html{font-size:17px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background-color:var(--bg);color:var(--text);line-height:1.7;min-height:100vh}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--content-padding)}.site-header{padding:2rem 0 1rem;border-bottom:1px solid var(--border);margin-bottom:2rem}.site-header a{text-decoration:none;color:var(--text)}.site-title{font-size:1.25rem;font-weight:600;letter-spacing:-.01em}.site-footer{padding:2rem 0;margin-top:4rem;border-top:1px solid var(--border);color:var(--text-muted);font-size:.85rem}.article-list{list-style:none}.article-item{padding:1.5rem 0;border-bottom:1px solid var(--border)}.article-item:last-child{border-bottom:none}.article-item a{text-decoration:none;color:inherit;display:block}.article-item a:hover .article-title{color:var(--text-link)}.article-title{font-size:1.35rem;font-weight:600;line-height:1.3;margin-bottom:.5rem;transition:color .15s}.article-subtitle{color:var(--text-muted);font-size:.95rem;line-height:1.5}.article-date{color:var(--text-muted);font-size:.8rem;margin-top:.5rem;font-family:var(--font-mono)}.article-header{margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.article-header h1{font-size:2rem;font-weight:700;line-height:1.2;letter-spacing:-.02em;margin-bottom:.75rem}.article-header .subtitle{color:var(--text-muted);font-size:1.05rem;font-style:italic;line-height:1.5;margin-bottom:.75rem}.article-header .meta{color:var(--text-muted);font-size:.8rem;font-family:var(--font-mono)}.prose h2{font-size:1.5rem;font-weight:600;margin-top:3rem;margin-bottom:1rem;letter-spacing:-.01em}.prose h3{font-size:1.2rem;font-weight:600;margin-top:2.5rem;margin-bottom:.75rem}.prose h4{font-size:1rem;font-weight:600;margin-top:2rem;margin-bottom:.5rem}.prose p{margin-bottom:1.25rem}.prose a{color:var(--text-link);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}.prose a:hover{color:var(--text-link-hover)}.prose strong{font-weight:600;color:#f0f6fc}.prose em{font-style:italic}.prose ul,.prose ol{margin-bottom:1.25rem;padding-left:1.75rem}.prose li{margin-bottom:.4rem}.prose li>ul,.prose li>ol{margin-top:.4rem;margin-bottom:0}.prose hr{border:none;border-top:1px solid var(--border);margin:3rem 0}.prose blockquote{border-left:3px solid var(--accent);padding:.5rem 1rem;margin-bottom:1.25rem;color:var(--text-muted);background:var(--bg-surface);border-radius:0 4px 4px 0}.prose blockquote p{margin-bottom:0}.prose code{font-family:var(--font-mono);font-size:.85em;background:var(--bg-code);padding:.15em .35em;border-radius:4px;border:1px solid var(--border)}.prose pre{margin-bottom:1.5rem;padding:1.25rem;border-radius:6px;border:1px solid var(--border);overflow-x:auto;font-size:.85rem;line-height:1.6;-webkit-overflow-scrolling:touch}.prose pre code{background:none;padding:0;border:none;border-radius:0;font-size:inherit}.prose table{width:100%;margin-bottom:1.5rem;border-collapse:collapse;font-size:.9rem}.prose thead{border-bottom:2px solid var(--border)}.prose th{text-align:left;padding:.6rem .75rem;font-weight:600;color:var(--text)}.prose td{padding:.5rem .75rem;border-bottom:1px solid var(--border);vertical-align:top}.prose tr:last-child td{border-bottom:none}.prose tbody tr:hover{background:var(--bg-surface)}.prose td code,.prose th code{font-size:.8rem}.back-link{display:inline-block;margin-bottom:2rem;color:var(--text-muted);text-decoration:none;font-size:.9rem;transition:color .15s}.back-link:hover{color:var(--text-link)}@media(max-width:640px){html{font-size:16px}:root{--content-padding: 1.25rem}.article-header h1{font-size:1.6rem}.article-title{font-size:1.15rem}.prose pre{padding:1rem;font-size:.8rem;border-radius:0;margin-left:calc(-1 * var(--content-padding));margin-right:calc(-1 * var(--content-padding));border-left:none;border-right:none}.prose table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}
