/* Dossier: the country state page. Generated by tools/dossier_render.py.
   Reuses site tokens (--ground, --ink, --ink-soft, --rule, --font-display,
   --font-data); dossier-specific colors are hardcoded so nothing collides. */
:root{--mp-g2:#F1ECE2;--mp-faint:#8A8479;--mp-rs:#B9B0A0;
  --mp-lbiban:#3B5BA5;--mp-lbiopen:#2E7F86;--mp-regsoft:#A9741F;
  --mp-ccwonly:#7A5C99;--mp-oppose:#7A5648;--mp-none:#D8D3C8;
  --mp-use:#BA7517;--mp-treaty:#0F6E56}
.dossier{padding-bottom:96px}
.dossier .hero{padding:6px 0 22px}
.dossier .doc-label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--mp-faint);margin:0}
.dossier h1{font-family:var(--font-display);font-weight:500;font-size:clamp(48px,8vw,96px);line-height:.92;letter-spacing:-.01em;margin:6px 0 0}
.dossier .sub{font-size:13px;letter-spacing:.05em;color:var(--ink-soft);margin-top:10px}
.dossier .sub b{color:var(--ink);font-weight:600}
.arena{padding:28px 0;border-top:1px solid var(--rule)}
.band-q{font-family:var(--font-display);font-weight:500;font-size:clamp(22px,3.2vw,28px);margin:0 0 6px}
.plain{font-family:var(--font-display);font-size:19px;line-height:1.45;max-width:60ch;margin:0 0 4px;color:var(--ink)}
.hint{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mp-faint);margin:14px 0 0}
.coverage-note{font-size:13.5px;color:var(--ink-soft);max-width:64ch}
.mk{cursor:pointer;transition:opacity .18s ease,transform .18s ease,box-shadow .18s ease,filter .18s ease}
.mk:focus{outline:none}.mk:focus-visible{outline:2px solid var(--mp-lbiban);outline-offset:3px}
.dim{opacity:.3}.faint{opacity:.2}.glow{box-shadow:0 0 0 2px rgba(26,26,26,.4)}
/* spectrum */
.spectrum{margin:16px 0 0;border:1px solid var(--rule);background:var(--mp-g2);padding:16px 16px 12px}
.spec-cap{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mp-faint);margin-bottom:10px}
.spec-cap b{color:var(--ink);font-weight:600}
.spec-ax{display:flex;justify-content:space-between;font-size:10.5px;color:var(--mp-faint);margin-bottom:8px}
.shelves{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.fam{position:relative;border-top:3px solid var(--famhue);padding:9px 8px 40px;background:#FBF9F5;border-radius:0 0 2px 2px}
.fam-h{font-family:var(--font-display);font-weight:600;font-size:13.5px}
.fam-s{font-size:10.5px;color:var(--ink-soft);margin-top:2px;line-height:1.3;min-height:26px}
.fam.host{background:#fff;box-shadow:inset 0 0 0 1px var(--mp-rs)}
.fam-empty{position:absolute;bottom:14px;left:0;right:0;text-align:center;font-size:10px;color:var(--mp-faint);font-style:italic}
.pmark{position:absolute;bottom:10px;transform:translateX(-50%);width:19px;height:19px;border-radius:50%;
  background:var(--famhue);border:2px solid var(--ground);box-shadow:0 0 0 1px var(--mp-rs);
  display:grid;place-content:center;font-size:7.5px;font-weight:700;color:#fff;opacity:.5}
.pmark.me{width:36px;height:36px;box-shadow:0 0 0 2px var(--ink);z-index:2;font-size:11px;opacity:1}
.pmark.me::after{content:"this state";position:absolute;top:-15px;left:50%;transform:translateX(-50%);
  font-family:var(--font-data);font-size:8.5px;font-weight:600;color:var(--ink);white-space:nowrap}
.pmark.hot{transform:translateX(-50%) scale(1.15);opacity:1}
/* waffles */
.waffles{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:16px 0 0}
.waffle h4{margin:0 0 2px;font-size:12px}
.waffle .res{font-size:10.5px;color:var(--mp-faint);margin-bottom:9px}
.reslink{color:var(--ink-soft);text-decoration:none;border-bottom:1px solid var(--mp-rs)}
.reslink:hover{color:var(--ink);border-bottom-color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(13,1fr);gap:2px}
.cell{aspect-ratio:1/1;border-radius:1px}
.cell.y{background:#6E675C}
.cell.n{background:transparent;box-shadow:inset 0 0 0 2px #6E675C}
.cell.a{background:linear-gradient(135deg,#9c968b 0 50%,transparent 50% 100%);box-shadow:inset 0 0 0 1px var(--mp-rs)}
.cell.x{background:#E7E1D6}
.cell.me{background:var(--mp-lbiban);box-shadow:0 0 0 2px var(--ground),0 0 0 3.5px var(--ink);z-index:2}
.cell.hot{transform:scale(1.35);z-index:3}
.tally{margin-top:12px;display:flex;align-items:baseline;gap:8px}
.tally .big{font-family:var(--font-display);font-weight:600;font-size:32px;line-height:1;font-variant-numeric:tabular-nums}
.tally .of{font-size:11px;color:var(--mp-faint)}
.vlegend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:16px 0 0;font-size:11px;color:var(--ink-soft)}
.vlegend .vg{display:inline-flex;align-items:center;gap:7px;cursor:pointer;padding:2px 4px;border-radius:2px}
.vlegend .vg:hover{background:var(--mp-g2)}
.vlegend .cell{width:13px;height:13px;aspect-ratio:auto;flex:none}
/* signing */
.camps{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:16px 0 0}
.camp{border:1px solid var(--rule);background:var(--mp-g2)}
.camp-h{padding:11px 15px;border-bottom:1px solid var(--rule);display:flex;align-items:center;gap:9px;cursor:pointer}
.camp-h:hover{background:#fff}
.camp-h .cdot{width:10px;height:10px;border-radius:50%;flex:none}
.cdot-use{background:var(--mp-use)}.cdot-treaty{background:var(--mp-treaty)}
.camp-h .nm{font-family:var(--font-display);font-weight:600;font-size:15px}
.camp-h .ct{margin-left:auto;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mp-faint)}
.sign{display:flex;gap:12px;padding:12px 15px;border-top:1px solid var(--rule);align-items:center}
.sign:first-of-type{border-top:0}
.wax{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-content:center;border:1.5px solid currentColor;position:relative}
.wax::before{content:"";position:absolute;inset:3px;border-radius:50%;border:1px solid currentColor;opacity:.5}
.wax svg{width:15px;height:15px}
.sign.use .wax{color:var(--mp-use)}
.sign.treaty .wax{color:var(--mp-treaty)}
.sign.absent .wax{color:var(--mp-faint);border-style:dashed}
.sign.absent .wax::before{border-style:dashed}
.sign .s-name{display:block;font-size:13.5px;font-weight:500;line-height:1.35}
.sign.absent .s-name{color:var(--ink-soft);font-weight:400;font-style:italic}
.sign .s-meta{display:block;font-size:11px;color:var(--mp-faint);margin-top:3px}
.sign.hot{background:#fff}
/* cadence */
.cadence{margin:16px 0 0;border:1px solid var(--rule);background:var(--mp-g2);padding:16px 18px 12px}
.cad-top{display:flex;align-items:baseline;gap:11px;margin-bottom:16px}
.cad-total .ct-n{font-family:var(--font-display);font-weight:600;font-size:44px;line-height:.85;font-variant-numeric:tabular-nums}
.cad-total .ct-l{font-size:11px;color:var(--mp-faint);margin-left:9px}
.rug{display:grid;grid-template-columns:150px 1fr}
.lane-labels{height:210px;display:flex;flex-direction:column;justify-content:space-around;align-items:flex-end;padding-right:14px;text-align:right}
.lane-labels span{font-size:10.5px;color:var(--ink-soft);line-height:1.2}
.lane-labels .ll-cum{color:var(--mp-faint);font-style:italic}
.plot{position:relative;height:210px;background:repeating-linear-gradient(to bottom,transparent 0 41px,var(--rule) 41px 42px)}
.resline{position:absolute;top:0;height:168px;border-left:1px dotted var(--mp-rs);opacity:.7}
.cum-area{position:absolute;left:0;top:168px;width:100%;height:42px;overflow:visible}
.cmark{position:absolute;transform:translate(-50%,-50%);display:block}
.cmark.g-stmt{transform:translate(-50%,-50%) rotate(45deg)}
.cmark.g-stmt.hot{transform:translate(-50%,-50%) rotate(45deg) scale(1.4)}
.cmark.hot{transform:translate(-50%,-50%) scale(1.4);z-index:3}
.g-paper{width:14px;height:17px;border:1.5px solid var(--ink);background:var(--ground)}
.g-pledge{width:15px;height:15px;border-radius:50%;border:2px solid var(--mp-use);background:var(--ground)}
.g-stmt{width:14px;height:14px;background:var(--mp-treaty)}
.g-vote{width:11px;height:11px;background:#6E675C;border-radius:1px}
.years{position:relative;height:20px;margin:5px 0 0 150px;border-top:1px solid var(--mp-rs)}
.ytick{position:absolute;top:0;transform:translateX(-50%);font-size:10.5px;color:var(--mp-faint);padding-top:4px}
.clegend{display:flex;flex-wrap:wrap;gap:8px 16px;margin:14px 0 0;font-size:11px;color:var(--ink-soft)}
.clegend .cg{display:inline-flex;align-items:center;gap:8px;cursor:pointer;padding:2px 4px;border-radius:2px}
.clegend .cg:hover{background:#fff}.clegend .gl{flex:none}.clegend .gl.g-stmt{transform:rotate(45deg)}
/* doctrine + corpus */
.coverage{margin:14px 0 0;padding:14px 16px;border:1px dashed var(--mp-rs)}
.coverage .cv-h{font-family:var(--font-display);font-size:16px;margin:0 0 4px}
.coverage .cv-b{font-size:13px;color:var(--ink-soft);line-height:1.55;max-width:66ch}
.dchip{font-size:9px;letter-spacing:.16em;color:var(--mp-faint);border:1px solid var(--mp-rs);border-radius:2px;padding:0 5px}
.timeline{margin:12px 0 0;border-left:2px solid var(--mp-rs);padding:2px 0 2px 18px}
.tl-item{position:relative;padding:5px 0 8px}
.tl-item::before{content:"";position:absolute;left:-25px;top:8px;width:11px;height:11px;border-radius:50%;background:var(--ground);border:2px dashed var(--mp-faint)}
.tl-item .t-h{font-size:13.5px;font-weight:500;color:var(--ink-soft);font-style:italic}
.corpus{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0}
.doc{width:130px;border:1px solid var(--rule);background:var(--mp-g2);padding:12px;display:block;text-align:left;text-decoration:none;color:var(--ink)}
.doc .d-ic{width:26px;height:32px;border:1.5px solid var(--ink);margin-bottom:9px}
.doc .d-t{font-size:11.5px;line-height:1.35;font-weight:500}
.doc .d-d{font-size:10.5px;color:var(--mp-faint);margin-top:6px}
.doc.hot{border-color:var(--ink);background:#fff}
/* own-coding detail */
.codings{margin:18px 0 0}
.own-coding{padding:14px 0 0;border-top:1px solid var(--rule);margin-top:14px}
.own-coding:first-child{border-top:0;margin-top:0}
.oc-h{font-family:var(--font-display);font-weight:600;font-size:18px;margin:0}
.oc-c{font-size:11px;letter-spacing:.04em;color:var(--mp-faint);font-weight:400;margin-left:8px}
.oc-cat{font-size:13px;color:var(--ink-soft);margin:4px 0 6px}
.oc-claim{font-size:13px;color:var(--ink);margin:10px 0 2px;max-width:66ch}
.oc-q{font-family:var(--font-display);font-size:17px;line-height:1.45;margin:10px 0 4px;
  padding-left:14px;border-left:3px solid var(--mp-lbiban)}
.oc-q::before{content:"\201C"}.oc-q::after{content:"\201D"}
.oc-lang{font-family:var(--font-data);font-size:10px;color:var(--mp-faint)}
.oc-cite{font-size:11.5px;color:var(--mp-faint);margin:0 0 8px;padding-left:14px}
.oc-cite a{color:var(--ink);border-bottom:1px solid var(--mp-rs);text-decoration:none}
/* info panel */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#info{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--ink);color:var(--ground);min-height:70px;display:flex;align-items:center}
#info .iw{max-width:960px;margin:0 auto;width:100%;padding:14px 28px;display:flex;gap:16px;align-items:center}
#info .lbl{flex:none;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:#9a948a;border-right:1px solid #3a362f;padding-right:16px;align-self:stretch;display:flex;align-items:center}
#info .body{transition:opacity .13s ease;font-size:15px;line-height:1.5}
#info .body b{font-family:var(--font-display);font-weight:600}
#info .body a{color:#fff;border-bottom:1px solid #6f6a61}
/* popover */
#pop{position:fixed;z-index:70;max-width:340px;background:var(--ground);color:var(--ink);border:1px solid var(--ink);box-shadow:0 8px 26px rgba(20,16,10,.22);padding:15px 16px;display:none}
#pop.on{display:block}
#pop .p-q{font-family:var(--font-display);font-size:16px;line-height:1.45}
#pop .p-q:empty{display:none}
#pop .p-q::before{content:"\201C"}#pop .p-q:not(:empty)::after{content:"\201D"}
#pop .p-m{font-size:11px;color:var(--ink-soft);margin-top:9px}
#pop .p-src{display:inline-block;margin-top:11px;font-size:12px;color:var(--ink);border-bottom:1px solid var(--mp-rs);text-decoration:none}
#pop .p-x{position:absolute;top:8px;right:10px;font-size:14px;color:var(--mp-faint);background:none;border:0;cursor:pointer;line-height:1}
/* draw-in */
.arena .mk,.arena .tally,.arena .spectrum,.arena .waffle,.arena .camp,.arena .cadence,.arena .coverage,.arena .corpus{opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease}
.arena.in .mk,.arena.in .tally,.arena.in .spectrum,.arena.in .waffle,.arena.in .camp,.arena.in .cadence,.arena.in .coverage,.arena.in .corpus{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .mk{transition:none}
  .arena .mk,.arena .tally,.arena .spectrum,.arena .waffle,.arena .camp,.arena .cadence,.arena .coverage,.arena .corpus{opacity:1;transform:none;transition:none}
  #info .body{transition:none}
}
/* mobile */
@media (max-width:720px){
  .dossier h1{font-size:60px}
  .shelves{grid-template-columns:1fr 1fr;gap:8px}
  .waffles{grid-template-columns:1fr;gap:26px}.grid{grid-template-columns:repeat(15,1fr)}
  .camps{grid-template-columns:1fr}
  .rug{grid-template-columns:88px 1fr}.lane-labels{padding-right:8px}.lane-labels span{font-size:9px}.years{margin-left:88px}
  .doc{width:calc(50% - 5px)}
  #info .iw{padding:12px 18px;gap:12px}
}
