:root{
  --ink:#1c2b26;
  --line:#d9d2bd;
  --muted:#6b6559;
  --text-primary: #1a1a1a;
  --text-secondary: #6b6b66;
  --border: #d8d6cd;
}
body{
  font-family:'Iowan Old Style','Georgia',serif;
  color:var(--ink);
}
.site-header {
  background-color: #ffea97;
  padding: 10px 10px 3px 10px;
  margin: -10px;
}
.site-menu {
  float: right;
  margin: 1px;
  font-family: 'Old Standard TT', Georgia, 'Times New Roman', serif;
  font-size: 12px;
}
.site-logo {
  height: 40px;
}
.site-content {
  padding: 5px;
}
.site-footer {
  background-color: #ffea97;
  padding: 1px;
  margin: -10px;
  font-size: 8px;
  font-style: italic;
  text-align: center;
}
header{
  padding:30px 10px 10px;
  max-width:1280px;
  margin:0 auto;
}
.eyebrow{
  font-family:'Courier New',monospace;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin:0 0 6px;
}
.stat-row{
  text-align: right;
  font-size: smaller; 
  color: var(--muted);
}
h1{
  font-size:clamp(28px,4vw,42px);
  margin:0 0 8px;
  font-weight:600;
  letter-spacing:-0.01em;
}
.subtitle{
  color:var(--muted);
  font-size:16px;
  /* max-width:640px; */
  line-height:1.5;
  margin:0;
}
main {
  max-width:1280px;
  margin:0 auto;
  padding:10px 10px 0px 10px;
}
section{margin-bottom:34px;}
.section-title{
  font-family:'Courier New',monospace;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
  margin:0 0 10px;
  display:flex;
  align-items:center;
  gap:10px;
}
.section-title::after{
  content:"";
  flex:1;
  height:1px;
  background:var(--line);
}
footer{
  max-width:1280px;
  margin:0 auto;
  padding:10px 10px 30px;
  color:var(--muted);
  font-size:10px;
  font-style: italic;
}
.explainer {
  font-size: 15px;
  color: var(--ink);
  padding: 15px;
}
.chart-wrap {
  padding-top: 10px;
  position: relative;
  justify-content: center;
  width: 100%;
}
svg { width: 100%; height: auto; display: block; }
#tooltip {
  position: absolute;
  pointer-events: none;
  display: none;
  background: #ffffff;
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 6px 10px;
  font-size: 12px;
  color: var(--text-primary);
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
  white-space: nowrap;
  z-index: 10;
}
.legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 20px;
  font-size: 13px;
  color: var(--text-secondary);
  padding-bottom: 15px;
}
.legend .item {
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border:0.25px solid;
  display: inline-block;
  flex-shrink: 0;
}
circle.seat {
  stroke-width: 0.5;
  cursor: pointer;
  transition: opacity 0.15s;
}
circle.seat:hover { stroke-width: 1; }
.page-note {
  font-size: 10px;
  margin-top: -30px;
  color: #6b6559;
}
.table-seats { border: 1px solid #ffffff; }
.text-white   { font-size: 11px; text-align: center; color: #ffffff; }
.text-black   { font-size: 11px; text-align: center; color: #000000; }
.text-letter  { font-size: 12px; text-align: center; color: #6b6559; vertical-align: top; }
.text-meaning { font-size: 12px; color: #6b6559; vertical-align: top; }
.party-bfp    { background-color: #7F77DD; }
.party-ubjp   { background-color: #1D9E75; }
.party-bgc    { background-color: #D85A30; }
.party-siap   { background-color: #D4537E; }
.party-nmip   { background-color: #f3f3f3; }
.party-ind    { background-color: #5F5E5A; }
.party-raayat { background-color: #639922; }
.party-itihad { background-color: #BA7517; }
.party-bpp    { background-color: #E24B4A; }
.party-probm  { background-color: #378ADD; }
.party-none   { background-color: #D9D7CC; }