@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&display=swap");
/* Dossier skin for /map. Additive: delete the <link> and <script> lines in index.html to revert.
   Every selector restyles existing markup; no content is generated except link glyphs. */

:root{
  --bg:#FBFBF9; --panel:#FFFFFF; --ink:#0F172A; --muted:#556070; --line:#E1E3E6;
  --accent:#1D4ED8; --accent-soft:#EEF3FD; --teal:#0F766E; --teal-soft:#E7F3F1;
  --flash:#fff2b8; --shadow:0 1px 2px rgba(15,23,42,.05),0 2px 8px rgba(15,23,42,.04);
  --tb-bg:rgba(251,251,249,.9);
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Consolas,"Liberation Mono",Menlo,monospace;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0E1115; --panel:#161A20; --ink:#E8EAEE; --muted:#9AA5B1; --line:#2A3139;
    --accent:#8AB0FF; --accent-soft:#1B2740; --teal:#5CCFC0; --teal-soft:#14302D;
    --flash:#3d3a1c; --shadow:0 1px 2px rgba(0,0,0,.4);
    --tb-bg:rgba(14,17,21,.88);
  }
}
:root[data-theme="dark"]{
  --bg:#0E1115; --panel:#161A20; --ink:#E8EAEE; --muted:#9AA5B1; --line:#2A3139;
  --accent:#8AB0FF; --accent-soft:#1B2740; --teal:#5CCFC0; --teal-soft:#14302D;
  --flash:#3d3a1c; --shadow:0 1px 2px rgba(0,0,0,.4);
  --tb-bg:rgba(14,17,21,.88);
}

/* ---- status pills (all classes, including the legend) ---- */
.badge{border:1px solid transparent;letter-spacing:.06em;font-weight:700;}
.badge.c-denied{--st:var(--c-denied)}
.badge.c-ignored{--st:var(--c-ignored)}
.badge.c-pending{--st:var(--c-pending)}
.badge.c-excused{--st:var(--c-excused)}
.badge.c-won-then-nullified{--st:var(--c-won-then-nullified)}
.badge.c-only-for-a-price{--st:var(--c-only-for-a-price)}
.badge.c-refused{--st:var(--c-refused)}
.badge.c-partial{--st:var(--c-partial)}
.badge.c-won{--st:var(--c-won)}
.badge[class*="c-"]{
  background:color-mix(in srgb,var(--st) 13%,transparent);
  color:var(--st);
  border-color:color-mix(in srgb,var(--st) 38%,transparent);
}
@media (prefers-color-scheme:light){ .badge[class*="c-"]{color:color-mix(in srgb,var(--st) 88%,#000);} }
.badge.c-won-then-nullified{text-decoration:line-through;text-decoration-thickness:1px;}

/* ---- dossier rows ---- */
details.node{border-left:3px solid var(--line);}
details.node:has(> summary .badge.c-denied){border-left-color:var(--c-denied)}
details.node:has(> summary .badge.c-ignored){border-left-color:var(--c-ignored)}
details.node:has(> summary .badge.c-pending){border-left-color:var(--c-pending)}
details.node:has(> summary .badge.c-excused){border-left-color:var(--c-excused)}
details.node:has(> summary .badge.c-won-then-nullified){border-left-color:var(--c-won-then-nullified)}
details.node:has(> summary .badge.c-only-for-a-price){border-left-color:var(--c-only-for-a-price)}
details.node:has(> summary .badge.c-refused){border-left-color:var(--c-refused)}
details.node:has(> summary .badge.c-partial){border-left-color:var(--c-partial)}
details.node:has(> summary .badge.c-won){border-left-color:var(--c-won)}
details.node > .row{padding-top:11px;padding-bottom:11px;}
.rid,.rdate{font-family:var(--mono);font-size:.8rem;letter-spacing:-.01em;}
.rid{color:var(--accent);}
.rmech{font-size:.9rem;}
.row:hover,details.node[open] > .row{background:var(--accent-soft);}
details.node[open]{background:var(--panel);}
details.group{border-radius:12px;}
.card{border-top:1px solid var(--line);padding-top:8px;}
details.node > .card > dl.fields dd:nth-of-type(1){font-family:var(--mono);font-size:.88rem;}

/* ---- open card: two columns on wide screens ---- */
@media (min-width:900px){
  details.node > .card > dl.fields{
    display:block;column-count:2;column-gap:44px;column-rule:1px solid var(--line);
    margin-top:16px;
  }
  details.node > .card > dl.fields dt{break-after:avoid;margin-top:12px;}
  details.node > .card > dl.fields dt:first-of-type{margin-top:0;}
  details.node > .card > dl.fields dd{margin:2px 0 0;}
  /* Date..What the law required in the left column; What happened..Receipt in the right. */
  details.node > .card > dl.fields dt:nth-of-type(6){break-before:column;margin-top:0;}
}

/* ---- receipt / document links as chips ---- */
.card a[href^="http"],.doclinks a.dlink-ext{
  display:inline-block;max-width:100%;margin:2px 4px 2px 0;padding:2px 9px;
  border:1px solid color-mix(in srgb,var(--teal) 45%,var(--line));border-radius:7px;
  background:var(--teal-soft);color:var(--teal);text-decoration:none;
  font:600 .84rem/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  overflow-wrap:anywhere;vertical-align:baseline;
}
.card a[href^="http"]:hover,.doclinks a.dlink-ext:hover{border-color:var(--teal);background:color-mix(in srgb,var(--teal) 16%,var(--panel));}
.card a[href^="http"]::after,.doclinks a.dlink-ext::after{content:" \2197";font-size:.9em;color:inherit;opacity:.8;}
.doclinks{background:transparent;border:1px dashed var(--line);}
.card a[href^="http"]:focus-visible{outline:2px solid var(--accent);outline-offset:1px;}

/* ---- KPI cards (existing four figures only) ---- */
.stats{gap:12px;}
.stat{position:relative;text-align:left;padding:16px 16px 14px;border-radius:12px;overflow:hidden;}
.stat::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:var(--accent);}
.stat:nth-child(even)::before{background:var(--teal);}
.stat-n{font-family:var(--mono);font-size:2.2rem;letter-spacing:-.03em;}
.stat-l{margin-top:6px;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:600;}

/* ---- sticky toolbar with blur ---- */
.toolbar{background:var(--tb-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);}
.dossier-filter{margin-top:10px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;}
.dossier-filter.is-standalone{position:sticky;top:0;z-index:20;padding:10px 0;background:var(--tb-bg);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
.dossier-filter > summary{display:flex;flex-wrap:wrap;gap:8px;align-items:center;cursor:pointer;
  font-size:.74rem;font-weight:700;line-height:1.4;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);}
.dossier-filter > summary::before{content:"";width:0;height:0;border-left:5px solid var(--muted);
  border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .12s ease;}
.dossier-filter[open] > summary::before{transform:rotate(90deg);}
.df-status{text-transform:none;letter-spacing:0;font-weight:600;color:var(--accent);}
.df-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.df-chip{font:700 .68rem/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  letter-spacing:.06em;padding:6px 10px;border-radius:999px;cursor:pointer;
  background:color-mix(in srgb,var(--st) 10%,var(--panel));color:var(--st);
  border:1px solid color-mix(in srgb,var(--st) 38%,transparent);}
.df-chip:hover{background:color-mix(in srgb,var(--st) 20%,var(--panel));}
.df-chip[aria-pressed="true"]{background:var(--st);color:var(--ct,#fff);border-color:var(--st);}
.df-chip:focus-visible,.df-reset:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.df-reset{font:600 .75rem/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  padding:6px 10px;border-radius:7px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;}
.df-reset[hidden]{display:none;}
.df-reset:hover{border-color:var(--accent);color:var(--accent);}
.dossier-hidden{display:none !important;}
@media (prefers-color-scheme:light){ .df-chip{color:color-mix(in srgb,var(--st) 88%,#000);} .df-chip[aria-pressed="true"]{color:#fff;} }

/* ---- small screens ---- */
@media (max-width:640px){
  .stat{padding:12px 12px 10px;} .stat-n{font-size:1.7rem;}
  details.node > .row{padding-left:30px;}
  .card{padding-left:12px;padding-right:12px;}
}
@media print{ .dossier-filter{display:none;} }

/* Display face shared with the homepage: headings only */
h1,h2,h3{font-family:"Fraunces",Georgia,"Iowan Old Style",serif;}

/* Back-links to the main site (injected by dossier.js) */
.dossier-backnav{margin:0 0 10px;font-size:12px;color:var(--muted)}
.dossier-backnav a{color:var(--accent);text-decoration:none}
.dossier-backnav a:hover{text-decoration:underline}
