/* A self-contained, data-driven constellation. Canvas is progressive decoration. */
.opinion-galaxy {
  --galaxy-ink:#f2f5db; --galaxy-muted:#b6cab6; --galaxy-green:#c0e7a1; --galaxy-red:#ffb298;
  position:relative; isolation:isolate; overflow:hidden; color:var(--galaxy-ink);
  background:radial-gradient(ellipse at 70% 35%,#284935 0,transparent 65%),#122e24;
  border:1px solid #45624b; border-radius:28px; padding:24px 24px 12px;
  box-shadow:0 24px 64px #173d3220,inset 0 1px #f3ffe512;
}
.opinion-galaxy::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.2; background-image:radial-gradient(#d8ebc6 0.65px,transparent .65px); background-size:19px 19px; mask-image:linear-gradient(145deg,#000,transparent 65%); }
.opinion-galaxy__head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.opinion-galaxy__controls { display:flex; align-items:center; gap:5px; }
.opinion-galaxy__eyebrow { display:flex; align-items:center; gap:8px; font-size:9px; letter-spacing:.13em; font-weight:700; color:var(--galaxy-green); }
.opinion-galaxy__period { color:var(--galaxy-muted); border:1px solid #d5f2c529; border-radius:30px; padding:5px 9px; font-size:9px; white-space:nowrap; }
.opinion-galaxy__intro { margin-top:10px; }
.opinion-galaxy__intro h2 { color:var(--galaxy-ink); font-size:24px; line-height:1.25; font-weight:650; letter-spacing:-.045em; margin:0; }
.opinion-galaxy__intro em { font-family:Georgia,serif; color:var(--galaxy-green); font-weight:400; }
.opinion-galaxy__intro p { color:var(--galaxy-muted); font-size:12px; margin:8px 0 0; }
.opinion-galaxy__stage { position:relative; height:280px; margin:0 -20px; perspective:700px; }
.opinion-galaxy__canvas { position:absolute; width:100%; height:100%; inset:0; pointer-events:none; }
.opinion-galaxy__nebula { position:absolute; inset:16% 10%; border-radius:50%; background:radial-gradient(ellipse,#bfeaa117,transparent 70%); box-shadow:0 0 65px #98bf8020; }
.opinion-galaxy__orbit { position:absolute; inset:27% 8%; border:1px solid #c0e7a126; border-radius:50%; transform:rotate(-24deg); pointer-events:none; }
.opinion-galaxy__orbit--two { inset:19% 14%; transform:rotate(28deg); border-color:#c0e7a112; }
.opinion-galaxy.is-enhanced .opinion-galaxy__orbit { opacity:0; }
.opinion-galaxy__core { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; pointer-events:none; text-shadow:0 2px 18px #102c24; }
.opinion-galaxy__core::before { content:""; position:absolute; width:154px; height:154px; border-radius:50%; background:radial-gradient(#163728f5,#173b2bc9 45%,#173b2b00 72%); z-index:-1; }
.opinion-galaxy__core-label { font-size:9px; font-weight:650; letter-spacing:.19em; color:var(--galaxy-green); }
.opinion-galaxy__core strong { font-size:clamp(24px,calc(330px / var(--count-chars,3)),64px); line-height:1.2; letter-spacing:-.065em; font-weight:650; font-variant-numeric:tabular-nums; color:var(--galaxy-ink); margin:2px 0; max-width:90%; overflow-wrap:anywhere; }
.opinion-galaxy__core-caption { color:var(--galaxy-muted); font-size:11px; }
.opinion-galaxy[data-focus="negative"] .opinion-galaxy__core-label { color:var(--galaxy-red); }
.opinion-galaxy__satellite { position:absolute; display:grid; place-items:center; border:1px solid #d1f0b944; background:#284935eb; box-shadow:0 6px 20px #091d2540; border-radius:12px; width:36px; height:36px; color:var(--galaxy-green); pointer-events:none; }
.opinion-galaxy__satellite--one { top:19%; left:15%; transform:rotate(-12deg); }
.opinion-galaxy__satellite--two { bottom:23%; right:13%; transform:rotate(12deg); }
.opinion-galaxy__satellite--three { top:20%; right:20%; width:27px; height:27px; border-radius:9px; background:#c4e99f; color:#213f2b; }
.opinion-galaxy.is-empty .opinion-galaxy__satellite { opacity:.25; }
.opinion-galaxy__hint { position:absolute; bottom:3px; left:0; right:0; display:flex; justify-content:center; align-items:center; gap:6px; font-size:10px; color:var(--galaxy-muted); }
.opinion-galaxy__metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:14px; }
.opinion-galaxy__metric { display:flex; align-items:center; gap:10px; padding:13px 12px; border:1px solid #d9f0cb26; border-radius:15px; background:#d6f6c608; color:var(--galaxy-ink); text-align:left; min-width:0; cursor:pointer; transition:background .2s,border-color .2s,transform .2s; }
.opinion-galaxy__metric:disabled { cursor:default; opacity:1; }
.opinion-galaxy__metric:not(:disabled):hover { background:#d6f6c614; transform:translateY(-2px); }
.opinion-galaxy__metric[aria-pressed="true"] { background:#d6f6c61c; border-color:var(--galaxy-green); }
.opinion-galaxy__metric--negative[aria-pressed="true"] { border-color:var(--galaxy-red); background:#ffb29812; }
.opinion-galaxy__metric-icon { color:var(--galaxy-green); flex:none; }
.opinion-galaxy__metric--negative .opinion-galaxy__metric-icon { color:var(--galaxy-red); }
.opinion-galaxy__metric-copy { display:flex; flex-direction:column; gap:2px; min-width:0; }
.opinion-galaxy__metric-copy > span { color:var(--galaxy-muted); font-size:11px; }
.opinion-galaxy__metric-copy strong { font-size:clamp(14px,calc(90px / var(--count-chars,3)),26px); line-height:1.1; letter-spacing:-.04em; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.opinion-galaxy__metric-share { align-self:flex-end; margin-left:auto; font-size:10px; color:var(--galaxy-muted); padding-bottom:2px; }
.opinion-galaxy__foot { display:flex; align-items:center; justify-content:space-between; gap:8px; border-top:1px solid #d9f0cb20; margin-top:18px; padding-top:4px; color:var(--galaxy-muted); font-size:10px; min-height:46px; }
.opinion-galaxy__foot > span { display:flex; align-items:center; gap:7px; }
.opinion-galaxy__motion { display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:4px; background:transparent; color:var(--galaxy-muted); border:1px solid #d5f2c529; border-radius:50%; font:inherit; cursor:pointer; }
.opinion-galaxy__motion:hover { color:var(--galaxy-ink); background:#d6f6c610; }
.opinion-galaxy button:focus-visible { outline:2px solid var(--galaxy-green); outline-offset:4px; }
.opinion-galaxy [hidden] { display:none !important; }
.opinion-galaxy.is-enhanced .opinion-galaxy__satellite { animation:galaxy-float 6s ease-in-out infinite alternate; animation-play-state:paused; }
.opinion-galaxy.is-running .opinion-galaxy__satellite { animation-play-state:running; }
.opinion-galaxy.is-enhanced .opinion-galaxy__satellite--two { animation-delay:-3s; }
.opinion-galaxy.is-enhanced .opinion-galaxy__satellite--three { animation-delay:-1.5s; }
@keyframes galaxy-float { to { translate:0 -9px; rotate:6deg; } }
@media(max-width:1100px) and (min-width:701px) {
  .opinion-galaxy { padding:20px 18px 10px; }
  .opinion-galaxy__intro h2 { font-size:21px; }
  .opinion-galaxy__stage { height:250px; margin-inline:-14px; }
  .opinion-galaxy__metric { gap:6px; padding:12px 8px; }
  .opinion-galaxy__metric-share { display:none; }
}
@media(max-width:700px) {
  .opinion-galaxy { padding:20px 18px 10px; border-radius:24px; }
  .opinion-galaxy__intro { margin-top:10px; }
  .opinion-galaxy__intro h2 { font-size:24px; }
  .opinion-galaxy__stage { height:260px; margin-inline:-15px; }
  .opinion-galaxy__core strong { font-size:clamp(22px,calc(290px / var(--count-chars,3)),60px); }
  .opinion-galaxy__metrics { gap:8px; }
  .opinion-galaxy__metric { gap:8px; padding:12px 10px; }
  .opinion-galaxy__metric-share { font-size:9px; }
}
@media(max-width:360px) {
  .opinion-galaxy { padding-inline:14px; }
  .opinion-galaxy__eyebrow { font-size:8px; letter-spacing:.09em; gap:5px; }
  .opinion-galaxy__intro h2 { font-size:22px; }
  .opinion-galaxy__stage { height:244px; margin-inline:-11px; }
  .opinion-galaxy__metric-share { display:none; }
  .opinion-galaxy__metric-copy > span { font-size:10px; }
  .opinion-galaxy__foot { font-size:9px; }
}
@media(prefers-reduced-motion:reduce) {
  .opinion-galaxy *, .opinion-galaxy *::before { animation:none !important; transition:none !important; }
}
