.iv-simulator-page {margin:0;background:var(--iv-page-bg);color:var(--iv-page-text)}
.iv-simulator-page *, .iv-simulator-page *::before, .iv-simulator-page *::after {box-sizing:border-box}
.iv-simulator-page .iv-site-header {position:relative!important;top:auto!important}
.iv-simulator {padding:40px 0 60px}
.iv-simulator h1 {max-width:950px;margin-bottom:20px}
.iv-simulator .iv-simulator-intro {max-width:720px;font-size:20px;line-height:1.5}
.iv-simulator-section {margin-top:48px;border-top:1px solid var(--iv-rule);padding-top:32px}
.iv-simulator-toolbar,.iv-simulator-modes,.iv-simulator-actions {display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.iv-simulator-toolbar {justify-content:space-between;margin:28px 0}
.iv-simulator :where(button,select,input[type=number]) {font-family:'JetBrains Mono',monospace;font-size:13px;min-height:44px;border:1px solid var(--iv-rule);border-radius:0;color:inherit;background:transparent;padding:10px 14px}
.iv-simulator button {cursor:pointer}
.iv-simulator button[aria-pressed=true],.iv-simulator .iv-simulator-primary {background:var(--iv-orange);color:var(--iv-dark);border-color:var(--iv-orange)}
.iv-simulator button:disabled {opacity:.5;cursor:default}
.iv-simulator .iv-simulator-select {display:flex;gap:12px;align-items:center;font:13px 'JetBrains Mono',monospace}
.iv-simulator-controls {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px}
.iv-simulator-control {min-width:0}
.iv-simulator-control label {display:block;font-size:16px;margin-bottom:10px}
.iv-simulator-inputs {display:flex;align-items:center;gap:16px}
.iv-simulator-inputs input[type=range] {width:100%;min-width:0;min-height:44px;accent-color:var(--iv-orange);cursor:pointer}
.iv-simulator-inputs input[type=number] {width:88px;flex-shrink:0}
.iv-simulator-directions {display:flex;justify-content:space-between;font:12.5px 'JetBrains Mono',monospace}
.iv-simulator-directions span:first-child {color:color-mix(in srgb,var(--iv-data-blue) 65%,var(--iv-page-text))}
.iv-simulator-directions span:last-child {color:color-mix(in srgb,var(--iv-data-red) 65%,var(--iv-page-text))}
.iv-simulator-active {display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.iv-simulator-active button {font-size:12.5px;min-height:36px}
.iv-simulator-message {padding:12px 0;line-height:1.5}
.iv-simulator-message:empty {display:none}
.iv-simulator-grid {display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:48px;align-items:start;margin-top:26px}
.iv-simulator-map {display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:5px;padding:8px 0 20px}
.iv-simulator-map button {padding:5px 0;min-height:44px;aspect-ratio:1;font-size:12px;border:0;background:var(--iv-data-neutral);color:var(--iv-data-dark);position:relative}
.iv-simulator-map button[data-party=""] {background:var(--iv-data-neutral);color:var(--iv-data-dark)}
.iv-simulator-map button[data-party=D] {background:var(--iv-data-blue);color:var(--iv-data-paper)}
.iv-simulator-map button[data-party=R] {background:var(--iv-data-red);color:var(--iv-data-paper)}
.iv-simulator-map button {transition:background-color 650ms cubic-bezier(.333333,1,.666667,1),color 650ms cubic-bezier(.333333,1,.666667,1)}
.iv-simulator-map button span {display:block;font-size:9px;margin-top:3px}
.iv-simulator-national {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:16px 0 32px}
.iv-simulator-national strong {display:block;font:clamp(26px,4vw,42px) 'JetBrains Mono',monospace;font-weight:400;letter-spacing:-2px}
.iv-simulator-national span {font-size:14px}
.iv-simulator-result {border-bottom:1px solid var(--iv-rule);padding:14px 0}
.iv-simulator-result h3 {font-size:19px;margin:0 0 12px}
.iv-simulator-result p {margin:8px 0;line-height:1.5;font-size:14px}
.iv-simulator-comparison {display:grid;grid-template-columns:1fr 1fr;gap:12px;font:12px 'JetBrains Mono',monospace;line-height:1.6}
.iv-simulator-comparison b {display:block;font-weight:500;font-size:12.5px;margin-bottom:5px}
.iv-simulator-bars {display:flex;height:6px;margin-top:12px;background:var(--iv-data-neutral)}
.iv-simulator-bars .iv-simulator-dem {background:var(--iv-data-blue)}
.iv-simulator-bars .iv-simulator-rep {background:var(--iv-data-red)}
.iv-simulator-dem {color:color-mix(in srgb,var(--iv-data-blue) 65%,var(--iv-page-text))}
.iv-simulator-rep {color:color-mix(in srgb,var(--iv-data-red) 65%,var(--iv-page-text))}
.iv-simulator-table-wrap {overflow:auto;margin-top:24px}
.iv-simulator table {width:100%;border-collapse:collapse;font:12px 'JetBrains Mono',monospace;text-align:left}
.iv-simulator th,.iv-simulator td {padding:14px 10px;border-bottom:1px solid var(--iv-rule);white-space:nowrap}
.iv-simulator th button {font-size:12px;padding:0;min-height:36px;border:0;text-align:left}
.iv-simulator td:first-child {white-space:normal;min-width:130px}
.iv-simulator .iv-simulator-assumptions {max-width:800px;font-size:14px;line-height:1.6;margin-top:22px}
.iv-simulator-empty {padding:24px 0}
.iv-simulator-sr {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.iv-simulator [hidden] {display:none!important}
@media(max-width:800px){.iv-simulator-grid{grid-template-columns:1fr;gap:24px}.iv-simulator-controls{gap:24px}.iv-simulator-map{max-width:650px}.iv-simulator-map button{aspect-ratio:auto}.iv-simulator-national{gap:12px}}
@media(max-width:480px){.iv-simulator{padding-top:28px}.iv-simulator .iv-simulator-intro{font-size:17px}.iv-simulator-controls{grid-template-columns:1fr}.iv-simulator-toolbar{align-items:flex-start}.iv-simulator-select{flex-wrap:wrap}.iv-simulator-map{gap:3px}.iv-simulator-map button{font-size:10px;min-height:38px}.iv-simulator-map button span{font-size:8px}.iv-simulator-comparison{font-size:12.5px}.iv-simulator-section{margin-top:32px;padding-top:24px}}

/* Keep the rendered values and bar elements while the worker recalculates. */
.iv-simulator-bars > span {transition:width 650ms cubic-bezier(.333333,1,.666667,1)}
.iv-simulator td {transition:color 650ms cubic-bezier(.333333,1,.666667,1)}
.iv-simulator :is(strong,td,.iv-simulator-comparison) {font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:reduce) {
  .iv-simulator-map button,.iv-simulator-bars > span,.iv-simulator td {transition:none}
}

/* Seat composition and paired margin beeswarms. */
.iv-simulator-seat-table {table-layout:fixed;min-width:760px}
.iv-simulator .iv-simulator-seat-table th:first-child {width:20%;white-space:normal;font-weight:500}
.iv-simulator .iv-simulator-seat-table td {vertical-align:top;white-space:normal}
.iv-simulator-seat-counts {display:block;min-height:30px;font-size:12.5px;line-height:1.6}
.iv-simulator-seat-dots {display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:3px}
.iv-simulator-seat-dots i {width:100%;aspect-ratio:1;border-radius:50%;background:var(--iv-data-neutral);transition:background-color 650ms cubic-bezier(.333333,1,.666667,1)}
.iv-simulator [data-party=D] {--iv-dot-color:var(--iv-data-blue)}
.iv-simulator [data-party=R] {--iv-dot-color:var(--iv-data-red)}
.iv-simulator [data-party=I],.iv-simulator [data-party=Tie],.iv-simulator [data-party=Unknown] {--iv-dot-color:var(--iv-data-neutral)}
.iv-simulator-seat-dots i {background:var(--iv-dot-color)}
.iv-simulator-seat-dots i[data-party=Unknown] {border:1px dotted var(--iv-page-text);background:transparent}
.iv-simulator-chart-legend {display:flex;flex-wrap:wrap;gap:20px;margin:20px 0;font:12px 'JetBrains Mono',monospace}
.iv-simulator-chart-legend span::before {content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--iv-dot-color);margin-right:7px}
.iv-simulator-swarm-section {margin:32px 0;border-bottom:1px solid var(--iv-rule);padding-bottom:24px}
.iv-simulator-swarm-section h3 {font-size:21px;margin:0 0 30px}
.iv-simulator-margin-axis {position:relative;height:28px;margin:0 7px;font:12.5px 'JetBrains Mono',monospace}
.iv-simulator-margin-axis span {position:absolute;transform:translateX(-50%)}
.iv-simulator-margin-axis span:first-child {transform:none}
.iv-simulator-margin-axis span:last-child {transform:translateX(-100%)}
.iv-simulator-swarm-row h4 {font:12.5px 'JetBrains Mono',monospace;margin:12px 0 6px}
.iv-simulator-swarm-plot {position:relative;min-height:40px;background:linear-gradient(to right,transparent calc(50% - .5px),var(--iv-rule) calc(50% - .5px),var(--iv-rule) calc(50% + .5px),transparent calc(50% + .5px))}
.iv-simulator button.iv-simulator-margin-dot {position:absolute;min-height:0;width:10px;height:10px;padding:0;border:1.5px solid var(--iv-dot-color);border-radius:50%;background:var(--iv-dot-color);transform:translate(-50%,-50%);transition:left 650ms cubic-bezier(.333333,1,.666667,1),top 650ms cubic-bezier(.333333,1,.666667,1),background-color 650ms ease,border-color 650ms ease}
.iv-simulator button.iv-simulator-margin-dot[data-baseline=true] {background:var(--iv-page-bg)}
.iv-simulator-margin-dot:hover,.iv-simulator-margin-dot:focus-visible {z-index:2;}
.iv-simulator-fixed {display:flex;gap:16px;align-items:flex-start;margin-top:20px;font:12.5px 'JetBrains Mono',monospace}
.iv-simulator-fixed>span {flex-shrink:0;max-width:110px}
.iv-simulator-fixed-dots {display:flex;gap:6px;flex-wrap:wrap}
.iv-simulator-fixed-dots button.iv-simulator-margin-dot {position:relative;transform:none;flex-shrink:0}
.iv-simulator-chart-tooltip {position:fixed;max-width:min(320px,calc(100vw - 16px));padding:12px 14px;background:var(--iv-data-dark,#19212b);color:var(--iv-data-paper,#fff);font:12px/1.6 'JetBrains Mono',monospace;z-index:10000;pointer-events:none}
@media(prefers-reduced-motion:reduce){.iv-simulator-seat-dots i,.iv-simulator button.iv-simulator-margin-dot{transition:none}}

.iv-simulator-flip-key {font:12.5px/1.6 'JetBrains Mono',monospace;max-width:620px;margin:14px 0}
.iv-simulator-map button[data-flipped=true]::after {content:'';position:absolute;inset:2px;border:2px solid var(--iv-data-paper);pointer-events:none;animation:iv-simulator-flip-in 900ms ease-out both}
@keyframes iv-simulator-flip-in {from {opacity:.25;transform:scale(.8)} to {opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.iv-simulator-map button[data-flipped=true]::after{animation:none}}

.iv-simulator-ballot-heading {display:flex;align-items:baseline;gap:24px;flex-wrap:wrap;margin-top:24px}
.iv-simulator-ballot-heading output {font:32px 'JetBrains Mono',monospace;font-variant-numeric:tabular-nums}
#iv-sim-national-change {font-weight:600}

.iv-simulator .iv-simulator-demographic-picker {display:none}
@media(max-width:600px){
  .iv-simulator .iv-simulator-demographic-picker {display:flex;align-items:flex-start;flex-direction:column;gap:8px;margin:20px 0}
  .iv-simulator-demographic-picker select {width:100%;max-width:100%;min-width:0}
  #iv-sim-demographic-controls {grid-template-columns:1fr}
  #iv-sim-demographic-controls > [data-selected=false] {display:none}
}

.iv-simulator-ballot-sticky {position:fixed;top:0;left:0;right:0;z-index:90;background:var(--iv-page-bg);border-bottom:1px solid var(--iv-rule);padding:10px 0;box-shadow:0 3px 12px #00000012}
.iv-simulator-sticky-inner {display:grid;grid-template-columns:auto minmax(200px,1fr);gap:32px;align-items:center}
.iv-simulator-sticky-title {display:flex;align-items:baseline;gap:18px;white-space:nowrap}
.iv-simulator-sticky-title strong {font-weight:500}
.iv-simulator-sticky-title span {font:23px 'JetBrains Mono',monospace;font-variant-numeric:tabular-nums}
.iv-simulator-ballot-sticky .iv-simulator-control>label {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.iv-simulator-ballot-sticky .iv-simulator-directions {display:none}
@media(max-width:600px){
  .iv-simulator-sticky-inner {grid-template-columns:1fr;gap:2px}
  .iv-simulator-sticky-title {justify-content:space-between;font-size:14px}
  .iv-simulator-sticky-title span {font-size:19px}
  .iv-simulator-ballot-sticky {padding:8px 0}
}

.iv-simulator-forecast-link {display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--iv-page-text);font:13px 'JetBrains Mono',monospace;text-decoration:none}
.iv-simulator-forecast-link span {color:var(--iv-orange);font-size:19px}
.iv-simulator-forecast-link:hover {text-decoration:underline;text-underline-offset:4px}

/* Keep the ballot value, slider and comparison in one compact column. */
#iv-sim-ballot-anchor {max-width:820px}
#iv-sim-national-control {grid-template-columns:minmax(0,1fr)}
.iv-simulator-ballot-value-row {display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:24px 0 8px;font:13px 'JetBrains Mono',monospace}
.iv-simulator-ballot-value-row output {font-size:28px;font-variant-numeric:tabular-nums}
#iv-sim-national-control .iv-simulator-control>label {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.iv-simulator #iv-sim-national-change {margin-top:16px;font-size:13px;font-weight:400}
.iv-simulator-active:empty {display:none}
.iv-simulator-actions {margin-top:20px}

.iv-simulator-seat-color {margin-top:16px}
.iv-simulator .iv-simulator-office-summary {table-layout:fixed;font-size:12.5px;margin-bottom:14px}
.iv-simulator .iv-simulator-office-summary th,.iv-simulator .iv-simulator-office-summary td {padding:7px 4px;white-space:normal;min-width:0;vertical-align:top;text-align:left;border:0;line-height:1.5;overflow-wrap:anywhere}
.iv-simulator-office-summary th {font-weight:500}
.iv-simulator-office-summary th:first-child {width:26%;color:var(--iv-page-text)}
.iv-simulator-office-summary thead th {color:var(--iv-muted)}
.iv-simulator-race-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(32px,1fr));gap:4px;margin:12px 0 6px}
.iv-simulator button.iv-simulator-race-tile {position:relative;min-height:32px;padding:5px 1px;font:10px 'JetBrains Mono',monospace;background:color-mix(in srgb,var(--iv-dot-color) var(--iv-seat-strength),var(--iv-page-bg));color:var(--iv-page-text);border:1px solid transparent;transition:background-color 650ms ease,color 650ms ease;overflow:hidden}
.iv-simulator button.iv-simulator-race-tile[data-strong=true]:is([data-party=D],[data-party=R]) {color:var(--iv-data-paper)}
.iv-simulator button.iv-simulator-race-tile[data-flipped=true] {box-shadow:inset 0 0 0 1px var(--iv-data-paper);border-color:var(--iv-page-text)}
.iv-simulator-race-tile[data-flipped=true]::after {content:'↔';position:absolute;top:0;right:1px;font-size:8px;line-height:9px}
.iv-simulator button.iv-simulator-race-tile[data-party=Unknown] {background:transparent;border:1px dashed var(--iv-rule)}
.iv-simulator button.iv-simulator-race-tile:focus-visible {z-index:2}
@media(prefers-reduced-motion:reduce){.iv-simulator button.iv-simulator-race-tile{transition:none}}
.iv-simulator .iv-simulator-office-summary tbody tr:nth-child(n) {background:transparent}

.iv-simulator-office-tabs {display:flex;gap:6px;margin-top:16px}
.iv-simulator-office-tabs button[aria-selected=true] {background:var(--iv-orange);border-color:var(--iv-orange);color:var(--iv-dark)}
.iv-simulator-race-grid {grid-template-columns:repeat(auto-fill,minmax(26px,1fr));gap:3px}
.iv-simulator button.iv-simulator-race-tile {min-height:26px;padding:3px 0}
.iv-simulator-ballot-squares {display:grid;grid-template-columns:repeat(21,minmax(0,1fr));gap:3px;flex:1;min-width:0}
.iv-simulator .iv-simulator-ballot-squares button {min-height:0;width:100%;aspect-ratio:1;padding:0;border:0;background:var(--iv-dot-color);transition:background-color 250ms ease}
.iv-simulator .iv-simulator-ballot-squares button[aria-pressed=true] {background:var(--iv-dot-color);box-shadow:inset 0 0 0 2px var(--iv-data-paper);outline:1px solid var(--iv-page-text);outline-offset:1px}
@media(max-width:600px){
  #iv-sim-national-control .iv-simulator-inputs,#iv-sim-sticky-control .iv-simulator-inputs {flex-wrap:wrap;gap:10px}
  .iv-simulator-ballot-squares {flex-basis:100%;gap:2px}
  #iv-sim-national-control input[type=number],#iv-sim-sticky-control input[type=number] {margin-left:auto;min-height:36px;padding:6px 10px}
}
@media(prefers-reduced-motion:reduce){.iv-simulator .iv-simulator-ballot-squares button{transition:none}}

.iv-simulator-office-tabs {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-bottom:1px solid var(--iv-rule)}
.iv-simulator-office-tabs button {text-align:left;padding:12px 10px;border:0;border-bottom:3px solid transparent;background:transparent;min-width:0}
.iv-simulator-office-tabs button[aria-selected=true] {background:transparent;color:var(--iv-page-text);border-bottom-color:var(--iv-orange)}
.iv-simulator-office-name {display:block;font:500 15px 'IBM Plex Sans',sans-serif;margin-bottom:7px}
.iv-simulator-office-value {display:block;font:12.5px 'JetBrains Mono',monospace;white-space:normal;line-height:1.5}
.iv-simulator-office-tabs button:hover {background:color-mix(in srgb,var(--iv-page-text) 5%,transparent)}

.iv-simulator-ballot-squares {position:relative;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:24px;overflow-x:auto;scrollbar-width:thin;padding:3px;gap:3px;overscroll-behavior-x:contain}

/* All quarter-point segments fit the container; the bar never scrolls. */
#iv-sim-ballot-anchor {max-width:none}
.iv-simulator-ballot-squares {display:grid;grid-template-columns:repeat(97,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;width:100%;flex-basis:100%;overflow:visible;padding:0;gap:1px}
.iv-simulator .iv-simulator-ballot-squares button {aspect-ratio:auto;height:26px;min-width:0}
#iv-sim-national-control .iv-simulator-inputs,#iv-sim-sticky-control .iv-simulator-inputs {display:flex;flex-wrap:wrap;gap:10px}
#iv-sim-national-control input[type=number],#iv-sim-sticky-control input[type=number] {margin-left:auto;min-height:36px;padding:6px 10px}
.iv-simulator-sticky-inner {display:block;max-width:none;width:100%;padding-inline:16px}
.iv-simulator-sticky-title {justify-content:space-between;margin-bottom:8px}
.iv-simulator .iv-simulator-ballot-squares button[aria-pressed=true] {outline:none;box-shadow:inset 0 0 0 1px var(--iv-data-paper)}
.iv-simulator-sticky-title {min-height:36px;padding-right:100px;align-items:center}
#iv-sim-sticky-control input[type=number] {position:absolute;right:16px;top:10px}

.iv-simulator-race-grid {gap:2px;margin-top:10px}
.iv-simulator button.iv-simulator-race-tile {min-height:18px;height:18px;aspect-ratio:auto;padding:1px 0;font-size:9px;line-height:14px}
#iv-sim-government-results .iv-simulator-result {padding-top:16px}

.iv-simulator-workspace-controls {display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:48px;align-items:center}
@media(max-width:800px){.iv-simulator-workspace-controls{display:flex;flex-wrap:wrap;gap:12px 24px}}

.iv-simulator-ballot-squares {grid-template-columns:repeat(var(--iv-segment-count,97),minmax(0,1fr))}
:is(#iv-sim-state-controls,#iv-sim-demographic-controls) .iv-simulator-inputs {flex-wrap:wrap;gap:10px}
:is(#iv-sim-state-controls,#iv-sim-demographic-controls) input[type=number] {margin-left:auto;min-height:36px;padding:6px 10px}

/* One scenario grid per chamber, with no comparison columns or mobile overflow. */
.iv-simulator .iv-simulator-seat-table {min-width:0}
.iv-simulator .iv-simulator-seat-table th:first-child {width:24%}
.iv-simulator .iv-simulator-seat-table td {padding:14px 10px}
.iv-simulator-seat-table .iv-simulator-race-grid {margin:4px 0 0}
@media(max-width:600px){
  .iv-simulator-seat-table thead {display:none}
  .iv-simulator-seat-table tbody tr {display:grid;grid-template-columns:minmax(0,1fr);padding:12px 0}
  .iv-simulator .iv-simulator-seat-table th:first-child {width:auto;text-align:left;border:0;padding:6px 0}
  .iv-simulator .iv-simulator-seat-table td {border:0;padding:6px 0}
}
.iv-simulator .iv-simulator-seat-table thead th:last-child {text-align:left}

.iv-simulator .iv-simulator-government-summary {table-layout:fixed;font:12px/1.5 'JetBrains Mono',monospace}
.iv-simulator .iv-simulator-government-summary th,.iv-simulator .iv-simulator-government-summary td {padding:6px 4px;border:0;text-align:left;white-space:normal;font-weight:400}
.iv-simulator-government-summary th:first-child {width:42%}
.iv-simulator-government-summary thead th {font-size:10px;opacity:.7}
.iv-simulator .iv-simulator-government-summary tbody tr:nth-child(n) {background:transparent}
.iv-simulator-government-summary th[data-party]::before {content:'';display:inline-block;width:4px;height:12px;vertical-align:-1px;margin-right:8px;background:var(--iv-dot-color,var(--iv-data-neutral))}
#iv-sim-government-results .iv-simulator-result {padding:16px 0 12px}
#iv-sim-government-results h3 {margin-bottom:8px}

/* Compact ballot entry and persistent national seat totals. */
.iv-simulator-ballot-value-row {margin:12px 0 8px}
.iv-simulator-ballot-entry {display:flex;align-items:center;gap:14px}
.iv-simulator-ballot-entry output {font-size:24px}
.iv-simulator #iv-sim-national-number input {width:88px;min-height:36px;padding:6px 10px}
#iv-sim-national-control .iv-simulator-ballot-squares button {height:20px}
.iv-simulator-ballot-footer {display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px 24px;margin-top:12px}
.iv-simulator .iv-simulator-ballot-footer #iv-sim-national-change {margin:0}
.iv-simulator-ballot-footer .iv-simulator-actions {margin:0}
.iv-simulator-ballot-sticky {padding:8px 0}
.iv-simulator-sticky-inner {display:flex;align-items:center;justify-content:space-between;gap:24px}
.iv-simulator-sticky-title {padding:0;margin:0;min-height:0;justify-content:flex-start;gap:18px}
.iv-simulator-sticky-title strong {font-size:12px}
.iv-simulator-sticky-title span {font-size:20px}
#iv-sim-sticky-control .iv-simulator-control {display:flex;align-items:center;gap:12px}
#iv-sim-sticky-control .iv-simulator-control>label {position:static;width:auto;height:auto;clip:auto;overflow:visible;font:12px 'JetBrains Mono',monospace;margin:0}
#iv-sim-sticky-control input[type=number] {position:static;margin:0;min-height:36px;width:88px}
@media(max-width:600px){
  .iv-simulator-sticky-inner {gap:8px}
  .iv-simulator-sticky-title {display:grid;grid-template-columns:auto auto;gap:2px 12px}
  .iv-simulator-sticky-title strong {grid-column:1/-1;font-size:10px}
  .iv-simulator-sticky-title span {font-size:16px}
  #iv-sim-sticky-control .iv-simulator-control {display:block}
  #iv-sim-sticky-control .iv-simulator-control>label {font-size:10px;margin-bottom:3px}
  .iv-simulator-ballot-entry {gap:8px}
  .iv-simulator-ballot-entry output {font-size:21px}
}
label{
  letter-spacing:-0.025em;
}
.iv-simulator-sticky-state {min-width:0;flex:1;max-width:640px}
.iv-simulator-sticky-government {display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;font-size:12px}
.iv-simulator-sticky-government strong {font-weight:500}
#iv-sim-sticky-outcomes {display:flex;gap:12px;flex-wrap:wrap;font:10px/1.5 'JetBrains Mono',monospace}
.iv-simulator-sticky-offices {display:flex;gap:16px;margin-top:4px}
.iv-simulator .iv-simulator-sticky-offices button {display:flex;gap:8px;align-items:baseline;padding:3px 0;min-height:24px;border:0;border-bottom:2px solid transparent;font-size:10px;background:transparent;color:var(--iv-page-text)}
.iv-simulator .iv-simulator-sticky-offices button[aria-pressed=true] {background:transparent;color:var(--iv-page-text);border-bottom-color:var(--iv-orange)}
@media(max-width:900px){
  .iv-simulator-sticky-inner {flex-wrap:wrap;gap:8px 16px}
  .iv-simulator-sticky-title {order:0}
  #iv-sim-sticky-control {order:1;margin-left:auto}
  .iv-simulator-sticky-state {order:2;flex-basis:100%;max-width:none}
  .iv-simulator-sticky-government {gap:8px}
  #iv-sim-sticky-outcomes {gap:8px;font-size:9px}
  .iv-simulator-sticky-offices {justify-content:space-between;gap:8px}
}

/* State labels and numeric values share a header above each segment bar. */
:is(#iv-sim-state-controls,#iv-sim-demographic-controls) .iv-simulator-control {display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:8px 12px;align-items:center}
:is(#iv-sim-state-controls,#iv-sim-demographic-controls) .iv-simulator-control>label {grid-column:1;grid-row:1;margin:0}
:is(#iv-sim-state-controls,#iv-sim-demographic-controls) .iv-simulator-inputs {display:contents}
:is(#iv-sim-state-controls,#iv-sim-demographic-controls) input[type=number] {grid-column:2;grid-row:1;margin:0;width:88px}
:is(#iv-sim-state-controls,#iv-sim-demographic-controls) .iv-simulator-ballot-squares {grid-column:1/-1;grid-row:2}
:is(#iv-sim-state-controls,#iv-sim-demographic-controls) .iv-simulator-directions {grid-column:1/-1;grid-row:3}
@media(max-width:600px){#iv-sim-demographic-controls>[data-selected=false]{display:none}}

.iv-simulator-toolbar {justify-content:flex-start;flex-wrap:nowrap;}
.iv-simulator-modes {flex-wrap:nowrap;}
#iv-sim-result {min-width:0;max-width:100%;}
@media(max-width:600px){.iv-simulator-toolbar,.iv-simulator-modes{gap:5px}.iv-simulator-toolbar button,.iv-simulator-toolbar select{font-size:10px;padding:10px 6px}.iv-simulator-toolbar select{flex:1;width:0}}

.iv-simulator svg {max-height:550px;}
