
:root {--bg:#ffffff;--bg-soft:#f8fafc;--bg-hero:#0f172a;--text:#0f172a;--text-soft:#475569;--text-invert:#e5e7eb;--border:#e2e8f0;--accent:#f97316;--accent-dark:#ea580c;--accent-soft:#fff7ed;--sponsor:#fffbeb;--shadow:0 10px 30px rgba(15,23,42,.08);--radius:18px;--container:1160px;--reading:65ch;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--serif:Georgia,Cambria,"Times New Roman",Times,serif}
*,*::before,*::after{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg);font-family:var(--sans);line-height:1.6}a{color:inherit;text-decoration:none}p,li{color:var(--text-soft)}h1,h2,h3,h4{margin:0 0 .7rem;line-height:1.08;letter-spacing:-.02em;color:var(--text)}h1{font-size:clamp(2.3rem,5vw,4.4rem);font-weight:800}h2{font-size:clamp(1.55rem,3vw,2.3rem);font-weight:800}h3{font-size:1.2rem;font-weight:700}.container{width:min(calc(100% - 2rem),var(--container));margin:0 auto}.reading-width,.issue-body{width:min(calc(100% - 2rem),var(--reading));margin:0 auto}.page-header{border-bottom:1px solid var(--border);background:#fff;padding:1.2rem 0 1.6rem}.nav{display:flex;justify-content:space-between;gap:1rem;align-items:center}.brand{display:inline-flex;align-items:center;gap:.75rem;font-weight:800}.brand-mark{width:2rem;height:2rem;border-radius:999px;display:inline-grid;place-items:center;background:var(--accent);color:#fff;font-size:.95rem;font-weight:800}.brand-text{font-size:1rem;letter-spacing:-.02em}.nav-links{display:flex;flex-wrap:wrap;gap:1.25rem}.nav-links a{font-weight:600;opacity:.92}.nav-links a:hover{color:var(--accent)}.hero{display:grid;grid-template-columns:1.25fr .9fr;gap:2rem;align-items:end;padding:4rem 0}.hero-title{max-width:12ch}.hero-actions{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:1.5rem}.hero-card,.archive-card,.pricing-card,.kit-placeholder,.sponsor-block,.signup-block,.related-block,.issue-header,.inline-signup{background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow)}.hero-card,.pricing-card,.inline-signup{padding:1.4rem}.eyebrow{display:inline-block;margin-bottom:.8rem;color:var(--accent);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800}.meta{display:flex;flex-wrap:wrap;gap:.8rem;color:#94a3b8;font-size:.92rem;margin-top:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 1rem;border-radius:999px;font-weight:700;border:1px solid transparent;cursor:pointer}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{background:#fff;border-color:var(--border);color:var(--text)}.kit-placeholder{min-height:150px;display:grid;place-items:center;text-align:center;padding:1.25rem}.section{padding:4.5rem 0}.section-heading{max-width:56rem;margin-bottom:2rem}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.archive-card{padding:1.3rem}.issue-header{padding:1.8rem;margin:2rem 0}.issue-title{max-width:13ch}.issue-dek{max-width:60ch;font-size:1.15rem;color:var(--text-soft)}.issue-body p,.issue-body li{font-family:var(--serif);font-size:1.12rem;line-height:1.85;color:#334155}.issue-body h2,.issue-body h3{font-family:var(--sans);color:var(--text)}.issue-body h2{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border)}.issue-body pre{background:#0f172a;color:#e2e8f0;border-radius:16px;padding:1rem;overflow:auto;font-size:.94rem}.sponsor-block,.signup-block,.related-block{padding:1.25rem;margin:2rem auto}.sponsor-block{background:var(--sponsor);border-color:#fde68a}.signup-block{background:var(--bg-soft)}.sponsor-label{display:inline-block;margin-bottom:.65rem;color:var(--accent);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.footer{border-top:1px solid var(--border);padding:2rem 0 3rem;background:#fff;margin-top:3rem}.footer-inner{display:flex;justify-content:space-between;gap:1rem;align-items:center}.small{color:#94a3b8;font-size:.92rem}@media (max-width:960px){.hero,.archive-grid{grid-template-columns:1fr}.footer-inner{display:block}}@media (max-width:640px){.nav{flex-direction:column;align-items:flex-start}.hero{padding-top:2.5rem}.hero-actions{flex-direction:column;align-items:stretch}.btn{width:100%}}
