/* Council chamber and relationship status, scoped to the corresponding views. */
.relation-tone {
  --rel-ink: #2c6048;
  --rel-paper: #e8f0e4;
  --rel-edge: #b7cbb8;
  --rel-mark: #579267;
}
.relation-tone[data-relation-tone=working] {
  --rel-ink: #355e59;
  --rel-paper: #e7eeea;
  --rel-edge: #b8ccc4;
  --rel-mark: #5b8b7e;
}
.relation-tone[data-relation-tone=tense] {
  --rel-ink: #765119;
  --rel-paper: #f5ecd7;
  --rel-edge: #ddc89c;
  --rel-mark: #b07d2f;
}
.relation-tone[data-relation-tone=embargo] {
  --rel-ink: #8a402d;
  --rel-paper: #f7e7df;
  --rel-edge: #e4b9a9;
  --rel-mark: #bb6348;
}
.relation-tone[data-relation-tone=boycott] {
  --rel-ink: #8b263d;
  --rel-paper: #f7e1e6;
  --rel-edge: #e6a9b8;
  --rel-mark: #bb4463;
}
[data-theme=dark] .relation-tone {
  --rel-ink: #bde3c3;
  --rel-paper: #2d4138;
  --rel-edge: #4d6c59;
  --rel-mark: #88c69b;
}
[data-theme=dark] .relation-tone[data-relation-tone=working] {
  --rel-ink: #b4d9ce;
  --rel-paper: #2d4041;
  --rel-edge: #4b6665;
  --rel-mark: #85b5a7;
}
[data-theme=dark] .relation-tone[data-relation-tone=tense] {
  --rel-ink: #f1d198;
  --rel-paper: #443d31;
  --rel-edge: #776343;
  --rel-mark: #d7a759;
}
[data-theme=dark] .relation-tone[data-relation-tone=embargo] {
  --rel-ink: #f3b8a4;
  --rel-paper: #473734;
  --rel-edge: #80554a;
  --rel-mark: #e48d75;
}
[data-theme=dark] .relation-tone[data-relation-tone=boycott] {
  --rel-ink: #f6b2c1;
  --rel-paper: #49323c;
  --rel-edge: #845262;
  --rel-mark: #e17e99;
}

.conflict-view { container: conflicts / inline-size; }
.conflict-thresholds { display:flex; flex-wrap:wrap; gap:2px 16px; font-size:13px; margin:12px 0; }
.conflict-thresholds strong { color:var(--text); }
.relation-legend {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding:0;
  margin:12px 0 16px;
  list-style:none;
}
.relation-legend li {
  display:inline-flex;
  align-items:center;
  gap:5px;
  border:1px solid var(--rel-edge);
  border-radius:999px;
  padding:3px 8px 3px 5px;
  background:var(--rel-paper);
  color:var(--rel-ink);
  font-size:10px;
  font-weight:650;
}
.relation-legend small { font-size:10px; font-variant-numeric:tabular-nums; }
.relation-face { width:24px; height:24px; display:block; flex:none; color:var(--rel-ink); }
.relation-face > circle { fill:var(--rel-edge); stroke:currentColor; stroke-width:1.2; }
.relation-face g { fill:currentColor; }
.relation-face g path { fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.relation-legend .relation-face { width:17px; height:17px; }
.conflict-view .conflict-list {
  grid-template-columns:minmax(0,1fr);
  gap:10px;
  margin-top:0;
}
@container conflicts (min-width:560px) {
  .conflict-view .conflict-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
.conflict-view .relation-card, .dispute-status {
  border:1px solid var(--rel-edge);
  border-inline-start:4px solid var(--rel-mark);
  border-radius:10px;
  background:var(--rel-paper);
  padding:12px 13px;
}
.conflict-view .relation-top { align-items:center; }
.relation-pair {
  display:flex;
  gap:6px;
  align-items:center;
  text-align:left;
  font-size:13px;
  font-weight:730;
  line-height:1.3;
  border:0;
  background:none;
  padding:4px 0;
  min-height:32px;
}
.relation-pair span { color:var(--rel-ink); font-size:14px; }
.relation-pair:hover { color:var(--rel-ink); text-decoration:underline; text-underline-offset:3px; }
.conflict-view .relation-top b, .dispute-status b { color:var(--rel-ink); font:400 28px/1 var(--display); white-space:nowrap; }
.conflict-view .relation-top b small, .dispute-status b small { font:11px var(--font); color:var(--rel-ink); margin-left:3px; }
.relation-tone .relation-track { height:6px; margin:9px 0 10px; border-radius:999px; background:var(--rel-edge); }
.relation-tone .relation-track > span { background:var(--rel-mark); border-radius:inherit; }
.relation-tone .relation-track > i { background:var(--rel-ink); top:-2px; opacity:.65; }
.relation-state, .relation-bottom > .relation-state {
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:11px;
  line-height:1.3;
  color:var(--rel-ink);
}
.relation-bottom .relation-mediate {
  background:var(--panel);
  border-color:var(--rel-edge);
  font-size:11px;
  padding:5px 8px;
  min-height:36px;
}
.relation-bottom .relation-mediate:enabled:hover { border-color:var(--rel-ink); }
.relation-bottom .relation-mediate:disabled { color:var(--muted); opacity:.75; }
.conflict-view .relation-change { top:30px; color:var(--rel-ink); background:var(--rel-paper); border-radius:4px; }
.dispute-status {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:7px 10px;
  margin:16px 0;
}
.dispute-status .relation-state { font-size:13px; }
.dispute-status .relation-track { grid-column:1 / -1; margin:2px 0; }

.council-view {
  container:council / inline-size;
  --seat-ink:#2e6249;
  --seat-paper:#e6efe4;
  --seat-meter:#639477;
  --hold-ink:#84472c;
  --hold-paper:#f6e8d9;
  --hold-meter:#bc855b;
}
[data-theme=dark] .council-view {
  --seat-ink:#bde5c9;
  --seat-paper:#304a3b;
  --seat-meter:#87bf9a;
  --hold-ink:#f4c5a3;
  --hold-paper:#503b35;
  --hold-meter:#d5a27f;
}
.council-chamber {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px 24px;
  padding:22px 24px;
  border:1px solid #456258;
  border-radius:13px;
  color:#f4eee0;
  background:radial-gradient(ellipse at 89% 55%,#486a5e 0%,transparent 61%), #273e39;
}
.council-chamber::after {
  content:"";
  position:absolute;
  z-index:-1;
  inset:-40% -10% -40% 38%;
  transform:rotate(-18deg);
  background:repeating-radial-gradient(ellipse at 60% 50%,transparent 0 21px,#c0d9c518 22px 23px);
  pointer-events:none;
}
.council-kicker {
  display:flex;
  align-items:center;
  gap:7px;
  color:#e1c998;
  font-size:11px;
  font-weight:650;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.council-intro h2 { font:400 clamp(29px,3.5vw,45px)/1.06 var(--display); margin:8px 0 11px; }
.council-intro p { color:#d4ded5; font-size:12px; line-height:1.45; margin:0; }
.council-intro p strong { color:#f4eee0; font-size:14px; }
.council-count {
  display:grid;
  justify-items:start;
  align-content:center;
  padding:4px 0 4px 18px;
  border-inline-start:1px solid #d6e2d44a;
}
.council-count > span { font-size:11px; color:#deeadf; }
.council-count > strong { font:400 43px/.95 var(--display); color:#fff6e7; margin:3px 0 8px; }
.council-count > strong small { font:600 13px var(--font); color:#e2e7d9; }
.council-seats { display:flex; gap:5px; }
.council-seats span {
  display:grid;
  place-items:center;
  width:23px;
  height:23px;
  border:1px solid #ffffff48;
  border-radius:5px;
  background:#223a35;
  color:#f0cfbb;
  font-size:12px;
  font-weight:700;
}
.council-seats .is-yes { color:#253d2f; background:#cae0c2; border-color:#cae0c2; }
.council-vote-link {
  background:none;
  border:0;
  color:#f1dfb4;
  font-size:11px;
  font-weight:650;
  text-align:left;
  padding:3px 0 0;
  min-height:32px;
}
.council-vote-link:hover { text-decoration:underline; text-underline-offset:3px; }
.council-section-heading {
  display:flex;
  flex-wrap:wrap;
  gap:4px 12px;
  justify-content:space-between;
  align-items:baseline;
  margin:20px 0 9px;
}
.council-section-heading h3 { margin:0; font:400 25px/1.15 var(--display); }
.council-section-heading > span { color:var(--muted); font-size:11px; }
.delegate-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.delegate-card {
  --delegate-ink:var(--seat-ink);
  --delegate-paper:var(--seat-paper);
  --delegate-meter:var(--seat-meter);
  display:flex;
  flex-direction:column;
  min-width:0;
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  background:var(--panel);
  transition:border-color .2s, box-shadow .2s;
}
.delegate-card[data-stance=no] {
  --delegate-ink:var(--hold-ink);
  --delegate-paper:var(--hold-paper);
  --delegate-meter:var(--hold-meter);
}
.delegate-card:hover, .delegate-card:focus-within { border-color:var(--delegate-meter); }
.delegate-art { position:relative; height:122px; overflow:hidden; border-bottom:1px solid var(--line); }
.delegate-portrait { display:block; width:100%; height:100%; }
[data-theme=dark] .delegate-portrait { filter:brightness(.8) saturate(.88); }
.delegate-stance {
  position:absolute;
  bottom:7px;
  left:8px;
  display:inline-flex;
  align-items:center;
  gap:4px;
  border-radius:999px;
  padding:4px 8px;
  background:var(--delegate-paper);
  color:var(--delegate-ink);
  font-size:10px;
  font-weight:750;
  line-height:1.25;
  white-space:nowrap;
}
.delegate-body {
  flex:1;
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:10px 12px 5px;
}
.delegate-body h3 { margin:0; font:400 25px/1.12 var(--display); overflow-wrap:anywhere; }
.delegate-name { color:var(--muted); margin-top:3px; font-size:12px; font-weight:630; }
.delegate-trust { display:flex; align-items:baseline; justify-content:space-between; gap:5px; font-size:11px; margin:8px 0 3px; }
.delegate-trust strong { font-size:14px; color:var(--delegate-ink); font-variant-numeric:tabular-nums; }
.delegate-trust small { margin-left:1px; font-size:10px; color:var(--muted); font-weight:500; }
.delegate-trust-track { height:4px; border-radius:8px; background:var(--line); }
.delegate-trust-track > span { display:block; height:100%; border-radius:inherit; background:var(--delegate-meter); }
.delegate-reason { margin:6px 0 0; font-size:11px; line-height:1.35; color:var(--delegate-ink); }
.delegate-veto { margin:6px 0 0; font-size:10px; font-weight:700; color:var(--gold); }
.delegate-contact {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  background:transparent;
  border:0;
  color:var(--text);
  padding:0 0 0;
  width:100%;
  min-height:36px;
  text-align:left;
  font-size:12px;
  font-weight:700;
}
.delegate-body .delegate-contact { margin-top:auto; }
.delegate-contact > span { color:var(--gold); font-size:15px; }
.delegate-contact:hover { color:var(--delegate-ink,var(--green)); text-decoration:underline; text-underline-offset:3px; }
.council-agenda-grid, .council-advisers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.council-agenda-item { display:flex; flex-direction:column; padding:10px 12px 4px; border:1px solid var(--line); border-radius:9px; background:var(--panel2); }
.council-agenda-label { display:flex; align-items:center; gap:6px; font-size:10px; color:var(--gold); font-weight:700; }
.council-agenda-item h3 { font-size:14px; margin:4px 0 2px; }
.council-agenda-item p { flex:1; color:var(--muted); font-size:11px; line-height:1.45; margin:0 0 7px; }
.council-chapters { display:flex; gap:5px; padding:0; margin:0; list-style:none; }
.council-chapters li { border:1px solid var(--line); border-radius:4px; min-width:32px; padding:2px 4px; text-align:center; color:var(--muted); font-size:10px; }
.council-chapters .is-read { background:var(--seat-paper); color:var(--seat-ink); border-color:var(--seat-meter); }
.council-advisers { margin-top:14px; }
.council-advisers > div { display:flex; align-items:flex-start; gap:8px; border-top:1px solid var(--line); padding:9px 0 0; }
.council-advisers .ui-icon { color:var(--gold); flex:none; }
.council-advisers p { margin:0; font-size:12px; }
.council-advisers small { display:block; color:var(--muted); font-size:11px; }

@container council (min-width:570px) {
  .delegate-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .delegate-card { grid-column:span 2; }
  .delegate-card:nth-child(4) { grid-column:2 / span 2; }
}
@container council (min-width:830px) {
  .delegate-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .delegate-card, .delegate-card:nth-child(4) { grid-column:auto; }
}
@container council (max-width:420px) {
  .council-chamber { padding:15px; grid-template-columns:1fr; gap:12px; }
  .council-count { grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:5px 8px; padding:10px 0 0; border:0; border-top:1px solid #d6e2d44a; }
  .council-count > strong { justify-self:end; font-size:33px; margin:0; }
  .council-vote-link { justify-self:end; font-size:10px; }
  .delegate-grid, .council-advisers { grid-template-columns:minmax(0,1fr); }
  .delegate-card { display:grid; grid-template-columns:96px minmax(0,1fr); }
  .delegate-art { height:auto; min-height:122px; border:0; border-inline-end:1px solid var(--line); }
  .delegate-portrait { position:absolute; inset:0; }
  .delegate-stance { left:5px; right:5px; justify-content:center; padding-inline:3px; font-size:9px; }
}
@container council (max-width:345px) {
  .council-agenda-grid { grid-template-columns:minmax(0,1fr); }
}
@container council (max-width:310px) {
  .council-vote-link { grid-column:1 / -1; justify-self:start; }
}
body:has(.council-view), body:has(.conflict-view) { min-width:0; }
@media(max-width:700px) {
  .content-view.council-view, .content-view.conflict-view { padding:13px; }
}
@media(max-width:370px) {
  body:has(:is(.council-view,.conflict-view)) .masthead .brand .flag { width:46px; }
  body:has(:is(.council-view,.conflict-view)) .masthead .brand-name { font-size:24px; }
}
@media(prefers-reduced-motion:reduce) {
  .delegate-card, .relation-tone .relation-track > span { transition:none; }
}
