/* Snappy support site. Design B's tokens from brief/app-brief.html. System fonts only (free, no requests). */
:root {
  --bg: #DCDDD8; --paper: #F5F5F1; --ink: #1C1D1F; --muted: #5E6268; --line: #BFC1BB;
  --accent: #B5520B; --key: #E9EAE5;
  --display: "Helvetica Neue", Arial, sans-serif;
  --body: -apple-system, "SF Pro Text", "Segoe UI", system-ui, sans-serif;
  --mono: ui-monospace, "SF Mono", Menlo, monospace;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) {
  --bg: #15181C; --paper: #1E2227; --ink: #E8ECF0; --muted: #9AA4AF; --line: #343A43;
  --accent: #FF9F4D; --key: #262B31; color-scheme: dark } }
:root[data-theme="dark"] {
  --bg: #15181C; --paper: #1E2227; --ink: #E8ECF0; --muted: #9AA4AF; --line: #343A43;
  --accent: #FF9F4D; --key: #262B31; color-scheme: dark }

* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 400 17px/1.55 var(--body);
  padding: 40px max(16px, env(safe-area-inset-right, 0px)) 72px max(16px, env(safe-area-inset-left, 0px)); }
main { max-width: 720px; margin: 0 auto; display: grid; gap: 40px; }
header { display: grid; gap: 10px; }
nav { display: flex; gap: 18px; font: 500 13px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
nav a { color: var(--muted); text-decoration: none; }
nav a[aria-current="page"] { color: var(--ink); }
.eyebrow { font: 500 12px/1 var(--mono); letter-spacing: .09em; text-transform: uppercase; color: var(--muted); margin: 0; }
h1, h2, h3 { font-family: var(--display); margin: 0; line-height: 1.15; text-wrap: balance; }
h1 { font-size: clamp(30px, 6vw, 44px); font-weight: 800; letter-spacing: -0.015em; }
h2 { font-size: 23px; font-weight: 800; }
h3 { font-size: 17px; font-weight: 700; }
p, li { max-width: 64ch; }
p { margin: 0; }
section { display: grid; gap: 14px; }
.card { background: var(--paper); border: 1px solid var(--line); border-radius: 14px; padding: 20px; display: grid; gap: 10px; }
ol, ul { margin: 0; padding-left: 22px; display: grid; gap: 6px; }
.path { font: 500 15px/1.5 var(--mono); background: var(--key); border: 1px solid var(--line); border-radius: 8px; padding: 8px 10px; overflow-wrap: anywhere; }
a { color: var(--accent); }
.lang { border-top: 1px solid var(--line); padding-top: 32px; }
footer { color: var(--muted); font-size: 14px; display: grid; gap: 6px; }
.badge { display: inline-block; line-height: 0; }
.badge img { height: 52px; width: auto; }
