.opinion-shell { max-width: 1840px; }
.opinion-shell .site-header { margin-bottom: 66px; }
.opinion-hero { margin: 0 auto; max-width: 720px; text-align: center; }
.opinion-hero h1 { margin-bottom: 13px; }
.opinion-hero p { color: var(--muted); font-size: 17px; line-height: 1.75; }
.opinion-workspace { align-items: stretch; display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr) 250px; margin: 35px auto 0; max-width: 900px; }
.opinion-input-card, .opinion-guide, .opinion-result-preview { background: rgba(255,255,255,.86); border: 1px solid rgba(255,255,255,.8); box-shadow: var(--shadow); }
.opinion-input-card { border-radius: 22px; padding: 22px; }
.opinion-card-heading, .preview-heading { align-items: flex-start; display: flex; gap: 18px; justify-content: space-between; }
.opinion-card-heading h2, .preview-heading h2 { font-size: 25px; margin-top: 11px; }
.opinion-status, .preview-placeholder { align-items: center; background: #fff7e9; border: 1px solid #f8ddb1; border-radius: 99px; color: #b86b23; display: inline-flex; flex-shrink: 0; font-size: 11px; gap: 6px; padding: 7px 10px; white-space: nowrap; }
.status-dot { background: #ed9b3b; border-radius: 50%; height: 6px; width: 6px; }
.opinion-keyword-field { display: block; margin-top: 21px; }
.opinion-field-label, .opinion-platform-picker legend { color: var(--ink); display: block; font-size: 12px; font-weight: 800; }
.opinion-keyword-control { align-items: center; background: var(--paper); border: 1px solid var(--line); border-radius: 13px; display: flex; gap: 9px; margin-top: 9px; min-height: 53px; padding: 0 14px; transition: border-color .2s, box-shadow .2s; }
.opinion-keyword-control:focus-within { border-color: var(--green); box-shadow: 0 0 0 4px rgba(28,139,104,.1); }
.opinion-keyword-icon { color: var(--green); font-size: 24px; line-height: 1; transform: rotate(-20deg); }
.opinion-keyword-control input { background: transparent; border: 0; color: var(--ink); font: inherit; font-size: 14px; min-width: 0; outline: none; width: 100%; }
.opinion-keyword-control input::placeholder { color: #a0aaa7; }
.opinion-platform-picker { border: 0; margin: 21px 0 0; min-width: 0; padding: 0; }
.opinion-platform-picker legend { padding: 0; }
.opinion-platform-picker legend small { color: var(--muted); font-size: 11px; font-weight: 400; margin-left: 5px; }
.opinion-platform-options { display: grid; gap: 8px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 10px; }
.opinion-platform-option { align-items: center; background: #f5f8f6; border: 1px solid transparent; border-radius: 10px; color: #4c5b56; cursor: pointer; display: flex; font-size: 12px; gap: 7px; min-height: 44px; padding: 0 8px; transition: background .2s, border-color .2s, color .2s; }
.opinion-platform-option:hover { border-color: var(--mint-strong); }
.opinion-platform-option:has(input:checked) { background: var(--mint); border-color: var(--mint-strong); color: var(--green-dark); font-weight: 700; }
.opinion-platform-option input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.opinion-platform-option input:focus-visible + .opinion-checkmark { box-shadow: 0 0 0 3px rgba(28,139,104,.18); }
.opinion-checkmark { background: #fff; border: 1px solid #b8c6bf; border-radius: 4px; flex: 0 0 15px; height: 15px; position: relative; width: 15px; }
.opinion-platform-option input:checked + .opinion-checkmark { background: var(--green); border-color: var(--green); }
.opinion-platform-option input:checked + .opinion-checkmark::after { border: solid #fff; border-width: 0 2px 2px 0; content: ''; height: 7px; left: 4px; position: absolute; top: 2px; transform: rotate(45deg); width: 3px; }
.opinion-platform-bilibili { background: #eaf4ff; color: #2386c9; }
.opinion-platform-xiaohongshu { background: #fff0ef; color: #dd554e; }
.opinion-platform-douyin { background: #e9f6f4; color: #137b76; }
.opinion-platform-weibo { background: #fff1e8; color: #e66d35; }
.opinion-time-picker { border: 0; margin: 20px 0 0; min-width: 0; padding: 0; }
.opinion-time-picker legend { color: var(--ink); font-size: 12px; font-weight: 800; padding: 0; }
.opinion-time-picker legend small { color: var(--muted); font-size: 11px; font-weight: 400; margin-left: 5px; }
.opinion-time-options { display: grid; gap: 8px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 10px; }
.opinion-time-option { align-items: center; background: #f5f8f6; border: 1px solid transparent; border-radius: 10px; color: #4c5b56; cursor: pointer; display: flex; font-size: 12px; gap: 7px; justify-content: center; min-height: 40px; padding: 0 8px; transition: background .2s, border-color .2s, color .2s; }
.opinion-time-option:hover { border-color: var(--mint-strong); }
.opinion-time-option:has(input[type="radio"]:checked) { background: var(--mint); border-color: var(--mint-strong); color: var(--green-dark); font-weight: 700; }
.opinion-time-option input[type="radio"] { height: 1px; opacity: 0; position: absolute; width: 1px; }
.opinion-time-option input[type="radio"]:focus-visible + .opinion-radio-mark { box-shadow: 0 0 0 3px rgba(28,139,104,.18); }
.opinion-time-option input[type="radio"]:checked + .opinion-radio-mark { background: var(--green); border-color: var(--green); }
.opinion-time-option input[type="radio"]:checked + .opinion-radio-mark::after { background: #fff; border-radius: 50%; content: ''; height: 5px; left: 4px; position: absolute; top: 4px; width: 5px; }
.opinion-time-custom { gap: 6px; justify-content: flex-start; white-space: nowrap; }
.opinion-custom-time { background: #fff; border: 1px solid var(--line); border-radius: 7px; color: var(--ink); flex: 0 0 52px; font: inherit; font-size: 11px; height: 26px; min-width: 0; outline: none; padding: 0 6px; width: 52px; }
.opinion-custom-time:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(28,139,104,.1); }
.opinion-custom-time:disabled { background: #edf1ef; color: var(--muted); cursor: not-allowed; }
.opinion-time-hint { color: #8a9892; font-size: 10px; line-height: 1.5; margin-top: 8px; }
.opinion-sample-picker { border: 0; margin: 20px 0 0; min-width: 0; padding: 0; }
.opinion-sample-picker legend { padding: 0; }
.opinion-sample-picker legend small { color: var(--muted); font-size: 11px; font-weight: 400; margin-left: 5px; }
.opinion-sample-options { display: grid; gap: 8px; grid-template-columns: repeat(4, minmax(0, .93fr)) minmax(142px, 1.15fr); margin-top: 10px; }
.opinion-sample-option { align-items: center; background: #f5f8f6; border: 1px solid transparent; border-radius: 10px; color: #4c5b56; cursor: pointer; display: flex; font-size: 12px; gap: 7px; justify-content: center; min-height: 40px; padding: 0 8px; transition: background .2s, border-color .2s, color .2s; }
.opinion-sample-option:hover { border-color: var(--mint-strong); }
.opinion-sample-option:has(input[type="radio"]:checked) { background: var(--mint); border-color: var(--mint-strong); color: var(--green-dark); font-weight: 700; }
.opinion-sample-option input[type="radio"] { height: 1px; opacity: 0; position: absolute; width: 1px; }
.opinion-radio-mark { background: #fff; border: 1px solid #b8c6bf; border-radius: 50%; flex: 0 0 15px; height: 15px; position: relative; width: 15px; }
.opinion-sample-option input[type="radio"]:focus-visible + .opinion-radio-mark { box-shadow: 0 0 0 3px rgba(28,139,104,.18); }
.opinion-sample-option input[type="radio"]:checked + .opinion-radio-mark { background: var(--green); border-color: var(--green); }
.opinion-sample-option input[type="radio"]:checked + .opinion-radio-mark::after { background: #fff; border-radius: 50%; content: ''; height: 5px; left: 4px; position: absolute; top: 4px; width: 5px; }
.opinion-sample-custom { gap: 6px; justify-content: flex-start; white-space: nowrap; }
.opinion-cost-note { color: #8a9892; font-size: 10px; line-height: 1.5; margin-top: 9px; }
.opinion-custom-sample { background: #fff; border: 1px solid var(--line); border-radius: 7px; color: var(--ink); flex: 0 0 57px; font: inherit; font-size: 11px; height: 26px; min-width: 0; outline: none; padding: 0 6px; width: 57px; }
.opinion-custom-sample:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(28,139,104,.1); }
.opinion-custom-sample:disabled { background: #edf1ef; color: var(--muted); cursor: not-allowed; }
.opinion-depth-picker { border: 0; margin: 20px 0 0; min-width: 0; padding: 0; }
.opinion-depth-picker legend { padding: 0; }
.opinion-depth-picker legend small { color: var(--muted); font-size: 11px; font-weight: 400; margin-left: 5px; }
.opinion-depth-options { display: grid; gap: 8px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 10px; }
.opinion-depth-option { align-items: flex-start; background: #f5f8f6; border: 1px solid transparent; border-radius: 11px; color: #4c5b56; cursor: pointer; display: flex; gap: 8px; min-height: 73px; padding: 11px 10px; position: relative; transition: background .2s, border-color .2s, color .2s, transform .2s; }
.opinion-depth-option:hover { border-color: var(--mint-strong); transform: translateY(-1px); }
.opinion-depth-option:has(input[type="radio"]:checked) { background: var(--mint); border-color: var(--mint-strong); color: var(--green-dark); }
.opinion-depth-option input[type="radio"] { height: 1px; opacity: 0; position: absolute; width: 1px; }
.opinion-depth-option input[type="radio"]:focus-visible + .opinion-radio-mark { box-shadow: 0 0 0 3px rgba(28,139,104,.18); }
.opinion-depth-option input[type="radio"]:checked + .opinion-radio-mark { background: var(--green); border-color: var(--green); }
.opinion-depth-option input[type="radio"]:checked + .opinion-radio-mark::after { background: #fff; border-radius: 50%; content: ''; height: 5px; left: 4px; position: absolute; top: 4px; width: 5px; }
.opinion-depth-copy { display: block; min-width: 0; padding-right: 2px; }
.opinion-depth-copy strong { display: block; font-size: 12px; line-height: 1.35; }
.opinion-depth-copy small { color: var(--muted); display: block; font-size: 10px; line-height: 1.45; margin-top: 5px; }
.opinion-depth-option:has(input[type="radio"]:checked) .opinion-depth-copy small { color: #4d7969; }
.opinion-depth-badge { background: #fff9ea; border: 1px solid #f2d49d; border-radius: 99px; color: #a76622; font-size: 9px; padding: 3px 5px; position: absolute; right: 7px; top: 7px; }
.opinion-depth-estimate { background: #f7faf8; border-radius: 8px; color: #687972; font-size: 10px; line-height: 1.5; margin-top: 9px; padding: 7px 9px; }
.opinion-input-footer { align-items: center; display: flex; gap: 15px; justify-content: space-between; margin-top: 13px; }
.opinion-input-meta { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; }
.opinion-input-footer .button { min-width: 126px; }
.opinion-feedback { background: #fff7e9; border: 1px solid #f8ddb1; border-radius: 9px; color: #9a5f27; font-size: 12px; line-height: 1.6; margin: 13px 2px 0; padding: 9px 11px; }
.opinion-guide { border-radius: 22px; padding: 22px 19px; }
.opinion-guide-label { color: var(--ink); font-size: 13px; font-weight: 800; }
.opinion-dimension-list { display: grid; gap: 17px; margin-top: 23px; }
.opinion-dimension { align-items: flex-start; display: flex; gap: 10px; }
.opinion-dimension strong { display: block; font-size: 13px; }
.opinion-dimension small { color: var(--muted); display: block; font-size: 11px; line-height: 1.55; margin-top: 4px; }
.dimension-icon { align-items: center; border-radius: 9px; display: inline-flex; flex: 0 0 31px; font-size: 17px; font-weight: 800; height: 31px; justify-content: center; }
.dimension-icon-mood { background: #e3f4ed; color: var(--green); }
.dimension-icon-topic { background: #edf3ff; color: #6681c9; }
.dimension-icon-risk { background: #fff0e7; color: var(--orange); }
.opinion-platform-mark { align-items: center; border-radius: 6px; display: inline-flex; flex: 0 0 23px; height: 23px; justify-content: center; }
.opinion-platform-mark svg { fill: none; height: 16px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 16px; }
.opinion-platform-bilibili { background: #eaf4ff; color: #2386c9; }
.opinion-platform-xiaohongshu { background: #fff0ef; color: #dd554e; }
.opinion-platform-douyin { background: #e9f6f4; color: #137b76; }
.opinion-platform-weibo { background: #fff1e8; color: #e66d35; }
.opinion-result-preview { border-radius: 22px; margin: 55px auto 0; max-width: none; padding: 22px; width: 100%; }
.opinion-result-heading-actions { align-items: flex-end; display: flex; flex-direction: column; gap: 10px; }
.opinion-result-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.opinion-result-actions .button { min-height: 36px; padding: 0 11px; }
.opinion-result-actions .button:disabled { cursor: not-allowed; opacity: .45; }
.opinion-result-title-row { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; }
.opinion-negative-filter { align-items: center; background: #fff5f3; border: 1px solid #f1c9c2; border-radius: 9px; color: #a14b3e; cursor: pointer; display: inline-flex; font-size: 11px; gap: 7px; margin-top: 11px; min-height: 30px; padding: 0 9px; }
.opinion-negative-filter:hover { background: #ffebe7; border-color: #e9afa5; }
.opinion-negative-filter input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.opinion-filter-check { background: #fff; border: 1px solid #d6aaa3; border-radius: 4px; flex: 0 0 15px; height: 15px; position: relative; width: 15px; }
.opinion-negative-filter input:focus-visible + .opinion-filter-check { box-shadow: 0 0 0 3px rgba(216,77,83,.16); }
.opinion-negative-filter input:checked + .opinion-filter-check { background: var(--red); border-color: var(--red); }
.opinion-negative-filter input:checked + .opinion-filter-check::after { border: solid #fff; border-width: 0 2px 2px 0; content: ''; height: 7px; left: 4px; position: absolute; top: 2px; transform: rotate(45deg); width: 3px; }
.preview-placeholder { background: #f4f7f5; border-color: var(--line); color: var(--muted); }
.preview-empty { align-items: center; border: 1px dashed #cddbd4; border-radius: 15px; display: flex; flex-direction: column; margin-top: 21px; min-height: 220px; justify-content: center; padding: 30px 18px; text-align: center; }
.preview-empty-icon { align-items: center; background: var(--mint); border-radius: 50%; color: var(--green); display: flex; height: 54px; justify-content: center; width: 54px; }
.preview-empty-icon svg { fill: none; height: 28px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 28px; }
.preview-empty h3 { font-size: 17px; margin-top: 15px; }
.preview-empty p { color: var(--muted); font-size: 12px; line-height: 1.7; margin-top: 7px; max-width: 390px; }
.opinion-status-ready { background: #edf8f3; border-color: var(--mint-strong); color: var(--green-dark); }
.opinion-status-ready .status-dot { background: var(--green); }
.opinion-feedback-success { background: #edf8f3; border-color: var(--mint-strong); color: var(--green-dark); }
.opinion-feedback-error { background: #fff0ed; border-color: #f2c6bd; color: #a14b3e; }
.opinion-feedback-loading { background: #eef5ff; border-color: #cbdcf7; color: #496b9e; }
.opinion-result-content { margin-top: 21px; }
.opinion-results-summary { align-items: center; background: #f4f8f5; border: 1px solid var(--line); border-radius: 12px; color: var(--muted); display: flex; flex-wrap: wrap; font-size: 12px; gap: 8px 20px; padding: 12px 14px; }
.opinion-results-summary strong { color: var(--ink); }
.opinion-ai-report { background: linear-gradient(135deg, #f4fbf7, #fff); border: 1px solid var(--mint-strong); border-radius: 16px; margin-top: 14px; padding: 17px; }
.opinion-ai-report-error { background: #fffaf9; border-color: #f2d6d0; color: #9b7169; }
.opinion-ai-report-heading { align-items: flex-start; display: flex; gap: 12px; justify-content: space-between; }
.opinion-ai-report-heading h3 { color: var(--ink); font-size: 19px; margin-top: 7px; }
.opinion-ai-model-badge { background: #e8f5ee; border: 1px solid #c9e7d8; border-radius: 99px; color: var(--green-dark); font-size: 10px; padding: 6px 9px; white-space: nowrap; }
.opinion-ai-module { background: rgba(255,255,255,.82); border: 1px solid #e0eee6; border-radius: 12px; margin-top: 11px; padding: 13px; }
.opinion-ai-module-heading { align-items: center; display: flex; gap: 10px; justify-content: space-between; }
.opinion-ai-module-heading h4 { color: var(--ink); font-size: 13px; }
.opinion-ai-level, .opinion-ai-module-count, .opinion-ai-urgency { border-radius: 99px; font-size: 10px; padding: 5px 8px; white-space: nowrap; }
.opinion-ai-level-safe { background: #e7f7ef; color: #16805b; }
.opinion-ai-level-warning, .opinion-ai-action-medium { background: #fff3dd; color: #a76622; }
.opinion-ai-level-critical, .opinion-ai-action-high { background: #ffebe7; color: #b54f42; }
.opinion-ai-action-low { background: #edf7f1; color: #16805b; }
.opinion-ai-module-count { background: #f0f5f2; color: var(--muted); }
.opinion-ai-urgency { background: #fff2df; color: #a76622; }
.opinion-ai-core-judgment { color: var(--ink); font-size: 14px; font-weight: 700; line-height: 1.65; margin-top: 11px; }
.opinion-ai-evidence-basis { color: var(--muted); font-size: 10px; line-height: 1.5; margin-top: 6px; }
.opinion-ai-accountability { border-top: 1px solid #edf2ef; margin-top: 12px; padding-top: 10px; }
.opinion-ai-accountability-row { margin-top: 9px; }
.opinion-ai-accountability-row > div:first-child { align-items: center; color: #52635c; display: flex; font-size: 11px; justify-content: space-between; }
.opinion-ai-accountability-row strong { color: var(--green-dark); }
.opinion-ai-accountability-track { background: #edf2ef; border-radius: 99px; height: 6px; margin-top: 5px; overflow: hidden; }
.opinion-ai-accountability-track i { background: var(--green); border-radius: inherit; display: block; height: 100%; }
.opinion-ai-accountability-row p { color: var(--muted); font-size: 10px; line-height: 1.4; margin-top: 4px; }
.opinion-ai-signal-list, .opinion-ai-focus-list, .opinion-ai-plan-actions { display: grid; gap: 7px; margin-top: 11px; }
.opinion-ai-signal, .opinion-ai-focus, .opinion-ai-plan-action { background: #f7faf8; border-radius: 9px; padding: 9px; }
.opinion-ai-signal-heading, .opinion-ai-focus-heading { align-items: center; display: flex; gap: 8px; justify-content: space-between; }
.opinion-ai-signal-heading strong, .opinion-ai-focus-heading h5 { color: var(--ink); font-size: 11px; }
.opinion-ai-signal-heading span, .opinion-ai-focus-heading span { color: var(--green-dark); font-size: 10px; white-space: nowrap; }
.opinion-ai-signal p, .opinion-ai-focus p, .opinion-ai-plan-action p { color: var(--muted); font-size: 10px; line-height: 1.55; margin-top: 5px; }
.opinion-ai-signal blockquote, .opinion-ai-focus blockquote { border-left: 2px solid var(--mint-strong); color: #63736c; font-size: 10px; line-height: 1.5; margin: 6px 0 0; padding-left: 7px; }
.opinion-ai-signal blockquote { background: transparent; }
.opinion-ai-signal blockquote, .opinion-ai-focus blockquote { quotes: none; }
.opinion-ai-signal blockquote::before, .opinion-ai-signal blockquote::after, .opinion-ai-focus blockquote::before, .opinion-ai-focus blockquote::after { content: none; }
.opinion-ai-focus blockquote span { color: #96a39e; display: block; font-size: 9px; margin-top: 3px; }
.opinion-ai-focus-meta { color: #96a39e; font-size: 9px; margin-top: 6px; }
.opinion-ai-unverified { background: #fff8e9; border-radius: 7px; color: #9b6a32; font-size: 10px; line-height: 1.5; margin-top: 8px; padding: 7px; }
.opinion-ai-strategy { background: #f0f8f3; border-radius: 9px; margin-top: 11px; padding: 10px; }
.opinion-ai-strategy strong { color: var(--green-dark); font-size: 13px; }
.opinion-ai-strategy p { color: #63736c; font-size: 10px; line-height: 1.55; margin-top: 5px; }
.opinion-ai-plan-action-heading { align-items: center; display: flex; gap: 8px; }
.opinion-ai-plan-action-heading span { background: #e6f4ed; border-radius: 4px; color: var(--green-dark); font-size: 10px; font-weight: 800; padding: 3px 5px; }
.opinion-ai-plan-action-heading strong { color: var(--ink); font-size: 10px; }
.opinion-ai-plan-action-heading em { color: #a76622; font-size: 9px; font-style: normal; margin-left: auto; }
.opinion-ai-plan-action small { color: #83928c; display: block; font-size: 9px; line-height: 1.5; margin-top: 5px; }
.opinion-ai-plan-footer { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 10px; }
.opinion-ai-plan-footer > div { border-top: 1px solid #edf2ef; padding-top: 8px; }
.opinion-ai-plan-footer strong { color: var(--ink); font-size: 10px; }
.opinion-ai-plan-footer p { color: var(--muted); font-size: 10px; line-height: 1.5; margin-top: 4px; }
.opinion-ai-summary { color: var(--ink); font-size: 14px; font-weight: 700; line-height: 1.65; margin-top: 14px; }
.opinion-ai-overview { display: grid; gap: 11px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin-top: 14px; }
.opinion-ai-sentiment-card, .opinion-ai-risk-card, .opinion-ai-topics { background: rgba(255,255,255,.82); border: 1px solid #e0eee6; border-radius: 12px; padding: 13px; }
.opinion-ai-card-label { color: var(--ink); font-size: 12px; font-weight: 800; }
.opinion-ai-card-label strong { color: var(--green-dark); float: right; }
.opinion-ai-score { align-items: baseline; color: var(--green-dark); display: flex; gap: 4px; margin-top: 7px; }
.opinion-ai-score strong { font-size: 29px; line-height: 1; }
.opinion-ai-score span { color: var(--muted); font-size: 11px; }
.opinion-ai-sentiment-bar { background: #edf0ee; border-radius: 99px; display: flex; height: 8px; margin-top: 12px; overflow: hidden; }
.opinion-ai-sentiment-bar span { display: block; height: 100%; }
.is-positive { background: #55b58f; }
.is-neutral { background: #aab7d9; }
.is-negative { background: #ee9877; }
.opinion-ai-percentages { color: var(--muted); display: flex; flex-wrap: wrap; font-size: 10px; gap: 8px 12px; margin-top: 7px; }
.opinion-ai-percentages i { border-radius: 50%; display: inline-block; height: 6px; margin-right: 3px; width: 6px; }
.opinion-ai-trend, .opinion-ai-suggestion { color: var(--muted); font-size: 11px; line-height: 1.6; margin-top: 10px; }
.opinion-ai-risk-card { border-color: #f3dfcd; }
.opinion-ai-risk-low { background: #fffdf7; }
.opinion-ai-risk-medium { background: #fffaf3; border-color: #f5d1a7; }
.opinion-ai-risk-high { background: #fff8f6; border-color: #efbdb3; }
.opinion-ai-risk-medium .opinion-ai-card-label strong, .opinion-ai-risk-high .opinion-ai-card-label strong { color: #b86135; }
.opinion-ai-risk-card ul { color: #6d5b51; font-size: 11px; line-height: 1.55; margin: 10px 0 0 16px; }
.opinion-ai-no-signal { color: var(--muted); font-size: 11px; line-height: 1.6; margin-top: 10px; }
.opinion-ai-topics { margin-top: 11px; }
.opinion-ai-topic { border-top: 1px solid #edf2ef; margin-top: 9px; padding-top: 9px; }
.opinion-ai-topic-title { align-items: center; display: flex; gap: 10px; justify-content: space-between; }
.opinion-ai-topic-title h4 { color: var(--ink); font-size: 12px; }
.opinion-ai-topic-title span { color: var(--green-dark); font-size: 10px; white-space: nowrap; }
.opinion-ai-topic p { color: var(--muted); font-size: 11px; line-height: 1.55; margin-top: 4px; }
.opinion-ai-topic blockquote { background: #f7faf8; border-left: 2px solid var(--mint-strong); color: #63736c; font-size: 10px; line-height: 1.5; margin: 7px 0 0; padding: 5px 8px; }
.opinion-platform-results { display: grid; gap: 14px; margin-top: 14px; }
.opinion-platform-result { background: #fbfdfc; border: 1px solid var(--line); border-radius: 15px; padding: 15px; }
.opinion-platform-result.is-error { background: #fffaf9; border-color: #f2d6d0; }
.opinion-platform-result-heading { align-items: center; display: flex; gap: 12px; justify-content: space-between; }
.opinion-platform-result-name { align-items: center; display: flex; gap: 9px; }
.opinion-platform-result-name h3 { font-size: 16px; }
.opinion-result-platform-icon { align-items: center; border-radius: 8px; display: inline-flex; flex: 0 0 28px; font-size: 16px; height: 28px; justify-content: center; }
.opinion-platform-result-count { color: var(--muted); font-size: 12px; white-space: nowrap; }
.opinion-platform-note { color: var(--muted); font-size: 11px; line-height: 1.5; margin-top: 9px; }
.opinion-item-list { display: grid; gap: 9px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 12px; }
.opinion-item { background: #fff; border: 1px solid #e6eee9; border-radius: 11px; display: flex; gap: 11px; min-width: 0; padding: 9px; }
.opinion-item-cover { background: #edf5f1; border-radius: 8px; flex: 0 0 78px; height: 78px; overflow: hidden; }
.opinion-item-cover img { height: 100%; object-fit: cover; width: 100%; }
.opinion-item-cover-fallback { align-items: center; color: var(--green); display: flex; font-size: 24px; height: 100%; justify-content: center; width: 100%; }
.opinion-item-main { min-width: 0; }
.opinion-item-type { color: var(--green); font-size: 10px; font-weight: 800; letter-spacing: .03em; }
.opinion-item h4 { color: var(--ink); font-size: 13px; line-height: 1.4; margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.opinion-item p { color: var(--muted); font-size: 11px; line-height: 1.5; margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.opinion-item-meta { align-items: center; color: #83928c; display: flex; font-size: 10px; gap: 7px; justify-content: space-between; margin-top: 7px; }
.opinion-item-link { color: var(--green-dark); flex-shrink: 0; text-decoration: none; }
.opinion-item-link:hover { text-decoration: underline; }
.opinion-item-stats { color: #83928c; display: flex; flex-wrap: wrap; font-size: 10px; gap: 8px; margin-top: 6px; }
.opinion-platform-empty { background: #fff; border: 1px dashed #e1c9c3; border-radius: 9px; color: #9b7169; font-size: 12px; line-height: 1.6; margin-top: 12px; padding: 12px; }
.opinion-comments { border-top: 1px solid #edf2ef; margin-top: 8px; padding-top: 7px; }
.opinion-comments summary { color: var(--green-dark); cursor: pointer; font-size: 10px; font-weight: 700; list-style: none; }
.opinion-comments summary::-webkit-details-marker { display: none; }
.opinion-comments summary::before { content: '＋'; display: inline-block; font-size: 11px; margin-right: 3px; }
.opinion-comments[open] summary::before { content: '－'; }
.opinion-comment-list { display: grid; gap: 6px; margin-top: 7px; max-height: 190px; overflow: auto; padding-right: 2px; }
.opinion-comment { background: #f7faf8; border-radius: 7px; padding: 6px 7px; }
.opinion-comment.is-reply { background: #f0f7f3; border-left: 2px solid var(--mint-strong); margin-left: 10px; }
.opinion-comment p { color: #52635c; font-size: 10px; line-height: 1.5; }
.opinion-comment p b { color: var(--green); }
.opinion-comment span { color: #96a39e; display: block; font-size: 9px; margin-top: 3px; }
.opinion-comment-empty { color: #9b7169; font-size: 10px; line-height: 1.5; margin-top: 6px; }
.opinion-analysis-note { align-items: flex-start; border: 1px solid var(--line); border-radius: 10px; display: flex; flex-wrap: wrap; font-size: 11px; gap: 8px; line-height: 1.5; margin-top: 12px; padding: 10px 12px; }
.opinion-analysis-note strong { color: var(--ink); }
.opinion-analysis-note.is-error { background: #fffaf9; border-color: #f2d6d0; color: #9b7169; }
.opinion-analysis-note.is-warning { background: #fffaf0; border-color: #f1dfb9; color: #9a7137; }
.opinion-table-panel { margin-top: 14px; }
.opinion-table-toolbar { align-items: center; background: #f7faf8; border: 1px solid var(--line); border-radius: 10px; color: var(--green-dark); display: flex; flex-wrap: wrap; font-size: 11px; gap: 6px 15px; justify-content: space-between; padding: 9px 11px; }
.opinion-report-empty { background: #fffaf9; border: 1px dashed #e1c9c3; border-radius: 10px; color: #9b7169; font-size: 12px; line-height: 1.6; margin-top: 14px; padding: 13px; }
.opinion-report-empty-filter { margin-top: 10px; }
.opinion-report-table-wrap { border: 1px solid var(--line); border-radius: 12px; margin-top: 10px; overflow: visible; }
.opinion-report-table { background: #fff; border-collapse: collapse; color: #52635c; font-size: 11px; min-width: 0; table-layout: fixed; width: 100%; }
.opinion-report-table .col-number { width: 3.5%; }
.opinion-report-table .col-date { width: 7%; }
.opinion-report-table .col-link { width: 8%; }
.opinion-report-table .col-content { width: 21%; }
.opinion-report-table .col-interaction { width: 7.5%; }
.opinion-report-table .col-heat { width: 8%; }
.opinion-report-table .col-comments { width: 12%; }
.opinion-report-table .col-sentiment { width: 8%; }
.opinion-report-table .col-analysis { width: 17%; }
.opinion-report-table .col-priority { width: 8%; }
.opinion-report-table th { background: #f4f8f5; border-bottom: 1px solid var(--line); color: #667770; font-size: 11px; font-weight: 800; padding: 11px 8px; text-align: left; white-space: normal; }
.opinion-report-table td { border-bottom: 1px solid #edf2ef; min-width: 0; overflow-wrap: anywhere; padding: 11px 8px; vertical-align: top; }
.opinion-report-table tbody tr:last-child td { border-bottom: 0; }
.opinion-report-table tbody tr:hover { background: #fbfdfc; }
.opinion-table-number { color: var(--muted); text-align: center; }
.opinion-table-date { color: var(--ink); font-weight: 700; }
.opinion-report-table small { color: #8a9892; display: block; font-size: 10px; line-height: 1.45; margin-top: 4px; }
.opinion-table-link-details { min-width: 0; }
.opinion-table-link-details summary { align-items: center; color: var(--green-dark); cursor: pointer; display: flex; gap: 4px; list-style: none; line-height: 1.4; }
.opinion-table-link-details summary::-webkit-details-marker { display: none; }
.opinion-table-link-details summary::before { content: '＋'; flex: 0 0 auto; font-size: 12px; }
.opinion-table-link-details[open] summary::before { content: '－'; }
.opinion-table-link-details summary small { color: var(--muted); display: block; font-size: 9px; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.opinion-table-link { color: var(--green-dark); display: block; line-height: 1.5; margin-top: 7px; overflow-wrap: anywhere; text-decoration: none; }
.opinion-table-link:hover { text-decoration: underline; }
.opinion-table-title { color: var(--ink); font-size: 12px; font-weight: 800; line-height: 1.5; }
.opinion-table-excerpt { color: var(--muted); line-height: 1.5; margin-top: 5px; max-height: 3em; overflow: hidden; }
.opinion-table-interaction { display: grid; gap: 5px; grid-template-columns: 1fr; line-height: 1.4; }
.opinion-table-interaction span { color: #83928c; white-space: nowrap; }
.opinion-table-interaction b { color: var(--ink); font-weight: 700; }
.opinion-sort-button { align-items: center; background: transparent; border: 0; color: inherit; display: inline-flex; font: inherit; font-weight: 800; gap: 5px; padding: 0; }
.opinion-sort-button:hover, .opinion-sort-button.is-active { color: var(--green-dark); }
.opinion-sort-button span { color: var(--green); font-size: 13px; line-height: 1; }
.opinion-table-badge { border-radius: 99px; display: inline-block; font-size: 10px; font-weight: 800; line-height: 1; padding: 6px 8px; white-space: nowrap; }
.opinion-table-heat-high, .opinion-table-sentiment-negative, .opinion-table-priority-p0 { background: #ffebe7; color: #b54f42; }
.opinion-table-heat-medium, .opinion-table-priority-p1 { background: #fff3dd; color: #a76622; }
.opinion-table-heat-low, .opinion-table-sentiment-positive, .opinion-table-priority-p3 { background: #e7f7ef; color: #16805b; }
.opinion-table-sentiment-neutral, .opinion-table-priority-p2 { background: #edf3f0; color: #64766e; }
.opinion-table-score { color: var(--ink); display: block; font-size: 12px; margin-top: 7px; }
.opinion-table-analysis { color: #52635c; line-height: 1.55; }
.opinion-table-muted { color: #9aa6a1; line-height: 1.5; }
.opinion-table-comments summary { color: var(--green-dark); cursor: pointer; font-size: 11px; font-weight: 700; list-style: none; }
.opinion-table-comments summary::-webkit-details-marker { display: none; }
.opinion-table-comments summary::before { content: '＋'; display: inline-block; margin-right: 3px; }
.opinion-table-comments[open] summary::before { content: '－'; }
.opinion-table-comments ul { display: grid; gap: 6px; list-style: none; margin: 8px 0 0; max-height: 210px; overflow-y: auto; padding: 0 2px 0 0; }
.opinion-table-comment { background: #f7faf8; border-radius: 7px; padding: 7px; }
.opinion-table-comment.is-reply { background: #f0f7f3; border-left: 2px solid var(--mint-strong); margin-left: 9px; }
.opinion-table-comment p { color: #52635c; line-height: 1.5; }
.opinion-table-comment p b { color: var(--green); }
.opinion-table-comment small { margin-top: 3px; }
.opinion-table-note { color: #9b7169; font-size: 10px; line-height: 1.5; margin-top: 6px; }

@media (max-width: 780px) {
  .opinion-shell .site-header { margin-bottom: 52px; }
  .opinion-workspace { grid-template-columns: 1fr; }
  .opinion-guide { padding: 18px 20px; }
  .opinion-dimension-list { grid-template-columns: repeat(3, 1fr); margin-top: 17px; }
  .opinion-dimension { display: block; }
  .opinion-dimension strong { margin-top: 7px; }
}

@media (max-width: 560px) {
  .opinion-input-card, .opinion-guide, .opinion-result-preview { border-radius: 17px; padding: 16px 15px; }
  .opinion-hero p { font-size: 15px; }
  .opinion-card-heading h2, .preview-heading h2 { font-size: 21px; }
  .opinion-status, .preview-placeholder { font-size: 10px; padding: 6px 8px; }
  .opinion-dimension-list { gap: 9px; }
  .opinion-dimension small { font-size: 10px; }
  .opinion-platform-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .opinion-time-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .opinion-sample-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .opinion-depth-options { grid-template-columns: 1fr; }
  .opinion-time-custom { grid-column: span 2; }
  .opinion-sample-custom { grid-column: span 2; }
  .opinion-input-footer { align-items: stretch; flex-direction: column; }
  .opinion-input-footer .button { width: 100%; }
  .opinion-result-preview { margin-top: 38px; }
  .preview-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
  .opinion-result-heading-actions { align-items: stretch; width: 100%; }
  .opinion-result-actions { justify-content: flex-start; }
  .opinion-ai-overview { grid-template-columns: 1fr; }
  .opinion-item-list { grid-template-columns: 1fr; }
  .opinion-platform-result-heading { align-items: flex-start; flex-direction: column; gap: 6px; }
}
