:root{--black: #0a0a0a;--dark: #1a1a1a;--gray-dark: #3a3a3a;--gray: #666;--gray-light: #999;--gray-lighter: #e5e5e5;--white: #fafafa;--cream: #f5f4f0;--accent: #2d5a3d;--accent-light: #e8f2eb;--font-serif: "Newsreader", Georgia, serif;--font-mono: "JetBrains Mono", "SF Mono", Consolas, monospace;--max-width: 720px;--wide-width: 960px}.site-id{background:var(--accent);color:var(--white);text-align:center;padding:.5rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.site-id a{color:var(--white);opacity:.8;text-decoration:none}.site-id a:hover{opacity:1}*,*:before,*:after{box-sizing:border-box}html{font-size:18px;scroll-behavior:smooth}body{margin:0;padding:0;font-family:var(--font-serif);font-size:1rem;line-height:1.7;color:var(--dark);background:var(--white);-webkit-font-smoothing:antialiased}header{padding:2rem;text-align:center;border-bottom:1px solid var(--gray-lighter)}.logo{max-width:240px;width:100%;height:auto}nav{position:sticky;top:0;background:var(--white);border-bottom:1px solid var(--gray-lighter);padding:.75rem 2rem;z-index:100;font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}nav ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}nav a{text-decoration:none;color:var(--gray)}nav a:hover{color:var(--black)}main{max-width:var(--max-width);margin:0 auto;padding:0 2rem}.article-header{padding:3rem 0 2rem;border-bottom:1px solid var(--gray-lighter);margin-bottom:2rem}.article-header h1{font-size:2rem;font-weight:500;line-height:1.3;color:var(--black);margin:0 0 1rem}.article-meta{font-family:var(--font-mono);font-size:.75rem;color:var(--gray-light);letter-spacing:.02em}.article-meta .separator{margin:0 .5rem;color:var(--gray-lighter)}.category-badge{font-family:var(--font-mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;padding:.2rem .5rem;border-radius:3px;background:color-mix(in srgb,var(--cat-color, #6b7280) 15%,transparent);color:var(--cat-color, #6b7280);border:1px solid color-mix(in srgb,var(--cat-color, #6b7280) 30%,transparent);transition:all .2s}.category-badge:hover{background:color-mix(in srgb,var(--cat-color, #6b7280) 25%,transparent)}.canonical-notice{margin-top:1rem;padding:.75rem 1rem;background:var(--cream);font-size:.85rem;color:var(--gray);border-left:3px solid var(--gray-lighter)}.canonical-notice a{color:var(--dark)}.article-tags{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--gray-lighter)}.article-tags-label{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-light);margin-bottom:.75rem}.article-tags .tag,.tag{display:inline-block;font-family:var(--font-mono);font-size:.75rem;background:var(--cream);color:var(--gray);padding:.25rem .6rem;margin:0 .4rem .4rem 0;border-radius:3px;text-decoration:none;transition:all .2s}.article-tags a.tag:hover,a.tag:hover{background:var(--gray-lighter);color:var(--dark)}.related-articles{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--gray-lighter)}.related-articles h2{font-size:1.25rem;font-weight:500;margin:0 0 1.25rem;color:var(--black)}.related-grid{display:grid;gap:1rem}.related-card{display:block;padding:1rem 1.25rem;background:var(--cream);border-radius:6px;text-decoration:none;transition:all .2s}.related-card:hover{background:var(--gray-lighter)}.related-title{display:block;font-weight:500;color:var(--dark);margin-bottom:.25rem;line-height:1.4}.related-meta{font-family:var(--font-mono);font-size:.7rem;color:var(--gray-light)}.article-content{padding:2rem 0 3rem}.article-content h2{font-size:1.5rem;font-weight:500;line-height:1.3;color:var(--black);margin:2.5rem 0 1rem;padding-bottom:.5rem;border-bottom:2px solid var(--black);display:inline-block}.article-content h3{font-size:1.2rem;font-weight:500;line-height:1.3;color:var(--black);margin:2rem 0 .75rem}.article-content h4{font-size:1.05rem;font-weight:600;line-height:1.3;color:var(--black);margin:1.5rem 0 .5rem}.article-content p{margin:0 0 1.25rem}.article-content a{color:var(--dark);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:color .2s}.article-content a:hover{color:var(--gray)}.article-content ul,.article-content ol{margin:0 0 1.25rem;padding-left:1.5rem}.article-content li{margin-bottom:.5rem}.article-content li strong{font-weight:600}.article-content blockquote{margin:1.5rem 0;padding:1rem 1.5rem;background:var(--cream);border-left:3px solid var(--black);font-style:italic}.article-content blockquote p:last-child{margin-bottom:0}.article-content code{font-family:var(--font-mono);font-size:.9em;background:var(--cream);padding:.15rem .4rem;border-radius:3px;color:#c7254e}.article-content pre{margin:1.5rem 0;padding:1.25rem;background:#2d2d2d;color:#e0e0e0;overflow-x:auto;border-radius:6px;border:1px solid #444;font-size:.875rem;line-height:1.6}.article-content pre code{background:none;padding:0;color:inherit;font-size:inherit}.article-content img{max-width:100%;height:auto;display:block;margin:1.5rem auto;border-radius:6px}.article-content figure,.article-content figure.wp-block-image,figure.wp-block-image{margin:1.5rem 0;text-align:center}.article-content figure img,.article-content figure.wp-block-image img,figure.wp-block-image img{margin:0 auto;border-radius:8px}.article-content figcaption,.article-content figure.wp-block-image figcaption,figure.wp-block-image figcaption{font-size:.875rem;color:var(--gray);margin-top:.5rem;font-style:italic;line-height:1.5}.featured-image{margin:0 0 2rem}.featured-image img{width:100%;border-radius:8px;margin:0}.featured-image figcaption{font-size:.875rem;color:var(--gray);margin-top:.5rem;font-style:italic;text-align:center}.article-content hr{border:none;border-top:1px solid var(--gray-lighter);margin:2.5rem 0}.article-content em{font-style:italic}.article-content strong{font-weight:600}.article-content table{border-collapse:collapse;width:100%;margin:1.5rem 0}.article-content th,.article-content td{border:1px solid var(--gray-lighter);padding:.75rem;text-align:left}.article-content th{background-color:#f8f9fa;font-weight:600}.article-content tr:nth-child(2n){background-color:#fafafa}.article-card{padding:1.5rem;border:1px solid var(--gray-lighter);border-radius:8px;margin-bottom:1.5rem;transition:box-shadow .2s}.article-card:hover{box-shadow:0 4px 12px #0000001a}.card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.new-badge{font-family:var(--font-mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;background:#059669;color:#fff;padding:.15rem .4rem;border-radius:3px}.card-title{font-size:1.25rem;font-weight:500;margin:0 0 .5rem;line-height:1.3}.card-title a{color:var(--black);text-decoration:none}.card-title a:hover{color:var(--gray)}.card-description{color:var(--gray);margin:0 0 .75rem;font-size:.95rem}.card-meta{font-family:var(--font-mono);font-size:.7rem;color:var(--gray-light);margin-bottom:.75rem}.card-separator{margin:0 .4rem}.card-tags{display:flex;flex-wrap:wrap;gap:.25rem}footer{max-width:var(--max-width);margin:0 auto;padding:3rem 2rem 4rem;text-align:center;color:var(--gray);font-size:.9rem;border-top:1px solid var(--gray-lighter)}footer p{margin:0 0 .75rem}footer a{color:var(--dark);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.cc0{font-family:var(--font-mono);font-size:.75rem;color:var(--gray-light);letter-spacing:.02em}.built-with{font-family:var(--font-mono);font-size:.7rem;color:var(--gray-light);margin-top:1.5rem}.built-with a{color:var(--gray)}.category-stat{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .75rem;margin:.25rem;border-radius:4px;text-decoration:none;font-family:var(--font-mono);font-size:.75rem;background:color-mix(in srgb,var(--cat-color, #6b7280) 10%,transparent);color:var(--cat-color, #6b7280);border:1px solid color-mix(in srgb,var(--cat-color, #6b7280) 20%,transparent);transition:all .2s}.category-stat:hover{background:color-mix(in srgb,var(--cat-color, #6b7280) 20%,transparent)}.stat-count{background:color-mix(in srgb,var(--cat-color, #6b7280) 20%,transparent);padding:.1rem .4rem;border-radius:3px}@media(max-width:640px){html{font-size:16px}header{padding:1.5rem}.logo{max-width:200px}main{padding:0 1.5rem}.article-header{padding:2rem 0 1.5rem}.article-header h1{font-size:1.6rem}nav ul{gap:1rem}}@media print{nav{display:none}header{border-bottom:none}.canonical-notice{display:none}}
