:root{--bg:#ffffff;--bg-subtle:#f6f7f9;--bg-code:#f2f4f7;--border:#e3e6ea;--text:#14181f;--text-muted:#5c6572;--accent:#1c5cf5;--accent-soft:#e8effe;--error:#c02a2a;--error-soft:#fdeceb;--warning:#8a5a00;--warning-soft:#fdf4e0;--ok:#1a7a45;--ok-soft:#e6f5ec;--radius:10px;--mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace}@media (prefers-color-scheme:dark){:root{--bg:#0e1116;--bg-subtle:#161b22;--bg-code:#12171e;--border:#262d36;--text:#e7ebf0;--text-muted:#98a2b0;--accent:#6b9bff;--accent-soft:#16233d;--error:#ff8a80;--error-soft:#33191a;--warning:#f0c05a;--warning-soft:#2e2513;--ok:#63d29a;--ok-soft:#122a1e}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--accent)}.wrap{max-width:940px;margin:0 auto;padding:0 20px}header.site{border-bottom:1px solid var(--border);padding:18px 0}header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.brand{font-weight:650;font-size:1.05rem;letter-spacing:-.01em;text-decoration:none;color:var(--text)}.brand span{font-weight:400}.brand span,nav.site a{color:var(--text-muted)}nav.site a{margin-left:20px;font-size:.92rem;text-decoration:none}nav.site a:hover{color:var(--text)}h1{font-size:clamp(1.9rem,4vw,2.6rem);line-height:1.15;letter-spacing:-.025em;margin:0 0 14px}h2{font-size:1.35rem;letter-spacing:-.015em;margin:40px 0 12px}h3{font-size:1.05rem;margin:24px 0 8px}.lede{font-size:1.12rem;color:var(--text-muted);max-width:62ch;margin:0 0 28px}section.hero{padding:56px 0 8px}.badge{display:inline-block;font-size:.78rem;font-weight:550;padding:4px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);margin-bottom:18px}.card{border:1px solid var(--border);border-radius:var(--radius);padding:20px;background:var(--bg-subtle)}textarea{width:100%;min-height:190px;font-family:var(--mono);font-size:.82rem;line-height:1.5;padding:12px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);resize:vertical}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}button{font:inherit;font-weight:550;padding:9px 18px;border-radius:8px;border:1px solid transparent;background:var(--accent);color:#fff;cursor:pointer}button:disabled{opacity:.55;cursor:default}button.secondary{background:transparent;color:var(--text-muted);border-color:var(--border)}.result{margin-top:18px}.verdict{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:12px 14px;border-radius:8px;font-weight:600;margin-bottom:14px}.verdict.ok{background:var(--ok-soft);color:var(--ok)}.verdict.bad{background:var(--error-soft);color:var(--error)}.verdict small{font-weight:400;opacity:.85}ul.findings{list-style:none;padding:0;margin:0;display:grid;grid-gap:8px;gap:8px}ul.findings li{border:1px solid var(--border);border-left-width:3px;border-radius:6px;padding:10px 12px;background:var(--bg);font-size:.92rem}ul.findings li.error{border-left-color:var(--error)}ul.findings li.warning{border-left-color:var(--warning)}.rule-id{font-family:var(--mono);font-size:.78rem;font-weight:600;padding:2px 6px;border-radius:4px;margin-right:8px}a.rule-id{text-decoration:none}a.rule-id:hover{text-decoration:underline}li.error .rule-id{background:var(--error-soft);color:var(--error)}li.warning .rule-id{background:var(--warning-soft);color:var(--warning)}pre{background:var(--bg-code);border:1px solid var(--border);border-radius:8px;padding:14px;overflow-x:auto;font-size:.8rem;line-height:1.5}code,pre{font-family:var(--mono)}code{font-size:.88em}li code,p code{background:var(--bg-code);padding:1px 5px;border-radius:4px}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:16px;gap:16px}table{width:100%;border-collapse:collapse;font-size:.93rem}td,th{text-align:left;padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--text-muted);font-weight:550}.scroll-x{overflow-x:auto}footer.site{border-top:1px solid var(--border);margin-top:64px;padding:24px 0 48px;color:var(--text-muted);font-size:.88rem}footer.site a{margin-right:16px}.note,footer.site a{color:var(--text-muted)}.note{font-size:.88rem}