/* Free CRA scope and class check (/cra-check, 2026-11-12).
 * Self-contained, light, no inline styles (the Caddy CSP has no
 * 'unsafe-inline' for style-src or script-src). Logo blue + yellow, the
 * status chips use the same five words the API returns. */
:root { --bg:#f6f8fb; --card:#ffffff; --border:#d9e1ec; --text:#14213a; --muted:#5b6b84;
        --blue:#3068B0; --blue-ink:#0F2A4F; --yellow:#F8D018; --ok:#1f8a4c; --ok-wash:#e6f5ec;
        --info:#2d6cb3; --info-wash:#e8f0fb; --warn:#9a6b00; --warn-wash:#fff5d6;
        --grey:#5b6b84; --grey-wash:#eef1f5; --bad:#b4232c; --bad-wash:#fbe9ea; }
* { box-sizing:border-box; }
html { color-scheme: light; }
body { margin:0; background:var(--bg); color:var(--text);
       font-family:'Segoe UI',system-ui,-apple-system,Arial,sans-serif; line-height:1.5; }
a { color:var(--blue); }
.wrap { max-width:720px; margin:0 auto; padding:28px 16px 80px; }
.top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:22px; }
.brand { display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--blue-ink); }
.brand .logo-img { height:30px; width:auto; display:block; }
.brand-fallback { display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:15.5px; color:var(--blue-ink); }
.brand-fallback .tri { width:0; height:0; border-left:9px solid transparent; border-right:9px solid transparent; border-bottom:16px solid #F8D018; }
.brand-fallback .q { color:var(--blue); }
.langs { display:flex; gap:6px; }
.langs a { font-size:12px; text-transform:uppercase; text-decoration:none; padding:4px 8px;
           border:1px solid var(--border); border-radius:6px; color:var(--muted); background:var(--card); }
.langs a.on { border-color:var(--blue); color:var(--blue); font-weight:700; }
h1 { font-size:24px; line-height:1.25; margin:0 0 8px; color:var(--blue-ink); }
.lede { color:var(--muted); font-size:15px; margin:0 0 20px; }
.card { background:var(--card); border:1px solid var(--border); border-radius:12px; padding:18px 20px; margin-bottom:14px; }
.q legend { font-weight:600; font-size:15px; padding:0; margin-bottom:4px; }
.q fieldset { border:0; padding:0; margin:0; }
.q .cites { font-size:12px; color:var(--muted); margin:0 0 10px; }
.q .opt { display:flex; gap:10px; align-items:flex-start; padding:8px 10px; border:1px solid var(--border);
          border-radius:8px; margin-bottom:6px; cursor:pointer; font-size:14px; }
.q .opt:hover { border-color:var(--blue); }
.q .opt input { margin-top:4px; flex:0 0 auto; }
.q .opt.on { border-color:var(--blue); background:var(--info-wash); }
.actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:16px 0 26px; }
button { background:var(--blue); color:#fff; border:0; font-weight:700; padding:12px 22px;
         border-radius:8px; font-size:14px; cursor:pointer; }
button.quiet { background:var(--card); color:var(--blue-ink); border:1px solid var(--border); }
button:disabled { opacity:.5; cursor:default; }
.msg { font-size:13px; color:var(--muted); }
.msg.err { color:var(--bad); }
.msg.ok { color:var(--ok); }
.hidden { display:none; }
.state { text-align:center; padding:40px 10px; color:var(--muted); }
/* result */
.verdict { border-left:6px solid var(--yellow); }
.verdict h2 { margin:0 0 6px; font-size:20px; color:var(--blue-ink); }
.verdict .scope { font-size:14px; color:var(--muted); }
.chip { display:inline-block; font-size:12px; font-weight:700; padding:2px 8px; border-radius:999px;
        margin-right:8px; white-space:nowrap; vertical-align:middle; }
.chip.applies { background:var(--ok-wash); color:var(--ok); }
.chip.likely { background:var(--info-wash); color:var(--info); }
.chip.possible { background:var(--warn-wash); color:var(--warn); }
.chip.not_indicated { background:var(--grey-wash); color:var(--grey); }
.chip.unclear { background:var(--bad-wash); color:var(--bad); }
.group h3 { font-size:13px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin:18px 0 8px; }
.line { padding:10px 0; border-top:1px solid var(--border); font-size:14px; }
.line:first-of-type { border-top:0; }
.line .t { display:block; margin-top:4px; }
.line .c { display:block; font-size:12px; color:var(--muted); margin-top:4px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.unclear-box { border:1px solid var(--bad); background:var(--bad-wash); }
.unclear-box h2 { margin:0 0 6px; font-size:17px; color:var(--bad); }
.unclear-box p { margin:0 0 8px; font-size:14px; }
.unclear-box li { font-size:14px; margin-bottom:6px; }
.steps li { margin-bottom:8px; font-size:14px; }
.email label { display:block; font-size:14px; margin-bottom:8px; }
.email input[type=email] { width:100%; padding:10px 12px; border-radius:8px; border:1px solid var(--border); font-size:15px; }
.email .call { display:flex; gap:10px; align-items:flex-start; font-size:14px; margin:12px 0; }
.email .call input { margin-top:4px; }
.fine { color:var(--muted); font-size:12px; margin-top:22px; }
footer { margin-top:30px; font-size:13px; color:var(--muted); }
footer a { margin-right:14px; }
@media (max-width:720px) { input, select, textarea { font-size:16px; } h1 { font-size:21px; } .wrap { padding:18px 14px 60px; } }
