/* Shared, content-scoped presentation for research tools. */
.research-minimal { --shadow: none; }
.research-minimal :is(main, .page-shell) { --minimal-line: #e7ebf0; }
.research-minimal :is(main, .page-shell) :is(h2, h3, h4) { font-weight: 600; letter-spacing: -.025em; }
.research-minimal :is(main, .page-shell) h2 { font-size: 18px; }
.research-minimal :is(main, .page-shell) h3 { font-size: 15px; }
.research-minimal :is(main, .page-shell) h4 { font-size: 13px; }
.research-minimal .topmoat-tool-guide { padding: 10px 0 !important; border: 0 !important; border-bottom: 1px solid #e7ebf0 !important; border-radius: 0 !important; font-size: 12px !important; color: #64748b; }
.research-minimal .topmoat-tool-guide h2 { font-size: 14px !important; }
.research-minimal .topmoat-tool-guide p { margin: 6px 0; line-height: 1.65; }
.research-minimal :is(.control-card, .table-card, .results-panel, .etf-table-card, .compare-panel, .section-card, .panel, .analysis-section, .deskroom-header, .judgment-flow-section, .decision-panel, .scenario-card, .company-card) { border-radius: 6px; box-shadow: none; border-color: #e7ebf0; }
.research-minimal :is(.control-card, .section-card, .analysis-section, .deskroom-header, .judgment-flow-section) { padding: 14px; }
.research-minimal :is(.search-box, .search-container, .search-wrap, .search-line, .search-wrapper) { box-shadow: none; border-radius: 6px; }
.research-minimal :is(.search-box, .search-container) { padding-left: 12px; padding-right: 12px; }
.research-minimal :is(.search-box, .search-container, .search-wrap, .search-wrapper) input { border-radius: 5px; font-size: 13px; font-weight: 400; min-height: 36px; }
.research-minimal .search-box input { height: 40px; }
.research-minimal :is(.search-help, .section-note, .page-subtitle) { font-size: 12px; font-weight: 400; line-height: 1.6; }
.research-minimal :is(.primary-button, .secondary-button, .market-tab, .filter-buttons button, .mode-button, .range-button, .reset-zoom-button, .detail-button, .remove-button, .export-csv-button, .table-selection-compare, .table-selection-clear, .etf-market-filter button, .yield-filter-apply, .yield-filter-clear, .analysis-section-nav a, .round-number-toggle) { min-height: 30px; padding: 6px 10px; border-radius: 5px; font-size: 12px; font-weight: 500; box-shadow: none; }
.research-minimal :is(.market-tabs, .etf-market-filter) { padding: 0; gap: 4px; background: transparent; border: 0; box-shadow: none; }
.research-minimal :is(.market-tab, .etf-market-filter button, .filter-buttons button, .mode-button, .range-button) { background: #fff; border: 1px solid #e7ebf0; color: #596579; }
.research-minimal :is(.market-tab.is-active, .etf-market-filter button.is-active, .filter-buttons button.active, .mode-button.is-active, .range-button.active, .range-button.is-active) { background: #edf4ff; color: #2563a6; border-color: #b9d2f3; }
.research-minimal :is(.chip, .match-chip, .search-tag) { padding: 4px 7px; border-radius: 4px; font-size: 11px; }
.research-minimal :is(.results-head, .selection-bar, .table-card-head) { padding: 12px 14px; gap: 10px; background: #fff; }
.research-minimal .selection-actions strong { font-size: 12px; font-weight: 400; }
.research-minimal .result-row { padding: 14px; gap: 12px; }
.research-minimal .result-main strong { font-size: 13px; font-weight: 500; }
.research-minimal .result-main small { font-size: 11px; margin-top: 4px; }
.research-minimal .match-row { margin-top: 6px; }
.research-minimal .result-metrics b { font-size: 12px; font-weight: 500; }
.research-minimal .results-column-head { padding: 10px 14px; background: #fafbfc; font-size: 11px; }
.research-minimal :is(.sector-table, .etf-data-table, .comparison-table, .fluctuation-table, .mini-table) :is(th, td) { padding: 9px 10px; font-size: 12px; font-weight: 400; border-color: #eef0f3; }
.research-minimal :is(.sector-table, .etf-data-table, .comparison-table, .fluctuation-table, .mini-table) th { background: #fafbfc; font-size: 11px; font-weight: 500; }
.research-minimal :is(.table-scroll, .etf-table-scroll) { border-radius: 5px; box-shadow: none; }
.research-minimal :is(.sector-table, .etf-data-table) :is(th, td) { box-shadow: none; }
.research-minimal :is(.etf-table-result-count, .table-selection-count, .table-sort-button, .sortable) { font-weight: 500; }
.research-minimal :is(.yield-range-filter, .yield-checkbox-filter, .exclude-words-filter, .filter-input-wrap) { border-radius: 5px; background: #fff; padding: 7px; }
.research-minimal .yield-range-filter label { font-size: 11px; font-weight: 500; }
.research-minimal :is(.yield-range-filter, .filter-input-wrap, .exclude-words-filter) input { border-radius: 4px; font-size: 12px; min-height: 30px; }
.research-minimal :is(.filter-label, .filter-input-wrap label) { font-size: 12px; font-weight: 500; }
.research-minimal .search-panel { max-width: none; }
.research-minimal .results-panel { margin-top: 18px; }
.research-minimal .db-chip { background: transparent; border: 0; font-size: 10px; color: #7d8795; }
/* Data cards retain their meaning with less decorative weight. */
.research-minimal :is(.metric-chip, .factor-card, .stat-row, .dividend-tile, .dna-feature, .dividend-chart-card) { padding: 10px; border-radius: 5px; box-shadow: none; background: #fff; border-color: #e7ebf0; }
.research-minimal :is(.metric-chip, .dividend-tile, .dna-feature) strong { font-size: 22px; font-weight: 600; }
.research-minimal :is(.metric-chip, .dividend-tile, .dna-feature) span { font-size: 12px; font-weight: 400; }
.research-minimal .stock-hero { padding: 14px; }
.research-minimal .stock-hero h2 { font-size: 26px; }
.research-minimal .price-box strong { font-size: 24px; font-weight: 600; }
.research-minimal .pattern-label { background: transparent; padding: 6px 0; font-size: 11px; font-weight: 400; }
.research-minimal :is(.stat-row, .period-name) strong { font-weight: 500; }
.research-minimal .deskroom-inputs > :is(button, a) { padding: 8px 12px; border-radius: 5px; font-size: 12px; font-weight: 500; box-shadow: none; }
.research-minimal .deskroom-inputs input { font-size: 14px; border-radius: 5px; }
.research-minimal .progress-panel { padding: 10px; border-radius: 5px; background: #fafbfc; }
.research-minimal .progress-track { height: 5px; border-radius: 2px; }
.research-minimal .progress-fill { background: #6484a5; }
.research-minimal :is(.judgment-flow-card, .judgment-node, .judgment-step, .entry-timing-panel) { border-radius: 5px; box-shadow: none; padding: 12px; }
@media (max-width: 600px) {
    .research-minimal :is(.control-card, .section-card, .analysis-section, .deskroom-header, .judgment-flow-section) { padding: 10px; }
    .research-minimal :is(.sector-table, .etf-data-table, .comparison-table, .fluctuation-table, .mini-table) :is(th, td) { padding: 8px 6px; font-size: 11px; }
    .research-minimal .result-row { padding: 12px 10px; }
}
