:root { color-scheme: light dark; --bg:#fff; --fg:#16222e; --muted:#5a6474; --accent:#2e6fb0; --link:#2563a0; --card:#f5f8fc; --border:#dce4ed; }
/* The /app appearance choice (theme.js sets data-theme) follows the visitor
   across the whole funnel; without a choice, the OS preference applies. */
:root[data-theme="dark"] { --bg:#0e1622; --fg:#e7ecf3; --muted:#a3afbf; --accent:#7fb4e6; --link:#93c5fd; --card:#16202f; --border:#273444; }
@media (prefers-color-scheme:dark) { :root:not([data-theme]) { --bg:#0e1622; --fg:#e7ecf3; --muted:#a3afbf; --accent:#7fb4e6; --link:#93c5fd; --card:#16202f; --border:#273444; } }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--bg); color:var(--fg); font:17px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
a { color:var(--link); }
:focus-visible { outline:2px solid var(--accent); outline-offset:2px; border-radius:4px; }
.container { max-width:960px; margin:0 auto; padding:0 20px; }
.prose { max-width:720px; }
.skip-link { position:absolute; left:-9999px; top:0; background:var(--accent); color:#fff; padding:8px 14px; }
.skip-link:focus { left:0; }
.site-header { border-bottom:1px solid var(--border); }
.site-header .container,.site-footer .container { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 24px; padding-top:14px; padding-bottom:14px; }
.wordmark { display:inline-flex; align-items:center; gap:9px; color:var(--fg); font-weight:700; text-decoration:none; }
.wordmark img { width:30px; height:30px; display:block; flex:0 0 auto; object-fit:contain; }
.site-nav,.footer-links { display:flex; flex-wrap:wrap; gap:8px 20px; margin:0; padding:0; list-style:none; }
.site-nav a { color:var(--fg); text-decoration:none; }
h1 { margin:0 0 8px; font-size:1.9rem; line-height:1.2; }
h2 { margin:38px 0 12px; color:var(--accent); font-size:1.25rem; }
h3 { margin:0 0 6px; font-size:1.05rem; }
p,ul { margin:0 0 14px; }
code { padding:1px 5px; background:var(--card); border:1px solid var(--border); border-radius:5px; }
.card,.lede { margin:18px 0; padding:18px; background:var(--card); border:1px solid var(--border); border-radius:8px; }
.faq-item + .faq-item { margin-top:14px; }
.btn { display:inline-block; padding:11px 18px; color:#fff; background:var(--accent); border-radius:8px; font-weight:600; text-decoration:none; }
.muted,.meta { color:var(--muted); }
.small { font-size:.92rem; }
.selectable { user-select:all; }
.wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:.96rem; }
th,td { padding:9px 10px; border-bottom:1px solid var(--border); text-align:left; vertical-align:top; }
.site-footer { margin-top:56px; padding:12px 0 28px; border-top:1px solid var(--border); color:var(--muted); font-size:.92rem; }
