/* Broadcast palette follows the supplied Gazeta news lower third. */
:root{--blue:#1d63c3;--red:#cf101a;--ease-out:cubic-bezier(.23,1,.32,1)}
.election-scene{font:1.25cqw Arial,Helvetica,sans-serif;position:relative;color:#143251;overflow:hidden;font-variant-numeric:tabular-nums}.chart-scene{height:100%;width:100%;padding:4.4% 5% 3%;background:#f4f7fa;display:flex;flex-direction:column;border-top:.28em solid var(--red)}.scene-heading{display:flex;align-items:center;justify-content:space-between;gap:1em;flex-shrink:0}.scene-heading h1{margin:.12em 0 0;font-size:2.65em;font-weight:750;line-height:1.06;letter-spacing:-.04em}.scope{font-size:.9em;color:#48637e}.totalized{text-align:right;flex-shrink:0}.totalized strong{display:block;font-size:2.1em;line-height:1.06;font-weight:750;color:#1d63c3}.totalized small{font-size:.55em}.totalized span{font-size:.75em;color:#48637e}.chart-content{flex:1;min-height:0;padding:2.1em 0 0;display:flex;align-items:stretch}.plot{position:relative;width:100%;height:100%;padding-left:3.8em;padding-bottom:6.3em;padding-top:1.7em}.axis{position:absolute;left:0;top:1.7em;bottom:6.3em;width:3.3em}.axis span{position:absolute;right:0;transform:translateY(50%);font-size:.67em;color:#64809b}.gridlines{position:absolute;left:3.8em;right:0;top:1.7em;bottom:6.3em}.gridlines i{position:absolute;width:100%;height:1px;background:#cbd7e2}.gridlines i:first-child{background:#6d94b6}.columns{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:1.4em;position:relative;height:100%}.column{position:relative;min-width:0}.column-space{height:100%;position:relative;width:100%}.column-bar{position:absolute;inset:0 19%;background:var(--candidate);transform-origin:bottom;border-radius:.2em .2em 0 0}.column-label{position:absolute;left:0;right:0;text-align:center;font-size:1.75em;font-weight:750;letter-spacing:-.04em;line-height:1.15;margin-bottom:.3em;white-space:nowrap}.column-label small{font-size:.5em;font-weight:600;letter-spacing:0}.column-caption{position:absolute;top:calc(100% + .65em);left:-.2em;right:-.2em;text-align:center}.column-caption strong{font-size:.95em;font-weight:750;display:block;line-height:1.2;overflow-wrap:anywhere}.column-caption span{display:block;font-size:.65em;margin-top:.4em;color:#4b6783}.column-caption .votes{margin-top:.35em;color:#274d70;font-weight:600}.column-caption em{display:block;font-style:normal;font-size:.6em;color:#275a82;margin-top:.35em;line-height:1.2}.chart-note{color:#58708a;font-size:.65em;padding:.6em 0 .85em;text-align:right}.scene-footer{border-top:.17em solid var(--red);background:linear-gradient(135deg,#287ee7,#12489f);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:1em;padding:.65em 1em;font-size:.58em;line-height:1.4;flex-shrink:0}.source-label{font-size:1em;white-space:nowrap;letter-spacing:.025em}.election-scene .waiting{width:100%;display:grid;place-items:center;padding:2em;color:#496985;font-size:1em;text-align:center}.chart-scene:has(.column:nth-child(7)) .column-label{font-size:1.4em}.chart-scene:has(.column:nth-child(7)) .column-caption strong{font-size:.75em}.chart-scene:has(.column:nth-child(7)) .columns{gap:.9em}
.output{background:linear-gradient(135deg,#287ee7,#12489f)}.output .election-scene{font-size:1.25vw}.transparent #out{display:flex;align-items:flex-end;padding:0 4% 5%}.lower-scene{width:86%;height:auto;border-radius:.35em;box-shadow:0 .25em 1.3em #001b3f35;background:#f5f8fbed;backdrop-filter:blur(18px);overflow:hidden}.lower-scene .scene-heading{background:linear-gradient(135deg,#287ee7,#12489f);color:white;padding:.5em 1em}.lower-scene .scene-heading>div:first-child{display:flex;align-items:baseline;gap:.7em;flex-direction:row-reverse;justify-content:flex-end}.lower-scene .scene-heading h1{font-size:1em;margin:0;letter-spacing:-.02em;white-space:nowrap}.lower-scene .scope{font-size:.67em;color:#e7f3ff;white-space:nowrap}.lower-scene .totalized{display:flex;gap:.4em;align-items:baseline}.lower-scene .totalized strong{font-size:.9em;color:white}.lower-scene .totalized span{font-size:.6em;color:#e8f4ff}.lower-results{display:grid;grid-template-columns:1fr 1fr;gap:0}.lower-result{position:relative;padding:.65em 1em .8em;display:flex;align-items:center;justify-content:space-between;gap:1em;min-width:0}.lower-result+.lower-result{border-left:1px solid #b7ccdf}.lower-name{min-width:0}.lower-name strong{font-size:1.1em;display:block;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:750;letter-spacing:-.02em}.lower-name span{display:block;font-size:.63em;color:#52708a;margin-top:.35em}.lower-name .lower-votes{display:inline;font-size:1em;margin:0}.lower-name em{font-style:normal;font-size:.6em;color:#2c648e;display:block;margin-top:.25em}.result-value{font-size:2em;line-height:1;font-weight:750;letter-spacing:-.05em;white-space:nowrap;color:#1d63c3}.result-value small{font-size:.45em;letter-spacing:0;margin-left:.08em}.lower-meter{position:absolute;left:1em;right:1em;bottom:.27em;height:.1em;background:#1d63c3;transform-origin:left}.lower-scene .scene-footer{font-size:.46em;padding:.4em 2.1em;border-top:2px solid var(--red);background:#f5f8fa;color:#3c5c77}.lower-scene .source-label{color:#294c6c}.connection-warning{position:absolute;bottom:1%;left:5%;font:700 14px Arial;background:#9c1727;color:white;padding:7px 12px}
.output.fullscreen{background:transparent!important}

.lower-scene{backdrop-filter:none;border-radius:.55em}.lower-identity{display:flex;align-items:center;gap:.4em;min-width:0}.lower-identity>strong{min-width:0}.lower-name .candidate-marker{display:grid;place-items:center;width:1.7em;height:1.7em;border-radius:999px;background:#1d63c315;color:#1d63c3;font-size:.63em;font-weight:700;margin:0;flex-shrink:0}.lower-name .lower-meta{display:block}.lower-name .number-roll{display:inline;font-size:1em;margin:0;color:inherit}.result-value .number-roll{display:inline-block;min-width:4.7ch;text-align:right}.totalized .number-roll{display:inline;font-size:1em;color:inherit}.lower-scene .totalized{align-items:center;gap:.55em}.lower-scene .totalized>div{display:flex;align-items:baseline;gap:.4em}.apuration-ring{width:1.45em;height:1.45em;flex-shrink:0;overflow:visible}.ring-track,.ring-value{fill:none;stroke-width:2}.ring-track{stroke:#ffffff35}.ring-value{stroke:white;stroke-dasharray:75.4;transform:rotate(-90deg);transform-origin:center;stroke-linecap:round}.ring-check{fill:none;stroke:white;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.lower-result{overflow:hidden}.lower-meta .number-roll{font-variant-numeric:tabular-nums}
.lower-name strong{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.lower-identity{align-items:flex-start}
.candidate-photo{display:inline-grid;place-items:center;position:relative;width:2.7em;height:2.7em;border-radius:.65em;background:#e1eaf2;color:#a0b5c8;overflow:hidden;flex-shrink:0;vertical-align:middle}
.candidate-photo>svg{width:78%;height:78%;align-self:end}
.candidate-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 22%;opacity:0}
.candidate-photo>img[data-loaded]{opacity:1}
.candidate-photo>img[data-failed]{display:none}
.portrait-motion{display:flex;flex-shrink:0;align-self:center}
.lower-result{gap:.7em}.lower-name{flex:1;min-width:0}.lower-result .candidate-photo{width:2.65em;height:2.8em}
.bar-portrait{position:absolute;bottom:.55em;left:0;right:0;display:flex;justify-content:center;pointer-events:none}
.bar-portrait .candidate-photo{width:2.4em;height:2.55em;border:.1em solid #f4f7fa;box-shadow:0 .12em .25em #14325122}
.duel-identity{display:flex;align-items:flex-start;gap:1em;margin-bottom:1em}
.duel-identity>div{flex:1;min-width:0}.duel-identity .candidate-photo{width:4em;height:4.5em}
.chart-scene.long-names .plot{padding-bottom:9em}.chart-scene.long-names .axis,.chart-scene.long-names .gridlines{bottom:9em}
.lower-results>.waiting{grid-column:1/-1}
.duel-card .duel-identity h2{margin:.35em 0 0;min-height:2.3em;font-size:1.7em}
.map-leader{align-items:center}.map-leader>span:not(.candidate-photo){flex:1;min-width:0}.map-leader .candidate-photo{width:2.5em;height:2.7em}
.map-legend .candidate-photo{width:2em;height:2.15em;border-radius:.5em;flex:0 0 auto}
