:root {
  --v4-ink: #f5f7f2;
  --v4-muted: rgba(225, 232, 224, .58);
  --v4-line: rgba(224, 236, 226, .14);
  --v4-glow: #d8f7dc;
  --v4-green: #8fe6a8;
  --v4-amber: #f4d48c;
  --scene-rgb: 143, 230, 168;
  --scene-pace: 24s;
  --scene-energy: .28;
}

body[data-countdown-window="horizon"] { --scene-rgb: 120, 167, 224; --scene-pace: 21s; --scene-energy: .34; }
body[data-countdown-window="approaching"] { --scene-rgb: 105, 211, 192; --scene-pace: 17s; --scene-energy: .42; }
body[data-countdown-window="soon"] { --scene-rgb: 231, 198, 126; --scene-pace: 13s; --scene-energy: .52; }
body[data-countdown-window="imminent"] { --scene-rgb: 239, 159, 105; --scene-pace: 9s; --scene-energy: .64; }
body[data-countdown-window="final-five"] { --scene-rgb: 239, 126, 111; --scene-pace: 6s; --scene-energy: .76; }
body[data-countdown-window="final-minute"],
body[data-countdown-window="final-30"] { --scene-rgb: 246, 105, 91; --scene-pace: 3.8s; --scene-energy: .92; }

body.broadcast-screen-mode .shell {
  width: 100%;
  max-width: none;
  padding: 0;
}

body.broadcast-screen-mode .topbar,
body.broadcast-screen-mode .mode-toolbar,
body.broadcast-screen-mode .simulation-banner,
body.broadcast-screen-mode .hero,
body.broadcast-screen-mode .metrics,
body.broadcast-screen-mode .layout-main,
body.broadcast-screen-mode .layout-secondary,
body.broadcast-screen-mode .dashboard > footer,
body.broadcast-screen-mode #observer-screen {
  display: none !important;
}

body.broadcast-screen-mode #operator-panel:not([hidden]) {
  display: block !important;
  position: fixed;
  z-index: 20;
  top: 82px;
  right: clamp(18px, 2.5vw, 38px);
  width: min(390px, calc(100vw - 36px));
  max-height: calc(100svh - 190px);
  overflow: auto;
  border-color: rgba(221, 241, 226, .17);
  border-radius: 22px;
  background: rgba(6, 10, 9, .86);
  box-shadow: 0 28px 90px rgba(0,0,0,.42);
  backdrop-filter: blur(28px) saturate(120%);
}
body.broadcast-screen-mode #operator-panel .operator-heading h2 { font-size: 21px; }
body.broadcast-screen-mode #operator-panel .operator-heading p { font-size: 11px; }

body.broadcast-screen-mode .dashboard {
  min-height: 100vh;
}

.broadcast-screen {
  position: relative;
  isolation: isolate;
  height: 100svh;
  min-height: 100svh;
  box-sizing: border-box;
  overflow: hidden;
  padding: clamp(24px, 3.4vw, 56px);
  background:
    radial-gradient(circle at 50% 46%, rgba(var(--scene-rgb), .09), transparent 38%),
    linear-gradient(145deg, #050708 0%, #090d0c 54%, #030505 100%);
  color: var(--v4-ink);
}

.broadcast-cosmos,
.broadcast-cosmos > span {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.broadcast-cosmos { contain: strict; z-index: -1; overflow: hidden; }
.broadcast-halo { border: 1px solid rgba(var(--scene-rgb), .11); border-radius: 50%; will-change: transform,opacity; }
.halo-one {
  width: min(76vw, 1100px);
  height: min(76vw, 1100px);
  margin: auto;
  animation: v4-breathe var(--scene-pace) ease-in-out infinite;
}
.halo-two {
  width: min(46vw, 720px);
  height: min(46vw, 720px);
  margin: auto;
  border-style: dashed;
  opacity: .46;
  animation: v4-spin 90s linear infinite;
  will-change: transform;
}
.broadcast-scan {
  background: linear-gradient(90deg, transparent 10%, rgba(208, 245, 215, .04) 50%, transparent 90%);
  width: 44%;
  transform: skewX(-18deg) translateX(-160%);
  animation: v4-scan calc(var(--scene-pace) * .9) ease-in-out infinite;
  will-change: transform,opacity;
}
.broadcast-stars {
  opacity: .16;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.7) 0 1px, transparent 1.4px),
    radial-gradient(circle, rgba(183,225,192,.5) 0 1px, transparent 1.4px);
  background-position: 0 0, 31px 47px;
  background-size: 97px 97px, 131px 131px;
  mask-image: linear-gradient(to bottom, #000, transparent 86%);
  animation: v4-star-drift 42s linear infinite;
  will-change: transform;
}
.broadcast-veil {
  border-radius: 50%;
  inset: auto !important;
  height: 72vw;
  opacity: calc(.08 + var(--scene-energy) * .1);
  width: 72vw;
  will-change: transform,opacity;
}
.veil-one {
  background: radial-gradient(circle,rgba(var(--scene-rgb),.18),rgba(var(--scene-rgb),.025) 42%,transparent 69%);
  left: -32vw;
  top: -38vw;
  animation: v4-veil-one calc(var(--scene-pace) * 1.7) ease-in-out infinite alternate;
}
.veil-two {
  background: radial-gradient(circle,rgba(var(--scene-rgb),.13),transparent 67%);
  bottom: -45vw;
  right: -30vw;
  animation: v4-veil-two calc(var(--scene-pace) * 1.35) ease-in-out infinite alternate;
}
.broadcast-orbit {
  border: 1px solid rgba(var(--scene-rgb),.08);
  border-radius: 50%;
  height: min(62vw,860px);
  inset: 50% auto auto 50% !important;
  transform: translate3d(-50%,-50%,0);
  width: min(62vw,860px);
  animation: v4-orbit 72s linear infinite;
  will-change: transform;
}
.broadcast-orbit i { background: rgba(var(--scene-rgb),.62); border-radius: 50%; box-shadow: 0 0 18px rgba(var(--scene-rgb),.34); height: 3px; position: absolute; width: 3px; }
.broadcast-orbit i:nth-child(1) { left: 11%; top: 19%; }
.broadcast-orbit i:nth-child(2) { right: 4%; top: 52%; }
.broadcast-orbit i:nth-child(3) { bottom: 8%; left: 34%; }
.broadcast-constellation {
  inset: 9% 6% 18% !important;
  opacity: calc(.2 + var(--scene-energy) * .22);
  transform-origin: center;
  animation: v4-constellation calc(var(--scene-pace) * 2.4) ease-in-out infinite alternate;
  will-change: transform, opacity;
}
.broadcast-constellation::before,
.broadcast-constellation::after {
  content: "";
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(var(--scene-rgb),.2), transparent);
  transform-origin: left;
}
.broadcast-constellation::before { left: 14%; top: 32%; width: 42%; transform: rotate(12deg); }
.broadcast-constellation::after { right: 8%; bottom: 26%; width: 36%; transform: rotate(-18deg); }
.broadcast-constellation i {
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(var(--scene-rgb),.8);
  box-shadow: 0 0 24px rgba(var(--scene-rgb),.42);
  animation: v4-node-pulse calc(var(--scene-pace) * .42) ease-in-out infinite;
}
.broadcast-constellation i:nth-child(1) { left: 14%; top: 32%; }
.broadcast-constellation i:nth-child(2) { left: 34%; top: 39%; animation-delay: -2s; }
.broadcast-constellation i:nth-child(3) { left: 56%; top: 49%; animation-delay: -4s; }
.broadcast-constellation i:nth-child(4) { right: 30%; bottom: 38%; animation-delay: -6s; }
.broadcast-constellation i:nth-child(5) { right: 8%; bottom: 26%; animation-delay: -8s; }
.broadcast-pulse-field {
  inset: 18% 24% !important;
  border: 1px solid rgba(var(--scene-rgb),.055);
  border-radius: 50%;
  box-shadow:
    0 0 0 8vw rgba(var(--scene-rgb),.018),
    0 0 0 18vw rgba(var(--scene-rgb),.012);
  animation: v4-field-pulse calc(var(--scene-pace) * 1.3) ease-in-out infinite;
  will-change: transform, opacity;
}
.broadcast-grain {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.34'/%3E%3C/svg%3E");
  inset: -30% !important;
  opacity: .022;
  animation: v4-grain .7s steps(2,end) infinite;
  will-change: transform;
}

.broadcast-topline,
.broadcast-timebar {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}

.broadcast-live-mark { display: flex; align-items: center; gap: 13px; }
.broadcast-live-mark > i {
  width: 28px;
  height: 1px;
  flex: 0 0 auto;
  background: linear-gradient(90deg, rgba(143,230,168,.08), rgba(143,230,168,.78));
  box-shadow: 8px 0 20px rgba(143,230,168,.2);
}
.broadcast-live-mark > span { display: grid; gap: 3px; }
.broadcast-live-mark b { color: rgba(239,244,239,.86); font-size: 9px; font-weight: 760; letter-spacing: .19em; }
.broadcast-live-mark small { color: rgba(222,231,224,.34); font-size: 8px; font-weight: 560; letter-spacing: .1em; }

.broadcast-sound-panel { display: flex; align-items: center; gap: 13px; }
.broadcast-sound-panel button {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 4px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgba(234,240,234,.7);
  text-align: left;
  transition: color .25s ease, opacity .25s ease;
}
.broadcast-sound-panel button:hover { color: #f4f7f2; }
.broadcast-sound-panel button:focus-visible {
  outline: 0;
  border-radius: 10px;
  box-shadow: 0 0 0 1px rgba(180,230,191,.26), 0 0 24px rgba(111,202,132,.06);
}
.broadcast-sound-glyph {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(221,235,224,.13);
  border-radius: 50%;
  background: rgba(255,255,255,.018);
  transition: border-color .3s ease, background .3s ease, box-shadow .3s ease;
}
.broadcast-sound-glyph i {
  width: 2px;
  height: 7px;
  border-radius: 999px;
  background: currentColor;
  opacity: .42;
  transform-origin: center;
}
.broadcast-sound-glyph i:nth-child(2) { height: 12px; }
.broadcast-sound-copy { display: grid; gap: 1px; }
.broadcast-sound-copy b { font-size: 10px; font-weight: 650; letter-spacing: .04em; }
.broadcast-sound-copy small { color: rgba(222,231,224,.34); font-size: 8px; letter-spacing: .04em; }
.broadcast-sound-panel button.active { color: rgba(218,241,222,.92); }
.broadcast-sound-panel button.active .broadcast-sound-glyph {
  border-color: rgba(143,230,168,.28);
  background: rgba(143,230,168,.055);
  box-shadow: 0 0 28px rgba(111,202,132,.08);
}
.broadcast-sound-panel button.active .broadcast-sound-glyph i { animation: v4-audio-wave 2.8s ease-in-out infinite; opacity: .76; }
.broadcast-sound-panel button.active .broadcast-sound-glyph i:nth-child(2) { animation-delay: -.7s; }
.broadcast-sound-panel button.active .broadcast-sound-glyph i:nth-child(3) { animation-delay: -1.4s; }
.broadcast-sound-panel label { display: flex; align-items: center; margin-left: 1px; }
.broadcast-sound-panel input {
  width: 74px;
  height: 2px;
  accent-color: #a9dcb5;
  opacity: .5;
  transition: opacity .2s ease;
}
.broadcast-sound-panel:hover input { opacity: .82; }

.broadcast-bill-aside button,
.broadcast-completed a {
  border: 0;
  border-bottom: 1px solid rgba(221,235,224,.23);
  border-radius: 0;
  background: transparent;
  color: var(--v4-ink);
  transition: border-color .25s ease, color .25s ease, transform .25s ease;
}
.broadcast-bill-aside button:hover,
.broadcast-completed a:hover { border-color: rgba(215,247,222,.66); color: #fff; transform: translateY(-1px); }

.broadcast-center {
  position: absolute;
  z-index: 1;
  inset: 76px clamp(24px, 3.4vw, 56px) 100px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 0;
  padding: 22px 0;
  text-align: center;
}
.broadcast-wordmark { margin: 0 0 24px; color: rgba(229, 237, 230, .55); font-size: clamp(10px, .95vw, 14px); font-weight: 700; letter-spacing: clamp(.35em, 1.1vw, .9em); text-transform: uppercase; animation: v4-wordmark calc(var(--scene-pace) * .72) ease-in-out infinite; }
.broadcast-center h1 {
  max-width: 1200px;
  margin: 0;
  font-family: "Unbounded", "Manrope", sans-serif;
  font-size: clamp(48px, 8vw, 138px);
  font-weight: 370;
  line-height: .96;
  letter-spacing: -.075em;
  text-wrap: balance;
  text-shadow: 0 20px 80px rgba(176, 222, 187, .08);
  animation: v4-title-in 1.15s cubic-bezier(.2,.8,.2,1) both;
}
.broadcast-subtitle { margin: 25px 0 0; color: var(--v4-muted); font-family: "Source Serif 4", Georgia, serif; font-size: clamp(20px, 2vw, 32px); font-style: italic; }

.broadcast-countdown-wrap { margin-top: clamp(34px, 6vh, 80px); }
.broadcast-countdown-wrap span { display: block; margin-bottom: 8px; color: var(--v4-muted); font-size: 10px; font-weight: 700; letter-spacing: .25em; }
.broadcast-countdown-wrap strong { display: block; font-variant-numeric: tabular-nums; font-size: clamp(46px, 7vw, 112px); font-weight: 250; letter-spacing: -.06em; line-height: 1; }
.broadcast-countdown-wrap small { display: block; margin-top: 14px; color: rgba(228,235,229,.7); font-size: 13px; }
.broadcast-time-adjustment { color: rgba(var(--scene-rgb),.9); display: block; font-size: 9px; font-style: normal; font-weight: 720; letter-spacing: .12em; margin-top: 9px; text-transform: uppercase; }
.broadcast-time-adjustment[hidden] { display: none; }

.broadcast-session-card,
.broadcast-completed {
  position: absolute;
  z-index: 3;
  left: clamp(24px, 3.4vw, 56px);
  right: clamp(24px, 3.4vw, 56px);
  bottom: 118px;
  border: 1px solid var(--v4-line);
  border-radius: 26px;
  background: rgba(8, 12, 11, .9);
  box-shadow: 0 28px 90px rgba(0,0,0,.3);
  backdrop-filter: blur(10px) saturate(112%);
  overflow: hidden;
  animation: v4-panel-in .8s cubic-bezier(.2,.8,.2,1) both;
}
.broadcast-session-meta { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-bottom: 1px solid var(--v4-line); }
.broadcast-session-meta > span { padding: 16px 20px; border-right: 1px solid var(--v4-line); }
.broadcast-session-meta > span:last-child { border-right: 0; }
.broadcast-session-meta small,
.broadcast-timebar small { display: block; margin-bottom: 5px; color: var(--v4-muted); font-size: 9px; font-weight: 750; letter-spacing: .17em; text-transform: uppercase; }
.broadcast-session-meta strong { font-size: 14px; font-weight: 600; }
.broadcast-bill { display: grid; grid-template-columns: minmax(0, 1fr) minmax(235px, 300px); gap: 34px; padding: 24px 26px 27px; align-items: end; }
.broadcast-bill > div:first-child { min-width: 0; }
.broadcast-bill > div > span { color: var(--v4-green); font-size: 10px; font-weight: 750; letter-spacing: .2em; }
.broadcast-bill h2 { max-width: 980px; margin: 8px 0 8px; font-size: clamp(24px, 3vw, 48px); line-height: 1.04; letter-spacing: -.045em; text-wrap: balance; }
.broadcast-bill p { max-width: 940px; margin: 11px 0 0; color: var(--v4-muted); line-height: 1.55; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.broadcast-bill-meta { display: flex; flex-wrap: wrap; gap: 7px 18px; color: rgba(224,234,226,.46); font-size: 10px; }
.broadcast-bill-meta span { color: rgba(224,234,226,.46) !important; font-size: 10px !important; font-weight: 520 !important; letter-spacing: .025em !important; }
.broadcast-bill-meta b { color: rgba(238,244,239,.82); font-weight: 660; }
.broadcast-bill-aside { display: grid; justify-items: end; }
.broadcast-bill-aside strong { font-size: 30px; font-variant-numeric: tabular-nums; font-weight: 350; }
.broadcast-bill-aside small { color: var(--v4-muted); font-size: 8px; letter-spacing: .18em; }
.broadcast-bill-aside button { margin-top: 13px; padding: 7px 1px; font-size: 9px; font-weight: 720; letter-spacing: .1em; text-transform: uppercase; }
.broadcast-vote-progress { width: 100%; margin-top: 12px; text-align: right; }
.broadcast-vote-progress > span { display: block; width: 100%; height: 3px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.065); }
.broadcast-vote-progress i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, rgba(var(--scene-rgb),.42), rgb(var(--scene-rgb))); box-shadow: 0 0 14px rgba(var(--scene-rgb),.22); transition: width .6s cubic-bezier(.2,.8,.2,1); }
.broadcast-vote-progress small { display: block; margin-top: 7px; letter-spacing: .035em; text-transform: none; }

body[data-broadcast-phase="live"] .broadcast-session-card {
  border-color: rgba(var(--scene-rgb),.19);
  background: linear-gradient(135deg, rgba(9,14,12,.94), rgba(5,8,8,.96));
  box-shadow: 0 34px 120px rgba(0,0,0,.42), 0 0 70px rgba(var(--scene-rgb),.035);
}
body[data-broadcast-phase="live"] .broadcast-session-meta > span:nth-child(3),
body[data-broadcast-phase="live"] .broadcast-session-meta > span:nth-child(4),
body[data-broadcast-phase="live"] .broadcast-session-meta > span:nth-child(5) { background: rgba(var(--scene-rgb),.022); }

.broadcast-completed { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(360px, 1.6fr) auto; gap: 30px; align-items: center; padding: 25px 28px; }
.broadcast-completed > div:first-child > span { color: var(--v4-green); font-size: 9px; font-weight: 800; letter-spacing: .2em; }
.broadcast-completed h2 { margin: 7px 0 5px; font-size: clamp(24px, 3vw, 42px); letter-spacing: -.045em; }
.broadcast-completed p { margin: 0; color: var(--v4-muted); }
.broadcast-results { display: flex; gap: 9px; overflow: hidden; }
.broadcast-result-pill { min-width: 120px; padding: 11px 13px 9px; border-top: 1px solid var(--v4-line); background: linear-gradient(180deg, rgba(255,255,255,.025), transparent); }
.broadcast-result-pill strong { display: block; font-size: 12px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.broadcast-result-pill span { display: block; margin-top: 5px; color: var(--v4-muted); font-size: 10px; }
.broadcast-result-pill.accepted { border-color: rgba(109, 218, 142, .42); }
.broadcast-result-pill.rejected,
.broadcast-result-pill.vetoed { border-color: rgba(239, 119, 112, .28); }
.broadcast-completed a { padding: 8px 1px; color: var(--v4-ink); text-decoration: none; white-space: nowrap; font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.broadcast-completed a::after { content: "  ↗"; color: var(--v4-green); }

.broadcast-timebar {
  position: absolute;
  z-index: 3;
  left: clamp(24px, 3.4vw, 56px);
  right: clamp(24px, 3.4vw, 56px);
  bottom: 27px;
  padding-top: 16px;
  border-top: 1px solid var(--v4-line);
}
.broadcast-timebar > div:not(.broadcast-weather) { min-width: 180px; }
.broadcast-timebar > div:last-child { text-align: right; }
.broadcast-timebar strong { display: block; font-size: clamp(18px, 2vw, 28px); font-variant-numeric: tabular-nums; font-weight: 360; letter-spacing: -.025em; }
.broadcast-timebar span { color: var(--v4-muted); font-size: 10px; text-transform: capitalize; }
.broadcast-weather { display: flex; align-items: center; gap: 12px; }
.broadcast-weather > i { display: grid; place-items: center; width: 39px; height: 39px; border: 1px solid var(--v4-line); border-radius: 50%; color: var(--v4-glow); font-size: 18px; font-style: normal; }
.broadcast-weather strong { font-size: 17px; }
.broadcast-weather em { display: block; color: var(--v4-muted); font-size: 10px; font-style: normal; }

body[data-broadcast-phase="scheduled"] .broadcast-center,
body[data-broadcast-phase="preparing"] .broadcast-center { bottom: 208px; padding: 14px 0; }
body[data-broadcast-phase="scheduled"] .broadcast-center h1,
body[data-broadcast-phase="preparing"] .broadcast-center h1 { max-width: 1080px; font-size: clamp(34px, 5vw, 72px); line-height: 1.02; }
body[data-broadcast-phase="scheduled"] .broadcast-subtitle,
body[data-broadcast-phase="preparing"] .broadcast-subtitle { margin-top: 14px; font-size: clamp(16px, 1.5vw, 23px); }
body[data-broadcast-phase="scheduled"] .broadcast-countdown-wrap,
body[data-broadcast-phase="preparing"] .broadcast-countdown-wrap { margin-top: clamp(18px, 3vh, 34px); }
body[data-broadcast-phase="live"] .broadcast-center { bottom: 300px; justify-content: flex-start; padding-top: 9vh; }
body[data-broadcast-phase="live"] .broadcast-center h1 { font-size: clamp(38px, 5vw, 78px); }
body[data-broadcast-phase="completed"] .broadcast-center { bottom: 400px; padding: 10px 0; }
body[data-broadcast-phase="completed"] .broadcast-center h1 { font-size: clamp(40px, 5.4vw, 78px); line-height: 1; }
body[data-broadcast-phase="completed"] .broadcast-subtitle { margin-top: 14px; font-size: clamp(17px, 1.6vw, 24px); }
body.broadcast-screen-mode.operator-visible .broadcast-center { right: min(460px, 43vw); }
body.broadcast-screen-mode.operator-visible[data-broadcast-phase="scheduled"] .broadcast-center h1,
body.broadcast-screen-mode.operator-visible[data-broadcast-phase="preparing"] .broadcast-center h1 {
  font-size: clamp(28px, 3.5vw, 48px);
  max-width: 100%;
  overflow-wrap: anywhere;
}
body.broadcast-screen-mode.operator-visible[data-broadcast-phase="live"] .broadcast-center h1,
body.broadcast-screen-mode.operator-visible[data-broadcast-phase="completed"] .broadcast-center h1 {
  max-width: 100%;
  font-size: clamp(30px, 3.6vw, 54px);
  letter-spacing: -.055em;
  overflow-wrap: anywhere;
}
body[data-countdown-window="final-minute"] .broadcast-countdown-wrap strong,
body[data-countdown-window="final-30"] .broadcast-countdown-wrap strong { color: #f4f7f1; text-shadow: 0 0 55px rgba(180, 232, 193, .18); }
body[data-countdown-window="final-30"] .halo-one { border-color: rgba(173, 232, 187, .22); animation-duration: 3.2s; }
body[data-countdown-window="soon"] .broadcast-countdown-wrap strong,
body[data-countdown-window="imminent"] .broadcast-countdown-wrap strong,
body[data-countdown-window="final-five"] .broadcast-countdown-wrap strong { color: rgb(var(--scene-rgb)); }
body[data-countdown-window="final-five"] .broadcast-countdown-wrap strong,
body[data-countdown-window="final-minute"] .broadcast-countdown-wrap strong,
body[data-countdown-window="final-30"] .broadcast-countdown-wrap strong { animation: v4-countdown-heartbeat var(--scene-pace) ease-in-out infinite; }

.ballot-time-adjustment { color: var(--v4-amber); display: block; font-size: 8px; font-style: normal; letter-spacing: .06em; margin-top: 3px; }
.ballot-time-adjustment[hidden] { display: none; }
.observer-schedule-adjustment { color: var(--v4-amber); display: inline-block; font-size: 10px; font-style: normal; margin-top: 9px; }
.observer-schedule-adjustment[hidden] { display: none; }

.senator-timebar { display: flex; align-items: center; justify-content: center; gap: clamp(18px, 3vw, 48px); margin: 15px 0 24px; padding: 12px 18px; border: 1px solid rgba(219,235,222,.1); border-radius: 16px; background: rgba(255,255,255,.025); }
.senator-timebar span { text-align: center; }
.senator-timebar small { display: block; color: rgba(224,232,224,.5); font-size: 8px; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.senator-timebar strong { display: block; margin-top: 3px; font-size: 17px; font-variant-numeric: tabular-nums; }
.senator-timebar i { width: 1px; height: 28px; background: rgba(219,235,222,.12); }

.ballot-screen { overflow: clip; }
.ballot-briefing {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0 24px;
}
.ballot-briefing article {
  min-width: 0;
  padding: 16px 17px;
  border: 1px solid rgba(218,232,220,.1);
  border-radius: 17px;
  background: linear-gradient(145deg, rgba(255,255,255,.028), rgba(255,255,255,.008));
}
.ballot-briefing article.ballot-briefing-focus {
  border-color: rgba(143,230,168,.2);
  background: linear-gradient(145deg, rgba(79,156,101,.11), rgba(255,255,255,.01));
}
.ballot-briefing span,
.ballot-bill-materials > span { color: rgba(211,228,216,.43); font-size: 10px; font-weight: 780; letter-spacing: .14em; }
.ballot-briefing strong { display: block; margin-top: 7px; color: #e9f1ea; font-size: 15px; line-height: 1.25; }
.ballot-briefing p { margin: 7px 0 0; color: rgba(211,222,214,.54); font-size: 11px; line-height: 1.45; }
.ballot-bill-materials { margin-top: 13px; padding: 17px 19px; border: 1px solid rgba(218,232,220,.08); border-radius: 14px; background: rgba(255,255,255,.016); }
.ballot-bill-materials[hidden] { display: none; }
.ballot-bill-materials p { margin: 8px 0 0; color: rgba(218,229,220,.66); font-family: "Source Serif 4", Georgia, serif; font-size: 14px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }

.ballot-discussion {
  margin-top: 18px;
  padding: 22px;
  border: 1px solid rgba(143,230,168,.16);
  border-radius: 24px;
  background:
    radial-gradient(circle at 92% 0, rgba(108,205,134,.11), transparent 34%),
    linear-gradient(145deg, rgba(12,19,15,.95), rgba(7,11,9,.88));
  box-shadow: 0 26px 70px rgba(0,0,0,.2);
}
.ballot-discussion[hidden] { display: none; }
.ballot-discussion > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; }
.ballot-discussion > header span { color: var(--v4-green); font-size: 9px; font-weight: 820; letter-spacing: .18em; }
.ballot-discussion h2 { margin: 6px 0 0; color: #eff5ef; font-size: clamp(23px, 2.5vw, 34px); letter-spacing: -.045em; }
.ballot-discussion > header p { max-width: 680px; margin: 8px 0 0; color: rgba(220,231,222,.55); font-size: 12px; line-height: 1.55; }
.ballot-discussion > header a { flex: 0 0 auto; padding: 9px 14px; border: 1px solid rgba(218,233,220,.14); border-radius: 999px; color: #e8f1e9; font-size: 10px; text-decoration: none; }
.ballot-discussion-actions { margin-top: 18px; }
.ballot-discussion-request {
  display: grid;
  grid-template-columns: 38px 1fr;
  width: 100%;
  padding: 17px 18px;
  border: 1px solid rgba(126,218,151,.22);
  border-radius: 17px;
  background: linear-gradient(110deg, rgba(75,151,95,.16), rgba(255,255,255,.018));
  color: #edf5ee;
  text-align: left;
}
.ballot-discussion-request[hidden] { display: none; }
.ballot-discussion-request > span { grid-row: 1 / 3; align-self: center; color: var(--v4-green); font-size: 23px; }
.ballot-discussion-request strong { font-size: 13px; }
.ballot-discussion-request small { margin-top: 3px; color: rgba(220,231,222,.5); font-size: 10px; }
.ballot-discussion-composer { overflow: hidden; border: 1px solid rgba(218,233,220,.12); border-radius: 18px; background: rgba(0,0,0,.18); }
.ballot-discussion-composer[hidden] { display: none; }
.ballot-discussion-composer label { display: block; padding: 13px 16px 0; color: rgba(218,231,220,.5); font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.ballot-discussion-composer textarea { display: block; box-sizing: border-box; width: 100%; min-height: 132px; resize: vertical; border: 0; outline: 0; padding: 14px 16px 18px; background: transparent; color: #eff5ef; font: 14px/1.65 "Manrope", sans-serif; }
.ballot-discussion-composer textarea::placeholder { color: rgba(220,231,222,.28); }
.ballot-discussion-composer footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 11px 13px 11px 16px; border-top: 1px solid rgba(218,233,220,.09); }
.ballot-discussion-composer footer span { color: rgba(220,231,222,.42); font-size: 9px; }
.ballot-discussion-composer footer button { min-height: 36px; padding: 0 15px; border: 1px solid rgba(130,224,155,.3); border-radius: 11px; background: rgba(78,160,99,.2); color: #eff7f0; font-size: 10px; font-weight: 760; }

.senator-studio { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 18px; }
.post-session-monitor { margin-top: 18px; padding: 22px; border: 1px solid rgba(219,235,222,.13); border-radius: 24px; background: linear-gradient(145deg, rgba(12,18,15,.92), rgba(8,12,11,.8)); }
.post-session-monitor > header { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.post-session-monitor > header span { color: var(--v4-green); font-size: 9px; font-weight: 800; letter-spacing: .18em; }
.post-session-monitor h2 { margin: 6px 0 0; font-size: 30px; letter-spacing: -.04em; }
.post-session-monitor a { padding: 9px 14px; border: 1px solid rgba(219,235,222,.15); border-radius: 999px; color: #edf4ed; text-decoration: none; font-size: 11px; }
.post-session-metrics { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 20px; border: 1px solid rgba(219,235,222,.1); border-radius: 17px; overflow: hidden; }
.post-session-metrics span { padding: 14px 16px; border-right: 1px solid rgba(219,235,222,.1); }
.post-session-metrics span:last-child { border-right: 0; }
.post-session-metrics small { display: block; color: rgba(224,232,224,.46); font-size: 8px; letter-spacing: .13em; text-transform: uppercase; }
.post-session-metrics strong { display: block; margin-top: 6px; font-size: 22px; }
.post-session-results { display: grid; gap: 8px; margin-top: 14px; }
.post-session-results .post-session-result { display: grid; grid-template-columns: 60px 1fr auto; gap: 14px; align-items: center; padding: 12px 14px; border: 1px solid rgba(219,235,222,.08); border-radius: 14px; background: rgba(255,255,255,.018); color: #eef4ed; text-align: left; box-shadow: none; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.post-session-results .post-session-result:hover { border-color: rgba(219,235,222,.19); background: rgba(255,255,255,.04); transform: translateY(-1px); }
.post-session-results .post-session-result.accepted { border-color: rgba(116,226,151,.18); background: linear-gradient(90deg, rgba(67,118,79,.1), rgba(255,255,255,.012)); }
.post-session-results .post-session-result.rejected,
.post-session-results .post-session-result.vetoed { border-color: rgba(241,129,119,.17); background: linear-gradient(90deg, rgba(119,67,64,.09), rgba(255,255,255,.012)); }
.post-session-result > span { color: rgba(224,232,224,.5); font-size: 11px; }
.post-session-result strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.post-session-result em { color: var(--v4-green); font-size: 11px; font-style: normal; }
.senator-notes,
.senator-canvas-card { min-width: 0; border: 1px solid rgba(219,235,222,.12); border-radius: 22px; overflow: hidden; background: rgba(9,13,12,.68); box-shadow: 0 24px 60px rgba(0,0,0,.16); }
.senator-studio header,
.senator-studio footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 16px; }
.senator-studio header { border-bottom: 1px solid rgba(219,235,222,.1); }
.senator-studio header span { font-size: 9px; font-weight: 800; letter-spacing: .17em; }
.senator-studio header small,
.senator-studio footer span { color: rgba(224,232,224,.45); font-size: 10px; }
.senator-studio footer { border-top: 1px solid rgba(219,235,222,.1); }
.senator-studio button { border: 0; background: transparent; color: rgba(229,237,230,.68); font-size: 10px; }
.senator-notes textarea { display: block; width: 100%; min-height: 235px; resize: vertical; border: 0; outline: 0; padding: 18px; background: transparent; color: #eef4ed; font: 14px/1.65 "Manrope", sans-serif; box-sizing: border-box; }
.senator-notes textarea::placeholder { color: rgba(224,232,224,.3); }
.senator-canvas-card canvas { display: block; width: 100%; height: 235px; cursor: crosshair; touch-action: none; background-image: radial-gradient(circle, rgba(222,237,224,.13) 1px, transparent 1px); background-size: 18px 18px; }
.senator-canvas-card footer { justify-content: flex-end; }

@keyframes v4-breathe { 50% { transform: scale(1.045); opacity: .7; } }
@keyframes v4-spin { to { transform: rotate(360deg); } }
@keyframes v4-scan { 0%, 30% { transform: skewX(-18deg) translateX(-160%); } 72%, 100% { transform: skewX(-18deg) translateX(360%); } }
@keyframes v4-star-drift { to { transform: translate3d(38px,22px,0); } }
@keyframes v4-veil-one { to { transform: translate3d(9vw,7vw,0) scale(1.12); opacity: calc(.12 + var(--scene-energy) * .12); } }
@keyframes v4-veil-two { to { transform: translate3d(-8vw,-5vw,0) scale(.92); opacity: calc(.1 + var(--scene-energy) * .1); } }
@keyframes v4-orbit { from { transform: translate3d(-50%,-50%,0) rotate(0); } to { transform: translate3d(-50%,-50%,0) rotate(360deg); } }
@keyframes v4-constellation { to { opacity: calc(.3 + var(--scene-energy) * .28); transform: translate3d(1.5vw,-1vw,0) scale(1.025); } }
@keyframes v4-node-pulse { 50% { opacity: .28; transform: scale(.55); } }
@keyframes v4-field-pulse { 50% { opacity: .48; transform: scale(1.035); } }
@keyframes v4-grain { 0% { transform: translate3d(-2%,1%,0); } 25% { transform: translate3d(2%,-3%,0); } 50% { transform: translate3d(3%,2%,0); } 75% { transform: translate3d(-3%,-1%,0); } 100% { transform: translate3d(1%,3%,0); } }
@keyframes v4-wordmark { 50% { color: rgba(var(--scene-rgb),.72); transform: translate3d(0,-2px,0); } }
@keyframes v4-countdown-heartbeat { 50% { opacity: .76; transform: scale(.988); } }
@keyframes v4-pulse { 50% { opacity: .35; transform: scale(.75); } }
@keyframes v4-audio-wave { 0%, 100% { transform: scaleY(.55); } 50% { transform: scaleY(1.18); } }
@keyframes v4-title-in { from { opacity: 0; transform: translate3d(0,25px,0) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes v4-panel-in { from { opacity: 0; transform: translateY(24px) scale(.985); } to { opacity: 1; transform: none; } }

@media (max-width: 800px) {
  .broadcast-screen { padding: 20px; }
  .broadcast-sound-panel label { display: none; }
  .broadcast-sound-copy { display: none; }
  .broadcast-center { inset: 64px 20px 100px; }
  body[data-broadcast-phase="scheduled"] .broadcast-center,
  body[data-broadcast-phase="preparing"] .broadcast-center { bottom: 286px; padding: 8px 0; }
  body[data-broadcast-phase="scheduled"] .broadcast-center h1,
  body[data-broadcast-phase="preparing"] .broadcast-center h1 { font-size: clamp(28px, 9vw, 46px); }
  body[data-broadcast-phase="scheduled"] .broadcast-wordmark,
  body[data-broadcast-phase="preparing"] .broadcast-wordmark { margin-bottom: 12px; }
  body[data-broadcast-phase="scheduled"] .broadcast-countdown-wrap,
  body[data-broadcast-phase="preparing"] .broadcast-countdown-wrap { margin-top: 18px; }
  body[data-broadcast-phase="scheduled"] .broadcast-countdown-wrap strong,
  body[data-broadcast-phase="preparing"] .broadcast-countdown-wrap strong { font-size: clamp(42px, 15vw, 68px); }
  body[data-broadcast-phase="live"] .broadcast-center { bottom: 360px; padding-top: 5vh; }
  body[data-broadcast-phase="completed"] .broadcast-center { bottom: 470px; }
  body[data-broadcast-phase="completed"] .broadcast-center h1 { font-size: clamp(30px, 9vw, 44px); }
  .broadcast-session-card,
  .broadcast-completed { left: 20px; right: 20px; bottom: 120px; }
  .broadcast-session-meta { grid-template-columns: 1fr 1fr; }
  .broadcast-session-meta > span:nth-child(2n) { border-right: 0; }
  .broadcast-session-meta > span:nth-child(-n+4) { border-bottom: 1px solid var(--v4-line); }
  .broadcast-bill { grid-template-columns: 1fr; padding: 18px; }
  .broadcast-bill p { display: none; }
  .broadcast-bill-aside { display: flex; align-items: center; justify-content: space-between; }
  .broadcast-bill-aside small { display: none; }
  .broadcast-bill-aside button { margin: 0 0 0 16px; }
  .broadcast-completed { grid-template-columns: 1fr; gap: 14px; padding: 20px; }
  .broadcast-results { max-height: 54px; }
  .broadcast-completed a { display: none; }
  .broadcast-timebar { left: 20px; right: 20px; }
  .broadcast-timebar > div:not(.broadcast-weather) { min-width: 0; }
  .broadcast-weather { display: none; }
  .senator-studio { grid-template-columns: 1fr; }
  .ballot-discussion > header,
  .ballot-discussion-composer footer { align-items: stretch; flex-direction: column; }
  .ballot-discussion > header a { align-self: flex-start; }
  .senator-timebar { justify-content: space-between; }
  .senator-timebar i { display: none; }
  .ballot-briefing { grid-template-columns: 1fr 1fr; margin-inline: 12px; }
}

@media (max-width: 560px) {
  .ballot-briefing { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .broadcast-cosmos span,
  .broadcast-center h1,
  .broadcast-session-card,
  .broadcast-completed { animation: none !important; }
  .broadcast-constellation,
  .broadcast-pulse-field { animation: none !important; }
}

@media (update: slow) {
  .broadcast-grain,.broadcast-stars,.broadcast-scan,.broadcast-veil { animation: none !important; }
}
