:root{--bg: #ffffff;--fg: #1a1d21;--muted: #5b6470;--border: #e6e8eb;--card: #f7f8fa;--brand: #1e14c8;--brand-ink: #1710a8;--accent: #eceafb;--radius: 12px;--maxw: 780px;--wide: 1120px;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}@media(prefers-color-scheme:dark){:root{--bg: #0f1215;--fg: #e8eaed;--muted: #9aa4b0;--border: #262b31;--card: #171b20;--brand: #8f88ff;--brand-ink: #a7a1ff;--accent: #171a3a}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:var(--brand-ink);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}.container-wide{max-width:var(--wide);margin:0 auto;padding:0 20px}.site-header{border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:10}.site-header .bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;flex-wrap:wrap}.brand{display:inline-flex;align-items:center;color:var(--brand)}.brand:hover{text-decoration:none}.brand-logo{height:42px;width:auto;display:block}.brand-sub{fill:var(--muted)}.site-nav{display:flex;gap:18px;flex-wrap:wrap;font-size:.95rem}.site-nav a{color:var(--muted);font-weight:600}.site-nav a:hover{color:var(--brand-ink);text-decoration:none}.hero{padding:48px 0 24px}.hero h1{font-size:clamp(1.9rem,5vw,2.8rem);line-height:1.15;margin:0 0 12px;letter-spacing:-.03em}.hero p{font-size:1.15rem;color:var(--muted);margin:0;max-width:60ch}.chips{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.chip{display:inline-block;padding:7px 14px;border:1px solid var(--border);border-radius:999px;font-size:.9rem;font-weight:600;color:var(--muted);background:var(--card)}.chip:hover{border-color:var(--brand);color:var(--brand-ink);text-decoration:none}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.card{border:1px solid var(--border);border-radius:var(--radius);padding:20px;background:var(--card);display:flex;flex-direction:column;gap:8px;transition:border-color .15s ease,transform .15s ease}.card:hover{border-color:var(--brand);transform:translateY(-2px)}.card .cat{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--brand)}.card h3{margin:0;font-size:1.15rem;line-height:1.3}.card h3 a{color:var(--fg)}.card p{margin:0;color:var(--muted);font-size:.95rem}.card .meta{margin-top:auto;font-size:.82rem;color:var(--muted)}.article{padding:40px 0 24px}.article header{margin-bottom:28px}.article h1{font-size:clamp(1.7rem,4.5vw,2.4rem);line-height:1.2;margin:10px 0 12px;letter-spacing:-.02em}.article .lead{color:var(--muted);font-size:1.1rem;margin:0}.article .post-meta{font-size:.85rem;color:var(--muted);margin-top:14px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.prose h2{font-size:1.4rem;margin:2em 0 .6em;letter-spacing:-.01em}.prose h3{font-size:1.15rem;margin:1.6em 0 .5em}.prose p{margin:0 0 1.1em}.prose ul,.prose ol{margin:0 0 1.1em;padding-left:1.4em}.prose strong{color:var(--fg)}.prose blockquote{border-left:3px solid var(--brand);margin:1.4em 0;padding:.2em 1em;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.tag{font-size:.8rem;color:var(--muted);background:var(--accent);padding:4px 10px;border-radius:6px}.tag:hover{text-decoration:none;color:var(--brand-ink)}.form{display:grid;gap:16px;max-width:560px}.field{display:grid;gap:6px}.field label{font-weight:600;font-size:.95rem}.field input,.field textarea{font:inherit;padding:11px 13px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg);width:100%}.field input:focus,.field textarea:focus{outline:2px solid var(--brand);border-color:var(--brand)}.btn{display:inline-block;background:var(--brand);color:#fff;border:0;padding:12px 22px;border-radius:8px;font:inherit;font-weight:700;cursor:pointer}.btn:hover{background:var(--brand-ink);text-decoration:none}.form-status{font-weight:600}.form-status.ok{color:var(--brand-ink)}.form-status.err{color:#c0392b}.site-footer{border-top:1px solid var(--border);margin-top:64px;padding:32px 0;color:var(--muted);font-size:.9rem}.site-footer .cols{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.site-footer a{color:var(--muted)}.section-title{font-size:1.3rem;margin:40px 0 16px;letter-spacing:-.01em}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
