:root{--bg:#f7f8fa;--card:#fff;--ink:#0f172a;--mut:#5b6474;--line:#e5e7eb;--brand:#4f46e5;--brand2:#0ea5e9;
--good:#047857;--goodbg:#d1fae5;--warn:#92400e;--warnbg:#fef3c7;--bad:#b91c1c;--badbg:#fee2e2;--unk:#475569;--unkbg:#eef2f7;--neu:#1e3a8a;--neubg:#e0e7ff;--r:12px}
@media (prefers-color-scheme:dark){:root{--bg:#0b1020;--card:#121a2f;--ink:#e6e9f2;--mut:#98a2b8;--line:#22304d;--goodbg:#06352a;--good:#6ee7b7;--warnbg:#3b2a08;--warn:#fcd34d;--badbg:#3f1010;--bad:#fca5a5;--unkbg:#1c2640;--unk:#a3b0c8;--neubg:#1e2a5a;--neu:#c7d2fe}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font:15px/1.55 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Inter,sans-serif;background:var(--bg);color:var(--ink)}
a{color:var(--brand)}code{font:13px ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--unkbg);padding:1px 5px;border-radius:5px;word-break:break-word}
.wrap{max-width:1360px;margin:0 auto;padding:0 20px}.muted{color:var(--mut)}.small{font-size:13px}.sr{position:absolute;left:-9999px}
.top{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:60px}.logo{font-weight:800;font-size:18px;color:var(--ink);text-decoration:none;display:flex;gap:8px;align-items:center}
.logo .mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;font-size:13px}.logo .tld{color:var(--brand)}
nav a{margin-left:18px;color:var(--mut);text-decoration:none;font-weight:500}nav a:hover{color:var(--ink)}nav .cta{background:var(--brand);color:#fff;padding:7px 14px;border-radius:999px}
.hero{padding:56px 0 28px;background:radial-gradient(1000px 300px at 20% -10%,color-mix(in srgb,var(--brand) 18%,transparent),transparent)}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--brand);font-weight:700;margin:0}
h1{font-size:clamp(28px,4vw,44px);line-height:1.1;letter-spacing:-.02em;margin:.25em 0}h1 .sub{display:block;font-size:.5em;color:var(--mut);font-weight:500;letter-spacing:0;margin-top:8px}
h2{margin-top:40px;letter-spacing:-.01em}.lead{font-size:18px;color:var(--mut);max-width:820px}
.stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}.stats div{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 18px;min-width:120px}.stats b{display:block;font-size:22px}.stats span{color:var(--mut);font-size:13px}
.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:18px 0}.filters input[type=search],.filters select{padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:inherit}.filters input[type=search]{min-width:240px;flex:1}
.chk{display:flex;gap:6px;align-items:center;font-size:14px;color:var(--mut)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
table{border-collapse:collapse;width:100%;min-width:1000px}th,td{padding:9px 10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;font-size:14px}
th{position:sticky;top:0;background:var(--card);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);cursor:pointer;user-select:none;white-space:nowrap}
th:after{content:" ↕";opacity:.35}th.asc:after{content:" ↑";opacity:1}th.desc:after{content:" ↓";opacity:1}tbody tr:hover{background:color-mix(in srgb,var(--brand) 5%,transparent)}
td a{color:var(--ink);text-decoration:none}td a:hover{color:var(--brand)}
.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.6;white-space:nowrap;max-width:190px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.badge.good{background:var(--goodbg);color:var(--good)}.badge.warn{background:var(--warnbg);color:var(--warn)}.badge.bad{background:var(--badbg);color:var(--bad)}.badge.unk{background:var(--unkbg);color:var(--unk)}.badge.neutral{background:var(--neubg);color:var(--neu)}
.aud{font-size:10px;text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--line);border-radius:6px;padding:0 5px;color:var(--mut);margin-left:4px}
.legend{margin:10px 2px 30px}
.signup{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 12%,var(--card)),var(--card));border:1px solid var(--line);border-radius:16px;padding:26px;margin:30px 0 50px}
.signup h2{margin:0 0 6px}.signup p{margin:0;color:var(--mut)}.nl-form{display:flex;flex-wrap:wrap;gap:8px}.nl-form input{flex:1;min-width:200px;padding:11px 14px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit}
.nl-form button{padding:11px 18px;border:0;border-radius:10px;background:var(--brand);color:#fff;font-weight:700;cursor:pointer}.nl-msg{flex-basis:100%;font-size:13px}
@media (max-width:760px){.signup{grid-template-columns:1fr}nav a:not(.cta){display:none}}
.tool .crumbs{color:var(--mut);font-size:13px;margin-top:26px}.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}
.plan{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px}.plan h3{margin:0 0 10px;font-size:17px}
.plan dl{margin:0}.plan .row{display:grid;grid-template-columns:120px 1fr;gap:8px;padding:8px 0;border-top:1px dashed var(--line)}.plan dt{color:var(--mut);font-size:13px}.plan dd{margin:0;font-size:14px}
.note{display:block;margin-top:4px;color:var(--ink)}.src{font-size:12px;white-space:nowrap}.checked{font-size:11px;color:var(--mut);white-space:nowrap}
.enf{list-style:none;padding:0;display:grid;gap:12px}.enf li{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--r);padding:14px 18px}.enf h3{margin:4px 0}.enf p{margin:6px 0}
.kind{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--brand);font-weight:700}.empty{background:var(--warnbg);color:var(--warn);padding:14px 18px;border-radius:var(--r)}
.doms{padding-left:18px}.doms li{margin:6px 0}.sources li{margin:4px 0}
.log{list-style:none;padding:0}.log li{padding:8px 0;border-bottom:1px solid var(--line)}.log time{font-weight:700;margin-right:8px;font-variant-numeric:tabular-nums}
.log.big li{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:14px 0}.log.big p{margin:4px 0;color:var(--mut)}
.type{font-size:11px;border-radius:6px;padding:1px 7px;background:var(--unkbg);color:var(--unk);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.type.policy-change{background:var(--badbg);color:var(--bad)}.type.page-updated{background:var(--neubg);color:var(--neu)}.type.policy-published{background:var(--warnbg);color:var(--warn)}
.prose{max-width:860px}.prose li{margin:6px 0}.defs dt{font-weight:700;margin-top:12px}.defs dd{margin:2px 0 0;color:var(--mut)}
.foot{border-top:1px solid var(--line);margin-top:40px;padding:24px 0;color:var(--mut);font-size:13px}
