@font-face{font-family:"Source Serif 4";src:url(fonts/source-serif-4-normal-latin.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:"Source Serif 4";src:url(fonts/source-serif-4-normal-latin-ext.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap;unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Serif 4";src:url(fonts/source-serif-4-italic-latin.woff2) format("woff2");font-weight:200 900;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F}
@font-face{font-family:"Source Serif 4";src:url(fonts/source-serif-4-italic-latin-ext.woff2) format("woff2");font-weight:200 900;font-style:italic;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:"IBM Plex Sans";src:url(fonts/IBMPlexSans-latin.woff2) format("woff2");font-weight:100 700;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2190-2193,U+21BA,U+2212,U+2264-2265,U+2752,U+25B6}
@font-face{font-family:"IBM Plex Sans";src:url(fonts/IBMPlexSans-latin-ext.woff2) format("woff2");font-weight:100 700;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF}

/* Paper and ink. Status colours: withdrawn = brick, authorised-but-unpriced = ochre, out now = orange, everywhere = slate, came back = mist. */
:root{
  --bg:#f4f1ea;--card:#fffdf8;--text:#17201f;--muted:#4a5250;--rule:#d6d1c6;--rule-soft:#e6e1d6;--grid:#e2ddd2;--axis:#8f948f;
  --acc:#9d2a1e;--acc-ink:#8a2318;--focus:#0b57b0;--btn-ink:#fff;
  --ro:#b0352a;--rest:#c9cfd3;--prov:#e3a79f;--m0:#eef0e6;--m1:#f2d9b3;--m2:#e9a97a;--m3:#cf6b4c;--m4:#8f2b20;--m-line:#fffdf8;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;--sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--top:46px;color-scheme:light
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0f1414;--card:#171e1e;--text:#eef1ee;--muted:#c3cbc8;--rule:#2f3a39;--rule-soft:#222b2a;--grid:#253030;--axis:#6f7a78;
  --acc:#ff8b72;--acc-ink:#ffa28d;--focus:#8ab8ff;--btn-ink:#1b0c08;
  --ro:#ff7a63;--rest:#46535a;--prov:#8a4a42;--m0:#26302f;--m1:#5a4a33;--m2:#8f5a3a;--m3:#cc5a42;--m4:#ff8a70;--m-line:#0f1414;color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0f1414;--card:#171e1e;--text:#eef1ee;--muted:#c3cbc8;--rule:#2f3a39;--rule-soft:#222b2a;--grid:#253030;--axis:#6f7a78;
  --acc:#ff8b72;--acc-ink:#ffa28d;--focus:#8ab8ff;--btn-ink:#1b0c08;
  --ro:#ff7a63;--rest:#46535a;--prov:#8a4a42;--m0:#26302f;--m1:#5a4a33;--m2:#8f5a3a;--m3:#cc5a42;--m4:#ff8a70;--m-line:#0f1414;color-scheme:dark}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--top) + 14px)}
body{margin:0;background:var(--bg);color:var(--text);font:400 18px/1.62 var(--serif);overflow-x:hidden}
a{color:var(--acc-ink);text-underline-offset:2px}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
strong{font-weight:650}
.skip-link{position:absolute;left:-999px;top:8px;background:var(--card);color:var(--text);padding:8px 12px;z-index:60}.skip-link:focus{left:8px}

.topbar{position:sticky;top:0;z-index:40;height:var(--top);display:flex;align-items:center;gap:10px;padding:0 14px;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));background:color-mix(in srgb,var(--bg) 94%,transparent);border-bottom:1px solid var(--rule-soft);font:500 14px/1 var(--sans)}
.brand{display:flex;align-items:center;gap:8px;color:var(--text);text-decoration:none;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.brand-mark{flex:none;color:var(--acc);display:grid;place-items:center}
.topnav{display:flex;gap:16px;margin-left:14px}.topnav a{color:var(--muted);text-decoration:none;white-space:nowrap}.topnav a:hover{color:var(--text)}
.spacer{flex:1}
.chip{color:var(--muted);text-decoration:none;padding:6px 7px;border-radius:6px}.chip[aria-current="page"]{color:var(--text);background:var(--rule-soft)}
.icon-btn{flex:none;border:1px solid var(--rule);background:transparent;color:var(--text);border-radius:8px;width:34px;height:34px;display:grid;place-items:center;cursor:pointer}
:root[data-theme="dark"] .i-moon{display:none}:root[data-theme="light"] .i-sun{display:none}
@media (prefers-color-scheme:light){:root:not([data-theme]) .i-sun{display:none}}
@media (prefers-color-scheme:dark){:root:not([data-theme]) .i-moon{display:none}}
@media (max-width:1040px){.topnav{display:none}}
.progress{position:sticky;top:var(--top);z-index:39;height:2px;margin-bottom:-2px}
.progress i{display:block;height:2px;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--alt),var(--left))}

.rail{position:fixed;right:10px;top:50%;transform:translateY(-50%);z-index:30;display:flex;flex-direction:column;gap:6px;opacity:0;transition:opacity .3s}
.rail.on{opacity:1}
.rail-dot{position:relative;display:block;width:16px;height:16px}
.rail-dot .dot{position:absolute;left:5px;top:5px;width:6px;height:6px;border-radius:50%;background:var(--axis)}
.rail-dot[aria-current] .dot{background:var(--acc);transform:scale(1.45)}
.rail-label{position:absolute;right:22px;top:-2px;white-space:nowrap;font:500 12.5px var(--sans);background:var(--card);color:var(--text);border:1px solid var(--rule);border-radius:6px;padding:2px 7px;opacity:0;pointer-events:none;transition:opacity .15s}
.rail-dot:hover .rail-label,.rail-dot:focus-visible .rail-label{opacity:1}
@media (max-width:1300px){.rail{display:none}}

/* hero */
.hero{max-width:1240px;margin:0 auto;padding:34px 20px 8px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:44px;align-items:start}
.kicker{font:600 12.5px/1.3 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--acc-ink);margin:0 0 10px}
h1{font:700 42px/1.08 var(--serif);margin:0 0 16px;letter-spacing:-.012em;text-wrap:balance}
.deck{font-size:19.5px;line-height:1.55;color:var(--muted);margin:0 0 12px}.deck strong{color:var(--text)}
.deck2{font-size:18px;line-height:1.5;margin:0 0 18px;padding-left:12px;border-left:3px solid var(--left)}
.hero-fig{margin:6px 0 0}
.what{grid-column:1/-1;max-width:760px;font:400 15.5px/1.55 var(--sans);color:var(--muted);margin:14px 0 0;padding:10px 14px;background:var(--card);border-radius:10px;border:1px solid var(--rule-soft)}
.btn{display:inline-flex;align-items:center;gap:6px;font:600 15px/1 var(--sans);padding:11px 15px;border-radius:9px;border:1px solid var(--rule);background:var(--card);color:var(--text);text-decoration:none;cursor:pointer;min-height:44px}
.btn.primary{background:var(--acc);border-color:var(--acc);color:var(--btn-ink)}
.btn.ghost{background:transparent}
.jump{margin:0;display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:980px){.hero{grid-template-columns:1fr}h1{font-size:32px}.deck,.deck2{font-size:18px}}
@media (max-width:420px){h1{font-size:28px}}

/* timeline */
.tl-svg{width:100%;height:auto;display:block;overflow:visible}
.tl-grid{stroke:var(--grid);stroke-width:1}
.tl-now{stroke:var(--text);stroke-width:1.2;stroke-dasharray:3 3}
.tl-now-t{font:600 12.5px var(--sans);fill:var(--text)}
.tl-lab{font:600 11.5px var(--sans);fill:var(--text);paint-order:stroke;stroke:var(--bg);stroke-width:3px}
.tl-r{shape-rendering:crispEdges}
.c-left{fill:var(--left);background:var(--left)}.c-alt{fill:var(--alt);background:var(--alt)}.c-out{fill:var(--out);background:var(--out)}
.c-world{fill:var(--world);background:var(--world)}.c-back{fill:var(--back);background:var(--back)}
.c-eu{fill:var(--eu);background:var(--eu)}.c-nat{fill:var(--nat);background:var(--nat)}.c-dereg{fill:var(--dereg);background:var(--dereg)}
.ax-t{font:500 12.5px var(--sans);fill:var(--muted)}

/* sections */
.sec{max-width:760px;margin:0 auto;padding:30px 20px 8px}
.sec.wide{max-width:1180px}
.sec.wide>p{max-width:760px}
h2{font:700 28px/1.2 var(--serif);margin:26px 0 12px;text-wrap:balance}
h3{font:650 20px/1.3 var(--serif);margin:22px 0 6px}
h4{font:600 15px/1.3 var(--sans);margin:16px 0 6px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.anchor{margin-left:8px;font:400 .62em var(--sans);color:var(--axis);text-decoration:none;opacity:0;transition:opacity .15s}
h2:hover .anchor,.anchor:focus-visible{opacity:1}
.sec p{margin:0 0 14px}
.fig{margin:18px 0 10px}
.fig svg{width:100%;height:auto;display:block;overflow:visible}
figcaption{font:400 14.5px/1.5 var(--sans);color:var(--muted);margin-top:8px}
.legend{display:flex;flex-wrap:wrap;gap:6px 16px;font:500 13.5px/1.3 var(--sans);color:var(--muted);margin:0 0 8px;align-items:center}
.legend span{display:inline-flex;align-items:center;gap:6px}
.k{display:inline-block;width:18px;height:10px;border-radius:2px}
.k.ls-all{background:var(--ls-all)}.k.ls-live{background:var(--ls-live)}
.muted{color:var(--muted)}


/* dots, bars */
.dots-svg{width:100%;height:auto;display:block;max-width:560px}
.d-ro{fill:var(--ro);background:var(--ro)}.d-rest{fill:var(--rest);background:var(--rest)}
.b-ro{fill:var(--ro);background:var(--ro)}.b-rest{fill:var(--rest);background:var(--rest)}.b-prov{fill:var(--prov)}
.bar-l{font:500 14px var(--sans);fill:var(--text)}.bar-v{font:600 13px var(--sans);fill:var(--text)}.bar-v.muted{fill:var(--muted)}
.grid{stroke:var(--grid);stroke-width:1}
.hist-n{font:700 15px var(--serif);fill:var(--text)}
.ladder{list-style:none;padding:0;margin:8px 0 18px;font:500 15px/1.3 var(--sans)}
.ladder li{display:grid;grid-template-columns:minmax(0,15em) 1fr 4em;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid var(--rule-soft)}
.ladder .ld-bar{height:12px;background:var(--rule-soft);border-radius:6px;overflow:hidden}.ladder .ld-bar i{display:block;height:100%;background:var(--ro);border-radius:6px}
.ladder b{text-align:right;font:700 17px var(--serif)}
.ladder .ld-pn{border-top:2px solid var(--text);margin-top:6px}.ladder .ld-pn .ld-bar i{background:var(--text)}
@media (max-width:560px){.ladder li{grid-template-columns:1fr 3.4em}.ladder .ld-bar{grid-column:1/-1;grid-row:2}}

/* county */
.picker{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:6px 0 16px;font:500 15px var(--sans)}
.picker label{font-weight:600}
.picker select{font:500 16px var(--sans);min-height:44px;padding:8px 10px;border-radius:9px;border:1px solid var(--rule);background:var(--card);color:var(--text);max-width:100%}
.jud-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
@media (max-width:900px){.jud-grid{grid-template-columns:1fr;gap:14px}}
.map-box{position:relative}.map-svg{width:100%;height:auto;display:block}
.cty{stroke:var(--m-line);stroke-width:1.1;cursor:pointer;transition:opacity .15s}
.cty.m0,.mapkey .m0{fill:var(--m0);background:var(--m0)}.cty.m1,.mapkey .m1{fill:var(--m1);background:var(--m1)}.cty.m2,.mapkey .m2{fill:var(--m2);background:var(--m2)}.cty.m3,.mapkey .m3{fill:var(--m3);background:var(--m3)}.cty.m4,.mapkey .m4{fill:var(--m4);background:var(--m4)}
.cty:hover{opacity:.82}.cty:focus-visible{outline:none;stroke:var(--focus);stroke-width:3}.cty.on{stroke:var(--text);stroke-width:3}
.map-svg.picked .cty:not(.on){opacity:.55}
.mapkey{display:flex;flex-wrap:wrap;gap:4px 10px;font:500 13px/1.3 var(--sans);color:var(--muted);margin:8px 0 0;align-items:center}
.mapkey span{display:inline-flex;align-items:center;gap:5px}.mapkey i.mk{display:inline-block;width:16px;height:12px;border-radius:2px}.hk-l{font-weight:600;color:var(--text)}
.eu-ref{margin-left:6px;font-weight:600;color:var(--text)}
.map-card{position:absolute;z-index:5;max-width:240px;background:var(--card);border:1px solid var(--rule);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.18);padding:10px 12px;font:500 14px/1.4 var(--sans)}
.map-card b{display:block;font:700 16px var(--serif);margin-bottom:2px}.map-card a{display:inline-block;margin-top:6px;font-weight:600}
.panel{background:var(--card);border:1px solid var(--rule-soft);border-radius:14px;padding:16px 18px 10px}
.p-name{margin:0 0 6px;font-size:24px}.p-sent{font-size:18.5px;line-height:1.5;margin:0 0 8px}.p-more{font:400 15px/1.55 var(--sans);color:var(--muted);margin:0 0 8px}
.shared-line{font:500 15px/1.4 var(--sans);background:var(--card);border-left:3px solid var(--ro);padding:8px 10px;border-radius:6px;margin:0 0 12px}
.ctab{margin:18px 0 0;font:500 15px var(--sans)}.ctab summary{cursor:pointer;font-weight:600;padding:8px 0}
.table-wrap{overflow-x:auto;margin:10px 0 14px}
table{border-collapse:collapse;width:100%;font:400 14.5px/1.4 var(--sans)}
th,td{text-align:left;padding:7px 9px;border-bottom:1px solid var(--rule-soft);white-space:nowrap}td{font-variant-numeric:tabular-nums}
thead th{font-weight:600;color:var(--muted);vertical-align:bottom;white-space:normal}
tr.on th,tr.on td{background:color-mix(in srgb,var(--ro) 14%,transparent)}

.how{padding-left:20px}.how li{margin:0 0 10px}
.src{padding-left:20px;font-size:16px}.src li{margin:0 0 8px}
.share{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:12px 0 6px;font:500 14.5px var(--sans)}
.share-lab{margin-right:4px;color:var(--muted)}
.sbtn{display:inline-grid;place-items:center;flex:none;width:40px;height:40px;padding:0;border-radius:50%;border:1px solid var(--rule);background:transparent;color:var(--text);text-decoration:none;cursor:pointer}
.sbtn:hover,.sbtn:focus-visible{color:var(--acc-ink);border-color:var(--acc)}
@media (pointer:coarse){.sbtn{width:44px;height:44px}}
@media (max-width:480px){.share-lab{flex-basis:100%}}
.share-msg{font-size:14px;color:var(--muted);margin-left:6px}
.site-footer{max-width:1180px;margin:40px auto 0;padding:22px 20px 40px;border-top:1px solid var(--rule-soft);display:flex;flex-wrap:wrap;gap:8px 22px;font:400 14px var(--sans);color:var(--muted)}
.site-footer a{color:var(--muted)}
.place-page main{max-width:760px;margin:0 auto;padding:30px 20px;font-family:var(--sans)}.place-page img{max-width:100%;height:auto}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media (max-width:600px){.cert-svg .bar-l,.cert-svg .bar-v{font-size:22px}.hist-svg .ax-t{font-size:22px}.hist-n{font-size:24px}.dots-svg .ax-t{font-size:20px}}
