:root{
  --ink:#1f2a44; --ink-2:#34405e; --text:#1e2430; --muted:#5d6675; --line:#d8dde6; --bg:#f6f7f9; --card:#ffffff;
  --accent:#4b3fa8; --accent-2:#5d4fc4; --accent-soft:#ebe8f8;
  --ok:#1b7f4c; --ok-soft:#e6f4ec; --warn:#a86a12; --warn-soft:#fdf3e1; --bad:#b42323; --bad-soft:#fbe9e9; --grey:#6b7280; --grey-soft:#eef0f3; --blue:#2457b3; --blue-soft:#e5edfb;
  --radius:12px; --sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){
  :root{ --ink:#e8ecf5; --ink-2:#c6cde0; --text:#e4e8f0; --muted:#9aa4b6; --line:#2c3444; --bg:#0f131b; --card:#171c26;
    --accent:#a79bf0; --accent-2:#bfb5f5; --accent-soft:#241f45; --ok:#5ad08a; --ok-soft:#10301f; --warn:#e5b25b; --warn-soft:#3a2a0e;
    --bad:#f08080; --bad-soft:#3a1414; --grey:#9aa4b6; --grey-soft:#222a36; --blue:#8fb1f5; --blue-soft:#172542; }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);color:var(--text);background:var(--bg);line-height:1.55;font-size:16px}
a{color:var(--accent)}
a:hover{color:var(--accent-2)}
h1,h2,h3{color:var(--ink);line-height:1.2;margin:1.4em 0 .5em}
h1{font-size:clamp(1.5rem,3.6vw,2.1rem);margin-top:.6em;max-width:30ch}
h2{font-size:1.3rem}
h3{font-size:1.05rem}
p,ul,ol{margin:.6em 0}
small,.muted{color:var(--muted)}
small{font-size:.85em}
.small{font-size:.88rem}
code{font-family:var(--mono);font-size:.86em;background:var(--grey-soft);padding:.1em .35em;border-radius:4px;word-break:break-all}
.wrap{max-width:1140px;margin:0 auto;padding:0 clamp(14px,3vw,28px)}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.5em 1em}
.skip:focus{left:8px;z-index:50}
.site-head{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.row{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:56px;flex-wrap:wrap}
.brand{font-weight:700;color:var(--ink);text-decoration:none;font-size:1.05rem;white-space:nowrap}
.brand-mark{color:var(--accent);font-size:1em;vertical-align:-1px}
.nav{display:flex;gap:.15rem;flex-wrap:wrap}
.nav a{color:var(--ink-2);text-decoration:none;padding:.5em .6em;border-radius:8px;font-size:.9rem;min-height:40px;display:inline-flex;align-items:center}
.nav a:hover,.nav a[aria-current]{background:var(--accent-soft);color:var(--accent)}
main{padding-bottom:3rem;min-height:60vh}
.site-foot{border-top:1px solid var(--line);background:var(--card);padding:1.5rem 0 2.5rem;font-size:.86rem;color:var(--muted)}
.foot-line{border-left:3px solid var(--accent);padding-left:.8em;color:var(--text)}
.foot-nav{display:flex;flex-wrap:wrap;gap:.3rem 1rem;margin:.8rem 0}
.hero{padding:1.2rem 0 .4rem}
.hero p.lead,.lead{font-size:1.08rem;max-width:70ch}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(14px,2.5vw,22px);margin:1rem 0}
.grid{display:grid;gap:1rem}
@media(min-width:720px){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}}
.entry-points .card h2{margin:.2em 0 .3em;font-size:1.1rem}
table{border-collapse:collapse;width:100%;font-size:.9rem}
th,td{text-align:left;padding:.55em .6em;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--ink);font-weight:600;background:var(--grey-soft);position:sticky;top:0}
td.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:.8rem 0}
table.index td:first-child{min-width:12rem}
table.index .ret-cell{min-width:18rem;max-width:26rem}
table.index tr.is-demoted td{color:var(--muted)}
.ret-quote{font-style:italic}
.pill{display:inline-block;font-size:.74rem;border-radius:999px;padding:.08em .6em;margin:.1em .25em .1em 0;background:var(--accent-soft);color:var(--accent);text-decoration:none;white-space:nowrap}
.pill-muted{background:var(--grey-soft);color:var(--muted)}
.tag{display:inline-block;font-size:.72rem;border-radius:999px;padding:.05em .55em;margin-left:.35em;vertical-align:middle;background:var(--grey-soft);color:var(--muted)}
.status-chip{display:inline-block;font-size:.76rem;font-weight:600;border-radius:999px;padding:.15em .7em;white-space:nowrap}
.status-gated{background:var(--accent-soft);color:var(--accent)}
.status-partial{background:var(--blue-soft);color:var(--blue)}
.status-not_gated{background:var(--grey-soft);color:var(--grey)}
.status-announced{background:var(--warn-soft);color:var(--warn)}
.status-removed,.status-unknown{background:var(--grey-soft);color:var(--grey)}
.ad-label{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--warn);color:var(--warn);border-radius:4px;padding:0 .35em;line-height:1.5;vertical-align:middle;margin-right:.35em}
.verified{white-space:nowrap}
.verified.is-stale{color:var(--grey)}
.verified.is-unverified{color:var(--bad)}
.retention{margin:0}
.quote{margin:0 0 .3em;padding:.3em .8em;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 8px 8px 0;font-style:italic}
.quote-src{margin:0;font-size:.82rem}
.absence{font-style:italic;color:var(--muted)}
.url{font-size:.85em}
.url code{display:inline;background:transparent;padding:0;color:var(--muted)}
.caveats{border-left:4px solid var(--warn);background:var(--warn-soft);padding:.6rem 1rem;border-radius:0 10px 10px 0;margin:1.2rem 0}
.caveats h2{margin:.2em 0 .3em;font-size:1.05rem}
.caveats ul{margin:.3em 0 .2em 1.1em;padding:0}
.notice{background:var(--accent-soft);border-radius:10px;padding:.7rem 1rem;font-size:.92rem}
.warn{background:var(--warn-soft);border-radius:10px;padding:.7rem 1rem;font-size:.92rem}
.callout{border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem;background:var(--card)}
.callout h2{margin-top:.2em}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:.35rem 1rem;font-size:.95rem}
.kv dt{color:var(--muted)}
.kv dd{margin:0}
@media(max-width:560px){.kv{grid-template-columns:1fr}.kv dt{margin-top:.4em}}
.crumbs{font-size:.88rem;color:var(--muted);margin-top:1rem}
.toc{font-size:.9rem;display:flex;gap:.3rem .9rem;flex-wrap:wrap;margin:.4rem 0 1rem}
.faq details{border-top:1px solid var(--line);padding:.5em 0}
.faq summary{cursor:pointer;font-weight:600;color:var(--ink)}
.changelog li,.events li{margin:.45em 0}
.changelog time,.events time{font-family:var(--mono);font-size:.85em;color:var(--muted)}
.rss{font-size:.85rem}
.prose{max-width:74ch}
.prose h2{margin-top:1.6em}
.sources li{margin:.3em 0}
/* filters */
.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem 1rem;align-items:end}
.filters .field label{display:block;font-size:.82rem;font-weight:600;color:var(--ink);margin-bottom:.25em}
.filters select{width:100%;font:inherit;padding:.45em .6em;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--text);min-height:42px}
.filters select:focus,button:focus-visible,input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:2px}
.filter-count{grid-column:1/-1;margin:0;font-size:.88rem;color:var(--muted)}
/* timeline */
.timeline{list-style:none;padding:0;margin:0}
.timeline li{display:grid;grid-template-columns:9.5rem 1fr;gap:1rem;padding:.7rem 0;border-top:1px solid var(--line)}
@media(max-width:560px){.timeline li{grid-template-columns:1fr}}
.timeline h3{margin:0 0 .2em;font-size:1rem}
.timeline p{margin:.2em 0}
.tl-date{color:var(--muted);font-variant-numeric:tabular-nums}
.timeline li.kind-enforcement .tl-date{color:var(--bad)}
.timeline li.kind-regulation .tl-date{color:var(--accent)}
.timeline li.kind-government .tl-date{color:var(--blue)}
.timeline.upcoming li{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.7rem 1rem;margin:.5rem 0}
/* correction form */
.form-grid{display:grid;gap:.8rem;max-width:44rem}
.form-grid label{display:block;font-weight:600;color:var(--ink);font-size:.92rem;margin-bottom:.25em}
.form-grid input,.form-grid textarea,.form-grid select{width:100%;font:inherit;padding:.5em .6em;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--text)}
.form-grid textarea{min-height:8rem}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.btn{font:inherit;font-weight:600;border:0;border-radius:10px;padding:.7em 1.3em;min-height:44px;cursor:pointer;background:var(--accent);color:#fff}
.btn:hover{background:var(--accent-2)}
.form-status{font-size:.92rem}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media print{.site-head,.site-foot,.filters{display:none}}
