:root{color-scheme:dark;--bg:#000;--bg2:#1c1c1e;--ink:#f5f5f7;--mute:#a1a1a6;--rule:#38383a;--card:#1c1c1e;--orange:#ff8a00;--brand:#ffc700;--rule-accent:#f5a800;--hl:#5b4a0e;--flag:#fdba74;
 --shadow:0 12px 40px rgba(0,0,0,.6);
 --font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",Inter,"Segoe UI",system-ui,sans-serif;
 box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
/* Dark is the look on every device. A light theme exists but is only used if data-theme="light" is set. */
:root[data-theme="light"]{color-scheme:light;--bg:#fff;--bg2:#f5f5f7;--ink:#1d1d1f;--mute:#6e6e73;--rule:#d2d2d7;--card:#fff;--hl:#ffe8a3;--flag:#b45309;--shadow:0 1px 2px rgba(0,0,0,.04),0 12px 40px rgba(0,0,0,.08)}
html{background:var(--bg)}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:calc(60px + env(safe-area-inset-top,0px));-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.47 var(--font);letter-spacing:-.011em;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:3px;text-decoration-color:var(--rule)}a:hover{text-decoration-color:var(--ink)}
:focus-visible{outline:3px solid color-mix(in srgb,var(--orange) 60%,transparent);outline-offset:2px;border-radius:6px}
/* navigation */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--bg) 80%,transparent);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--rule)}
.nav .in{max-width:980px;margin:0 auto;padding:0 22px;height:52px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:-11px;text-decoration:none}
.logo{width:22px;height:22px;background:var(--brand);border-radius:5px;display:block}
.dot{color:var(--brand)}
.nav nav{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.nav a.l{color:var(--mute);text-decoration:none;font-size:15px;padding:10px 12px;border-radius:10px}
.nav a.l:hover{color:var(--ink);background:var(--bg2)}
/* home */
.home{max-width:980px;margin:0 auto;padding:0 22px 40px}
.hero{text-align:center;padding:clamp(64px,13vh,132px) 0 48px}
.mark{margin:0;font-weight:700;letter-spacing:-.05em;line-height:1}
.mark.big{font-size:clamp(46px,11.5vw,108px)}
.tagline{font-size:clamp(19px,2.7vw,27px);line-height:1.28;color:var(--mute);font-weight:400;letter-spacing:-.02em;max-width:21em;margin:20px auto 0}
.countries{display:inline-flex;gap:2px;padding:3px;background:var(--bg2);border-radius:999px;margin:40px 0 18px;flex-wrap:wrap;justify-content:center}
.countries button{border:0;background:transparent;color:var(--mute);font:inherit;font-size:14px;padding:6px 14px;border-radius:999px;cursor:pointer}
.countries button[aria-pressed="true"]{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.countries button[disabled]{opacity:.45;cursor:default}
.search{position:relative;max-width:640px;margin:0 auto}
.search input{width:100%;height:58px;border:1px solid var(--rule);border-radius:18px;padding:0 22px 0 52px;font:inherit;font-size:18px;color:var(--ink);background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236e6e73' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") no-repeat 20px 50%;box-shadow:var(--shadow)}
.search input::placeholder{color:var(--mute)}
.suggest{position:absolute;left:0;right:0;top:calc(100% + 8px);margin:0;padding:6px;list-style:none;text-align:left;background:var(--card);border:1px solid var(--rule);border-radius:18px;box-shadow:var(--shadow);z-index:30;max-height:360px;overflow:auto}
.suggest li{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:11px 14px;border-radius:12px;cursor:pointer}
.suggest li[aria-selected="true"],.suggest li:hover{background:var(--bg2)}
.suggest .n{font-weight:500}.suggest .m{color:var(--mute);font-size:14px;white-space:nowrap}
.suggest .none{color:var(--mute);cursor:default;padding:14px}
.quick{margin:22px 0 0;font-size:15px;color:var(--mute)}.quick a{color:var(--mute);margin:0 10px}.quick a:hover{color:var(--ink)}
.how{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:36px;margin-top:84px;padding-top:40px;border-top:1px solid var(--rule);text-align:left}
.how h3{margin:0 0 6px;font-size:19px;letter-spacing:-.02em}.how p{margin:0;color:var(--mute)}
/* inner pages */
.page{max-width:760px;margin:0 auto;padding:28px 22px 88px}
.crumbs{margin:0 0 18px;font-size:14px;color:var(--mute)}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--ink)}.crumbs span{margin:0 8px;opacity:.5}
.rh{margin:8px 0 6px}.rh h1{font-size:clamp(34px,6.4vw,56px);line-height:1.04;letter-spacing:-.04em;margin:0;font-weight:700}
.path{color:var(--mute);margin:8px 0 0}
.cover{background:var(--bg2);border-radius:14px;padding:14px 18px;margin:20px 0 0;font-size:15px}
.counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:26px 0 8px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.counts div{padding:18px 16px 18px 0}.counts b{display:block;font-size:40px;line-height:1;letter-spacing:-.04em;font-weight:700}
.counts span{display:block;margin-top:6px;color:var(--mute);font-size:14px;line-height:1.3}
h2{font-size:26px;letter-spacing:-.03em;margin:48px 0 4px;font-weight:700}
.sub{color:var(--mute);margin:0 0 16px;font-size:15px}
h3.yr{font-size:20px;margin:30px 0 0;letter-spacing:-.025em}
h4.mo{font-size:13px;margin:16px 0 10px;color:var(--mute);font-weight:600;letter-spacing:.02em;text-transform:uppercase}
.p{border-left:2px solid var(--rule);padding:2px 0 2px 18px;margin:0 0 24px}
.p.in{border-color:var(--rule-accent)}.p.rv{border-left-style:dashed;border-color:var(--flag)}
.p blockquote{margin:0;font:400 19px/1.58 Newsreader,Georgia,"Times New Roman",serif;letter-spacing:0}
mark{background:var(--hl);color:inherit;padding:0 2px;border-radius:3px}
.src{color:var(--mute);font-size:14px;margin-top:8px;line-height:1.5}.src b{color:var(--ink);font-weight:600}
.tag,.chip{display:inline-block;font-size:13px;border:1px solid var(--rule);border-radius:999px;padding:1px 10px;margin:0 6px 6px 0;color:var(--mute)}
.chip.yes{border-color:var(--orange);color:var(--ink);font-weight:600}
.read{margin:12px 0 4px;padding:14px 16px;background:var(--bg2);border-radius:14px;font-size:15px}
.read p{margin:6px 0 0}.fine{color:var(--mute);font-size:13px}
.absent{background:var(--bg2);border-radius:14px;padding:16px 18px;margin-top:36px;font-size:15px}
.verify{margin-top:36px;padding-top:18px;border-top:1px solid var(--rule);color:var(--mute);font-size:14px;overflow-wrap:anywhere}
.verify code{font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:13px}
.row{margin:6px 0}.row .sub{margin-left:8px}
button{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--rule);border-radius:10px;padding:7px 14px;cursor:pointer}button:hover{border-color:var(--ink)}
ul.plain{padding-left:20px;margin:8px 0}ul.plain li{margin:8px 0}
table.cov{border-collapse:collapse;width:100%;font-size:15px}table.cov th,table.cov td{border-bottom:1px solid var(--rule);padding:10px 12px 10px 0;text-align:left}table.cov th{color:var(--mute);font-weight:500}
footer{margin-top:64px;padding-top:20px;border-top:1px solid var(--rule);color:var(--mute);font-size:13px;text-align:center}
@media print{.nav,.noprint{display:none}body{background:#fff;color:#000}}
@media(prefers-reduced-motion:no-preference){.suggest{animation:f .12s ease}@keyframes f{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}}
.p .head{font-size:19px;line-height:1.4;font-weight:600;letter-spacing:-.015em;margin:0 0 4px}
.p .lead{font:400 19px/1.55 Newsreader,Georgia,"Times New Roman",serif;letter-spacing:0;margin:2px 0 6px}
.p details{margin:6px 0 4px}.p summary{cursor:pointer;font-size:15px;color:var(--ink);text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:3px;width:fit-content}
.p details blockquote{margin-top:10px}
.stat{margin:14px 0 0;font-size:14px;color:var(--mute)}
@media(max-width:640px){
 .nav .in{padding:0 14px;height:56px}
 .nav nav{gap:0}.nav a.l{padding:10px 9px}
 .home,.page{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
 .hero{padding:52px 0 32px}.tagline{font-size:20px;margin-top:16px}
 .countries{margin:26px 0 14px}
 .search input{height:54px;font-size:17px;border-radius:16px;padding-left:48px;background-position:17px 50%}
 .suggest{max-height:min(55vh,340px)}.suggest li{padding:13px 12px}.suggest .m{font-size:13px}
 .quick{display:flex;flex-direction:column;align-items:center;gap:0}.quick a{margin:0;padding:9px 10px}
 .how{margin-top:52px;gap:26px}
 h2{font-size:23px;margin-top:40px}.rh h1{font-size:34px}
 .counts{grid-template-columns:repeat(3,1fr)}.counts div{padding:14px 8px 14px 0}.counts b{font-size:30px}.counts span{font-size:12.5px}
 .p{padding-left:14px}.p .head{font-size:18px}.p .lead,.p blockquote{font-size:18px}
 .src{overflow-wrap:anywhere}table.cov{font-size:14px}.crumbs{font-size:13.5px}
}
/* year chooser: shows one year at a time; without JavaScript every year stays visible */
.years{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 4px}
.years button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 16px;border-radius:999px;font-size:15px;background:transparent;border:1px solid var(--rule);color:var(--ink)}
.years button span{color:var(--mute);font-size:13px}
.years button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.years button[aria-pressed="true"] span{color:inherit;opacity:.65}
body.yf .yg{display:none}body.yf .yg.on{display:block}
@media(max-width:640px){.years{gap:6px}.years button{padding:8px 13px}}
