@font-face{font-family:"League Spartan";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/league-spartan-700.woff2) format("woff2")}
/* 3-tier palette: brand orange primary, stone neutrals, semantic supporting. Light default. */
:root{
  color-scheme:light dark;
  --bg:#fafaf9;--panel:#ffffff;--line:#e7e5e4;--text:#1c1917;--muted:#57534e;--faint:#a8a29e;
  --primary:#c2410c;--primary-ink:#ffffff;--primary-hover:#9a3412;--ring:#fdba74;
  --ok-bg:#dcfce7;--ok-fg:#166534;--warn-bg:#fef3c7;--warn-fg:#92400e;--err-bg:#fee2e2;--err-fg:#991b1b;--neutral-bg:#f5f5f4;--neutral-fg:#44403c;
  --g-title:#1a0dab;--g-url:#4d5156;--g-text:#4d5156;
  --img-bg:#f5f5f4;
}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#1c1917;--panel:#292524;--line:#44403c;--text:#e7e5e4;--muted:#a8a29e;--faint:#78716c;
  --primary:#fb923c;--primary-ink:#431407;--primary-hover:#fdba74;--ring:#f97316;
  --ok-bg:#14532d;--ok-fg:#bbf7d0;--warn-bg:#78350f;--warn-fg:#fde68a;--err-bg:#7f1d1d;--err-fg:#fecaca;--neutral-bg:#44403c;--neutral-fg:#d6d3d1;
  --g-title:#8ab4f8;--g-url:#bdc1c6;--g-text:#bdc1c6;
  --img-bg:#1c1917;
}}
:root[data-theme="dark"]{
  --bg:#1c1917;--panel:#292524;--line:#44403c;--text:#e7e5e4;--muted:#a8a29e;--faint:#78716c;
  --primary:#fb923c;--primary-ink:#431407;--primary-hover:#fdba74;--ring:#f97316;
  --ok-bg:#14532d;--ok-fg:#bbf7d0;--warn-bg:#78350f;--warn-fg:#fde68a;--err-bg:#7f1d1d;--err-fg:#fecaca;--neutral-bg:#44403c;--neutral-fg:#d6d3d1;
  --g-title:#8ab4f8;--g-url:#bdc1c6;--g-text:#bdc1c6;
  --img-bg:#1c1917;
}
:root[data-theme="light"]{color-scheme:light}
:root[data-theme="dark"]{color-scheme:dark}
*{box-sizing:border-box}
button,input,.pill,.card,.theme-toggle,body{transition:background-color .15s ease-out,color .15s ease-out,border-color .15s ease-out,transform .1s ease-out}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--text)}
main{max-width:960px;margin:0 auto;padding:40px 16px 64px}
.brand{display:flex;align-items:center;gap:12px;margin:0 0 6px}
.brand img{width:44px;height:44px;flex:none}
@media(max-width:480px){.wordmark{font-size:1.75rem}.brand img{width:36px;height:36px}}
.wordmark{font-family:"League Spartan",system-ui,sans-serif;font-weight:700;font-size:2.125rem;line-height:1;margin:0;letter-spacing:-.01em;padding-top:.12em}
.theme-toggle{margin-left:auto;width:44px;height:44px;padding:0;display:grid;place-items:center;background:var(--panel);color:var(--muted);border:1px solid var(--line);border-radius:10px;cursor:pointer}
.theme-toggle:hover{color:var(--text);background:var(--neutral-bg)}
.theme-toggle:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
.theme-toggle .sun{display:none}
:root[data-theme="dark"] .theme-toggle .sun{display:block}
:root[data-theme="dark"] .theme-toggle .moon{display:none}
@media(prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .theme-toggle .sun{display:block}
  :root:not([data-theme="light"]) .theme-toggle .moon{display:none}
}
.sub{color:var(--muted);margin:0 0 28px;font-size:1.0625rem;font-weight:400;line-height:1.5;max-width:62ch}
form{display:flex;gap:8px;flex-wrap:wrap}
input[type=url]{flex:1;min-width:240px;padding:12px 14px;font-size:1rem;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text)}
input[type=url]::placeholder{color:var(--faint)}
input[type=url]:hover{border-color:var(--faint)}
input[type=url]:focus{outline:2px solid var(--ring);outline-offset:1px;border-color:var(--primary)}
button{padding:12px 22px;font-size:1rem;border:0;border-radius:8px;background:var(--primary);color:var(--primary-ink);font-weight:600;cursor:pointer}
button:hover{background:var(--primary-hover)}
button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
button:active{transform:translateY(1px)}
button:disabled{opacity:.6;cursor:wait;transform:none}
.status{margin:14px 0 0;color:var(--muted);font-size:.9375rem;min-height:28px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.status .url{word-break:break-all}
.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:.8125rem;font-weight:600;line-height:1.4;white-space:nowrap}
.pill.ok{background:var(--ok-bg);color:var(--ok-fg)}
.pill.warn{background:var(--warn-bg);color:var(--warn-fg)}
.pill.err{background:var(--err-bg);color:var(--err-fg)}
.pill.neutral{background:var(--neutral-bg);color:var(--neutral-fg)}
section{margin-top:32px}
h2{font-size:1rem;margin:0 0 12px;color:var(--muted);font-weight:600}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.card .label{font-size:.875rem;font-weight:600;color:var(--muted);padding:8px 14px;border-bottom:1px solid var(--line)}
.hero-wrap{aspect-ratio:1.91;background:var(--img-bg);display:flex;align-items:center;justify-content:center;color:var(--faint);font-size:.875rem;position:relative}
.hero-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-wrap img[hidden]{display:none}
.card .body{padding:12px 14px 14px}
.card .site{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.card .title{font-weight:600;margin:4px 0;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .desc{font-size:.9375rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.google .url{color:var(--g-url);font-size:.875rem;display:flex;align-items:center;gap:8px}
.google .url img{width:20px;height:20px;border-radius:50%;background:#fff;padding:2px;box-sizing:border-box}
.google .url img[hidden]{display:none}
.google .title{color:var(--g-title);font-size:1.125rem;font-weight:400;-webkit-line-clamp:3}
.google .desc{color:var(--g-text)}
table{width:100%;border-collapse:collapse;font-size:.9375rem}
td{padding:8px 12px;border-top:1px solid var(--line);vertical-align:top;word-break:break-word}
tr:first-child td{border-top:0}
td:first-child{color:var(--muted);white-space:nowrap;width:1%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875rem}
td.empty{color:var(--faint)}
.warn-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.warn-list .pill{white-space:normal}
pre{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;overflow:auto;font-size:.8125rem;max-height:480px;margin:10px 0 0}
details summary{cursor:pointer;color:var(--muted);padding:4px 0}
details summary:hover{color:var(--text)}
details summary:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:4px}
footer{margin-top:48px;color:var(--muted);font-size:.9375rem;border-top:1px solid var(--line);padding-top:20px}
footer code{font-size:.875rem;background:var(--neutral-bg);padding:1px 6px;border-radius:4px}
[hidden]{display:none!important}

/* brand link on secondary pages */
.brand a{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}
.brand a:focus-visible{outline:2px solid var(--ring);outline-offset:4px;border-radius:8px}
/* article content on landing pages and the home explainer */
.page-title{font-size:1.875rem;line-height:1.15;margin:0 0 8px;letter-spacing:-.01em}
.lede{font-size:1.125rem;color:var(--muted);margin:0 0 24px;max-width:62ch}
.prose{max-width:68ch}
.prose h2{font-size:1.25rem;color:var(--text);margin:28px 0 8px;font-weight:600;text-transform:none;letter-spacing:0}
.prose p,.prose li{font-size:1rem;color:var(--text);margin:0 0 12px}
.prose ul{padding-left:20px;margin:0 0 12px}
.prose a{color:var(--primary);text-decoration:underline;text-underline-offset:2px}
.prose a:hover{color:var(--primary-hover)}
.prose code{font-size:.9375rem;background:var(--neutral-bg);padding:1px 6px;border-radius:4px}
.faq details{border-top:1px solid var(--line);padding:10px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{font-weight:600;color:var(--text);cursor:pointer;padding:4px 0}
.faq summary:hover{color:var(--primary)}
.faq p{margin:8px 0 4px;color:var(--muted)}
nav.site{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px}
nav.site a{color:var(--primary);text-decoration:none;font-weight:500}
nav.site a:hover{text-decoration:underline;text-underline-offset:2px}
nav.site a[aria-current="page"]{color:var(--text);font-weight:600}
