:root{
  color-scheme: light dark;
  --bg:#f6f6f6;
  --paper:#ffffff;
  --ink:#0b0b0b;
  --muted:#4b5563;
  --line:#0b0b0b;
  --hair:#d1d5db;
  --soft:#f3f4f6;
  --shadow: 0 10px 0 rgba(0,0,0,.08);
  --shadow-card: 0 10px 0 rgba(0,0,0,.10);
  --shadow-btn: 0 6px 0 rgba(0,0,0,.08);
  --shadow-btn-active: 0 4px 0 rgba(0,0,0,.08);
  --accent:#111827;
  --gov:#111827;
  --opp:#111827;
  --uturn:#111827;
}

@media (prefers-color-scheme: dark) {
  :root{
    --bg:#0b0b0b;
    --paper:#101012;
    --ink:#f4f4f5;
    --muted:#b6bcc7;
    --line:#f4f4f5;
    --hair:rgba(244,244,245,.24);
    --soft:rgba(244,244,245,.08);
    --shadow: 0 10px 0 rgba(244,244,245,.12);
    --shadow-card: 0 10px 0 rgba(244,244,245,.12);
    --shadow-btn: 0 6px 0 rgba(244,244,245,.12);
    --shadow-btn-active: 0 4px 0 rgba(244,244,245,.12);
  }
}

@media (forced-colors: active) {
  :root{
    --bg: Canvas;
    --paper: Canvas;
    --ink: CanvasText;
    --muted: CanvasText;
    --line: CanvasText;
    --hair: GrayText;
    --soft: Canvas;
    --shadow: none;
    --shadow-card: none;
    --shadow-btn: none;
    --shadow-btn-active: none;
  }
}

*{box-sizing:border-box}
html,body{height:100%}
html{background:var(--bg); color:var(--ink)}
[hidden]{display:none !important}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font:16px/1.5 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial;
  overflow-x:hidden;
}

a{color:inherit}
a:hover{text-decoration-thickness:2px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px}

.wrap{
  max-width:1180px;
  margin:0 auto;
  padding:22px 14px 60px;
}

/* Top panels */
.topPanels{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:14px;
  align-items:start;
}
@media (max-width: 900px){
  .topPanels{grid-template-columns:1fr}
}

.brandPanel,
.microCrossLinks{
  background:var(--paper);
  border:2px solid var(--line);
  border-radius:6px;
  box-shadow:var(--shadow);
}

.brandPanel{
  padding:16px 16px 14px;
}
.brandMark{
  display:flex;
  gap:10px;
  align-items:center;
  text-decoration:none;
}
.brandMark img{width:32px;height:32px}
.brandWordmark{font-weight:800;letter-spacing:-.01em}
.brandTagline{margin:10px 0 8px;color:var(--muted);max-width:70ch}
.brandLinks{display:flex;gap:12px;flex-wrap:wrap;font-size:14px}
.brandLinks a{color:var(--ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}
.brandLinks a:hover{text-decoration-thickness:3px}

.microCrossLinks{
  padding:16px;
}
.microCrossLabel{display:block;color:var(--muted);font-size:13px;margin-bottom:8px}
.microCrossLinks a{
  display:inline-block;
  margin:0 10px 8px 0;
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:2px;
}

/* Page head */
header.pageHead{
  margin:18px 0 10px;
  padding:14px 16px;
  background:var(--paper);
  border:2px solid var(--line);
  border-radius:6px;
  box-shadow:var(--shadow);
}
header.pageHead h1{
  margin:0;
  font-size:32px;
  line-height:1.1;
  letter-spacing:-.03em;
}
header.pageHead p{
  margin:10px 0 0;
  color:var(--muted);
  max-width:90ch;
}
.about{
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid var(--hair);
}
.about summary{
  cursor:pointer;
  font-weight:800;
}
.aboutBody{margin-top:8px;color:var(--muted)}
.aboutBody p{margin:8px 0}
.metaRow{
  margin-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  color:var(--muted);
  font-size:13px;
}
.metaRow strong{color:var(--ink)}

/* Filter chips */
.filters{
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid var(--hair);
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.filtersLabel{
  color:var(--muted);
  font-size:13px;
  margin-left:6px;
  margin-right:2px;
}
.filtersLabel--block{
  flex-basis:100%;
  margin-left:0;
  margin-top:2px;
}
.chip{
  appearance:none;
  border:2px solid var(--line);
  background:var(--paper);
  color:var(--ink);
  border-radius:999px;
  padding:6px 10px;
  font-weight:800;
  font-size:13px;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.chip--primary{border-width:3px}
.chipCount{
  display:inline-block;
  min-width: 2ch;
  text-align:center;
  padding:2px 7px;
  border-radius:999px;
  border:1px solid var(--hair);
  background:var(--soft);
  font-weight:900;
}
.chip[aria-pressed="true"]{
  background:var(--ink);
  color:var(--paper);
}
.chip[aria-pressed="true"] .chipCount{
  background:var(--paper);
  color:var(--ink);
  border-color:var(--paper);
}
.chip:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}
.chip:active{transform:translateY(1px)}

.filtersGrid{
  flex-basis:100%;
  margin-top:6px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

/* Entries panel */
.panel{
  margin-top:0;
  overflow:visible;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}

/* Entries grid: flex-wrap cards to reduce scroll */
.entries{
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:stretch;
}

.groupHeading{
  width:100%;
  margin:6px 0 -4px;
  padding:8px 10px;
  border:2px solid var(--line);
  border-radius:6px;
  background:var(--paper);
  font-size:14px;
  letter-spacing:.02em;
  text-transform:none;
}

.entry{
  flex: 1 1 320px;
  min-width: 260px;
  max-width: 520px;
  border:2px solid var(--line);
  border-radius:6px;
  background:var(--paper);
  box-shadow:var(--shadow-card);
  padding:12px 12px 10px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
@media (max-width: 560px){
  .entry{min-width: 100%; max-width: 100%;}
}

.entryTop{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.entryDate{margin-left:auto;color:var(--muted);font-size:13px}

.pill{
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  border:1px solid var(--hair);
  border-radius:999px;
  background:var(--soft);
  font-size:12px;
  color:var(--ink);
  line-height:1.1;
}
.pill--id{background:var(--paper);border-color:var(--line);font-weight:800}
.pill--gov{background:var(--paper);border-color:var(--line)}
.pill--opp{background:var(--paper);border-color:var(--line)}
.pill--uturn{background:var(--paper);border-color:var(--line);font-weight:800}
.pill--state{background:var(--paper);border-color:var(--line)}

/* Data-driven accents: tiny “anti-design” notch without gradients */
.entry{position:relative}
.entry::before{
  content:"";
  position:absolute;
  top:-2px;
  left:-2px;
  width:14px;
  height:14px;
  border-left:2px solid var(--line);
  border-top:2px solid var(--line);
  background:var(--paper);
}
.entry[data-uturn="1"]{outline:2px solid var(--ink); outline-offset:2px}
.entry[data-state]{}

.entryMain{margin:0}
.entryMain a{
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:2px;
}
.entryMain a:hover{text-decoration-thickness:3px}

.sources{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:8px 10px;
}
.sources a{
  display:inline-block;
  font-size:13px;
  color:var(--ink);
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:2px;
  max-width:100%;
  overflow-wrap:anywhere;
}

.details summary{
  cursor:pointer;
  font-weight:800;
}
.detailsBody{color:var(--muted)}
.detailsBody p{margin:8px 0}

noscript{color:var(--muted)}

.pageFoot{
  margin-top:18px;
  padding-top:14px;
  border-top:2px solid var(--line);
  font-size:14px;
  color:var(--muted);
}
.pageFoot a{
  color:var(--ink);
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:2px;
}
.pageFoot a:hover{text-decoration-thickness:3px}
