#sentiment-widget { display: flex; align-items: center; gap: 15px; width: 100%; max-width: 1200px; margin: 10px 0 20px; padding: 10px; background: #fff; border: 1px solid #ddd; border-radius: 3px; box-sizing: border-box; }
.sentiment-widget-top { margin: 30px 0 20px !important; }
@media screen and (max-width: 480px) {
    .sentiment-widget-top { margin: 5px 0 !important; }
}
.widget-header { display: flex; flex-direction: column; justify-content: center; flex-shrink: 0; margin-right: 5px; }
.widget-title { padding-top: 2px; font-weight: bold; font-size: 15px; white-space: nowrap; line-height: 1; }
.widget-subtitle { padding-top: 5px; font-size: 11px; color: #555; line-height: 1; font-weight: normal; }
.widget-content { flex-grow: 1; width: 100%; min-width: 0; }

/* ボタングループ */
.btn-group { display: flex; width: 100%; height: 36px; border-radius: 4px; overflow: hidden; gap: 2px; }
.btn-group button { flex: 1; border: none; font-weight: bold; font-size: 13px; cursor: pointer; transition: opacity 0.2s; color: #fff; }
.btn-group button:hover { opacity: 0.8; }

/* 結果エリア */
.vote-result-area { width: 100%; display: flex; flex-direction: column; gap: 6px; }
.result-text-row { display: flex; justify-content: space-between; width: 100%; white-space: nowrap; }
.res-text-item { font-size: 12px; font-weight: bold; }
.result-bar-row { display: flex; width: 100%; height: 15px; background: #f0f0f0; border-radius: 3px; overflow: hidden; }
.thin-bar { height: 100%; width: 0%; transition: width 0.8s ease-out; }

.btn-buy, .buy-color { background-color: #089981; }
.btn-neutral { background-color: #999; }
.neutral-color { background-color: #bbb; }
.btn-sell, .sell-color { background-color: #f23645; }

.txt-buy-color { color: #089981; background-color: transparent; }
.txt-neutral-color { color: #777; background-color: transparent; }
.txt-sell-color { color: #f23645; background-color: transparent; }

@media screen and (max-width: 480px) {
    #sentiment-widget { flex-direction: column; align-items: flex-start; gap: 8px; }
    .widget-title { width: 100%; margin-bottom: 2px; }
    .res-text-item { font-size: 11px; }
}