/* Sentiment */
.sentiment-wrap { display:flex; align-items:center; gap:1rem; }
.sentiment-ring { position:relative; width:4rem; height:4rem; }
.sentiment-ring svg { width:100%; height:100%; }
.sentiment-val { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:0.875rem; font-weight:700; }
.sentiment-info { flex:1; }
.sentiment-label { font-size:1.125rem; font-weight:600; }

/* Scale bar (shared) */
.scale-wrap { width:100%; margin-top:0.75rem; }
.scale-track { position:relative; display:flex; height:0.5rem; border-radius:9999px; overflow:hidden; }
.scale-seg { flex:1; height:100%; }
.scale-marker { position:absolute; top:50%; transform:translate(-50%,-50%); width:12px; height:16px; background:#fff; border-radius:3px; box-shadow:0 0 6px rgba(0,0,0,0.5); transition:left 0.5s; }
.scale-labels { display:flex; justify-content:space-between; font-size:0.625rem; color:rgba(255,255,255,0.4); margin-top:0.25rem; }

/* UV */
.uv-wrap { display:flex; align-items:center; gap:1rem; }
.uv-num { font-size:2.5rem; font-weight:700; }
.uv-info { flex:1; }
.uv-risk { font-size:0.875rem; font-weight:500; }

/* Theme light overrides */
/* Let utility text-* classes drive label colors */
body.theme-light .scale-labels { color: rgba(0,0,0,0.55); }
body.theme-light .scale-marker { background: #0f172a; box-shadow: 0 0 6px rgba(0,0,0,0.3); }
