:root{--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace;--color-bg:#fff;--color-text:#1a1f28;--color-muted:#5c6570;--color-accent:#c2410c;--color-border:#e4e7eb;--color-code-bg:#f6f7f9;--measure:68ch;--space-1:.25rem;--space-2:.5rem;--space-3:1rem;--space-4:1.6rem;--space-5:2.6rem;--space-6:4rem}@media (prefers-color-scheme:dark){:root{--color-bg:#12151b;--color-text:#e7e9ee;--color-muted:#9aa3af;--color-accent:#fb923c;--color-border:#2a2f39;--color-code-bg:#1b1f27}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;line-height:1.7}a{color:var(--color-accent);text-underline-offset:3px}a:hover{text-decoration:none}img,svg{max-width:100%;height:auto}main{max-width:var(--measure);padding:var(--space-5) var(--space-4);margin:0 auto}.site-header{border-bottom:1px solid var(--color-border);padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);max-width:72rem;margin:0 auto;display:flex}.site-logo{color:var(--color-text);letter-spacing:-.02em;font-size:1.25rem;font-weight:700;text-decoration:none}.site-logo .tag-mark{color:var(--color-accent)}.site-header nav{gap:var(--space-3);display:flex}.site-footer{border-top:1px solid var(--color-border);margin-top:var(--space-6);padding:var(--space-4);text-align:center;color:var(--color-muted);font-size:.9rem}.ad-slot{margin:var(--space-4) auto;text-align:center;border:1px dashed var(--color-border);min-height:90px;color:var(--color-muted);font-size:.8rem;display:block}.ad-slot-label{padding:var(--space-2);display:block}@media (width<=400px){.ad-slot{min-height:60px}}.article-card{border-bottom:1px solid var(--color-border);padding:var(--space-4) 0}.article-card-meta{color:var(--color-muted);margin:0 0 var(--space-1);font-size:.85rem}.article-card h2{margin:0 0 var(--space-2);font-size:1.35rem;line-height:1.3}.article-card h2 a{color:var(--color-text);text-decoration:none}.article-card h2 a:hover{color:var(--color-accent)}.article-card-more{margin-bottom:0}.pagination{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-5);display:flex}.pagination-current{color:var(--color-muted)}.article-header h1{margin:var(--space-2) 0;font-size:2rem;line-height:1.2}.article-meta{color:var(--color-muted);margin:0;font-size:.9rem}.article-deck{color:var(--color-muted);margin:var(--space-2) 0;font-size:1.1rem}.affiliate-note{background:var(--color-code-bg);padding:var(--space-2) var(--space-3);border-left:3px solid var(--color-accent);font-size:.9rem}.article-toc{border:1px solid var(--color-border);padding:var(--space-3);margin:var(--space-4) 0}.article-toc h2{margin-top:0;font-size:1rem}.article-toc ol{margin:var(--space-2) 0 0;padding-left:var(--space-4)}.article-body h2{margin-top:var(--space-5)}.article-body pre{background:var(--color-code-bg);padding:var(--space-3);border-radius:4px;overflow-x:auto}.article-body code{font-family:var(--font-mono);font-size:.9em}.article-body table{border-collapse:collapse;width:100%}.article-body th,.article-body td{border:1px solid var(--color-border);padding:var(--space-2);text-align:left}.article-body blockquote{border-left:3px solid var(--color-accent);margin:var(--space-4) 0;padding-left:var(--space-3);color:var(--color-muted)}.article-faq details{border-bottom:1px solid var(--color-border);padding:var(--space-2) 0}.article-faq summary{cursor:pointer;font-weight:600}.hero{padding-bottom:var(--space-4)}.hero h1{margin-bottom:var(--space-3);font-size:2.4rem;line-height:1.15}.category-cards{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.category-card{border:1px solid var(--color-border);padding:var(--space-3);color:var(--color-text);text-decoration:none}.category-card:hover{border-color:var(--color-accent)}.category-card h3{margin:0 0 var(--space-1);font-size:1.05rem}.category-card p{color:var(--color-muted);margin:0;font-size:.9rem}
