:root { --bg:#f6f5f2; --card:#fff; --ink:#1d1f21; --mute:#5e6368; --line:#dcd9d2; --accent:#c2410c; --accent-ink:#fff; --soft:#efede8; --ok:#15803d; --bad:#b91c1c; }
@media (prefers-color-scheme: dark) { :root { --bg:#141517; --card:#1c1d20; --ink:#ecebe8; --mute:#9a9ea3; --line:#2c2e31; --accent:#fb923c; --accent-ink:#1d1f21; --soft:#232428; --ok:#4ade80; --bad:#f87171; } }
* { box-sizing:border-box }
html { -webkit-text-size-adjust:100% }
body { margin:0; background:var(--bg); color:var(--ink); font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; font-size:16px; line-height:1.55 }
a { color:inherit }
.wrap { max-width:1040px; margin:0 auto; padding:0 20px }
.narrow { max-width:560px; margin:0 auto; padding:0 20px }
.top { display:flex; justify-content:space-between; align-items:center; padding:18px clamp(16px, 4vw, 40px); width:100% }
.top + .wrap, .top + .narrow { padding-top:0 }
.logo { display:flex; align-items:center; gap:10px; font-weight:800; letter-spacing:-.01em; font-size:18px; text-decoration:none }
.logo svg { width:28px; height:28px; flex:none }
.top nav { display:flex; gap:8px; align-items:center }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:10px; padding:11px 18px; font-size:15px; font-weight:700; text-decoration:none; cursor:pointer; border:1px solid var(--line); background:var(--card); color:var(--ink); font-family:inherit }
.btn.primary { background:var(--accent); border-color:var(--accent); color:var(--accent-ink) }
.btn.big { padding:14px 22px; font-size:16px }
.btn[disabled] { opacity:.55; cursor:default }
.btn.danger { color:var(--bad) }
.card { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:20px }
.muted, .note { color:var(--mute) }
.note { font-size:14px }
h1 { font-size:clamp(32px, 6vw, 52px); line-height:1.08; letter-spacing:-.025em; margin:0 0 16px }
h2 { font-size:clamp(24px, 4vw, 32px); letter-spacing:-.02em; margin:0 0 10px; line-height:1.15 }
h3 { font-size:17px; margin:0 0 6px }
.lead { font-size:clamp(17px, 2.4vw, 20px); color:var(--mute); max-width:640px }
.foot { border-top:1px solid var(--line); margin-top:64px; padding:28px 0 40px; font-size:14px; color:var(--mute) }
.foot a { color:var(--mute) }
.foot .row { display:flex; gap:18px; flex-wrap:wrap; justify-content:space-between }
.pill { display:inline-block; font-size:12px; font-weight:700; border-radius:999px; padding:2px 9px; border:1px solid currentColor }
.ok { color:var(--ok) } .bad { color:var(--bad) }
.prose h2 { font-size:22px; margin-top:28px } .prose p, .prose li { color:var(--ink) } .prose { padding-bottom:40px }
body > .top { border-bottom:1px solid var(--line); margin-bottom:12px }
