/* Research follows the shared golden-reference type scale. */
.research-filters { border-top: 1px solid var(--line); }
.research-filters > summary { display: flex; align-items: center; gap: 9px; padding: 14px 24px; font-size: var(--text-ui); color: var(--secondary); cursor: pointer; list-style: none; }
.research-filters > summary span { margin-left: auto; font-size: var(--text-supporting); color: var(--muted); }
.research-filters > summary .icon { width: 15px; height: 15px; }
.research-filters > summary::-webkit-details-marker, .research-disclosure > summary::-webkit-details-marker { display: none; }
.research-filters[open] > summary > .icon:last-child, .research-disclosure[open] > summary > .icon { transform: rotate(45deg); }
.research-action-row { display: grid; grid-template-columns: 165px minmax(0, 1fr) auto; align-items: center; gap: 28px; padding: 26px 24px; border-top: 1px solid var(--line); }
.research-action-row.is-start { background: var(--subtle); box-shadow: inset 3px 0 var(--ink); }
.research-action-instrument { display: grid; align-content: start; gap: 12px; }
.research-action-copy { min-width: 0; }
.research-action-copy h3 { font-size: var(--text-lead); font-weight: 550; line-height: 1.5; }
.research-action-copy > p:not(.eyebrow) { color: var(--secondary); font-size: var(--text-ui); line-height: 1.7; margin-top: 7px; max-width: 580px; }
.research-action-copy > .eyebrow { margin-bottom: 8px; }
.research-why-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; color: var(--secondary); font-size: var(--text-ui); text-decoration: underline; text-underline-offset: 3px; }
.research-why-link .icon { width: 14px; height: 14px; }
.research-action-row > a { white-space: nowrap; }
.research-focused-brief { max-width: 900px; display: grid; gap: 18px; }
.research-action-card { padding: 28px; border-top: 3px solid var(--ink); }
.research-action-card h2 { font-size: var(--text-subheading); font-weight: 500; letter-spacing: -.035em; line-height: 1.35; margin: 12px 0; }
.research-action-cta { display: flex; gap: 22px; align-items: center; margin-top: 23px; }
.research-action-cta > a { flex-shrink: 0; }
.research-action-cta > p, .research-verification-action > p { font-size: var(--text-supporting); line-height: 1.7; color: var(--secondary); max-width: 470px; }
.research-revisit { display: flex; align-items: flex-start; gap: 13px; padding: 8px 4px; }
.research-revisit > .icon { width: 19px; flex-shrink: 0; margin-top: 2px; color: var(--muted); }
.research-revisit h2 { font-size: var(--text-ui); font-weight: 600; }
.research-revisit p { font-size: var(--text-ui); line-height: 1.7; color: var(--secondary); margin-top: 6px; }
.research-revisit .button-secondary { margin-top: 14px; }
.research-disclosure > summary { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 20px 24px; cursor: pointer; list-style: none; }
.research-disclosure > summary strong { font-size: var(--text-action); font-weight: 550; }
.research-disclosure > summary small { display: block; font-size: var(--text-supporting); line-height: 1.6; color: var(--muted); margin-top: 4px; }
.research-disclosure > summary > .icon { width: 16px; height: 16px; flex-shrink: 0; }
.research-assessment-explanation { padding: 20px 24px; border-top: 1px solid var(--line); }
.research-assessment-explanation h2 { font-size: var(--text-lead); margin-bottom: 9px; }
.research-assessment-explanation p { font-size: var(--text-ui); line-height: 1.7; color: var(--secondary); }
.research-assessment-explanation .research-evidence-window { margin-top: 14px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 7px; background: var(--subtle); font-size: var(--text-supporting); }
.research-provenance { padding: 0 24px 20px; font-size: var(--text-supporting); color: var(--muted); line-height: 1.7; }
.research-context.research-context-inset { padding: 10px 24px 20px; }
.research-verification-action { padding: 0 24px 24px; display: grid; justify-items: start; gap: 12px; }
#verification { scroll-margin-top: 90px; }
.research-wayfinding { display: flex; align-items: center; gap: 24px; padding: 0 0 20px; margin-bottom: 28px; border-bottom: 1px solid var(--line); }
.research-wayfinding a { display: inline-flex; align-items: center; gap: 9px; color: var(--secondary); font-size: var(--text-ui); }
.research-wayfinding a[aria-current] { color: var(--ink); font-weight: 600; }
.research-wayfinding a > span { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid var(--line); border-radius: 50%; font-size: var(--text-compact); }
.research-wayfinding a[aria-current] > span { background: var(--ink); border-color: var(--ink); color: var(--surface); }
.research-wayfinding .icon { width: 15px; height: 15px; }
.research-wayfinding > p { margin-left: auto; max-width: 280px; color: var(--muted); font-size: var(--text-supporting); }
.research-library { overflow: hidden; }
.research-sample { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: var(--text-supporting); white-space: nowrap; }
.research-symbol { display: flex; gap: 10px; align-items: center; min-width: 0; }
.research-symbol > span:last-child { min-width: 0; }
.research-symbol strong { display: block; font-size: var(--text-action); font-weight: 600; }
.research-symbol small { display: block; color: var(--muted); font-size: var(--text-supporting); margin-top: 3px; }
.research-origin, .research-status { display: inline-flex; align-items: center; width: fit-content; padding: 4px 8px; border: 1px solid var(--line); border-radius: 5px; color: var(--secondary); font-size: var(--text-compact); line-height: 1.5; font-weight: 500; }
.research-origin.is-ai { border-color: var(--semantic-info-line); color: var(--semantic-info); background: var(--semantic-info-bg); }
.research-idea-content > a:hover h3 { text-decoration: underline; text-underline-offset: 4px; }
.research-dot { display: inline-block; width: 6px; height: 6px; flex-shrink: 0; border-radius: 50%; background: var(--secondary); }
.research-dot.supporting { background: var(--semantic-success); }
.research-dot.conflicting { background: var(--semantic-warning); }
.research-text-link { display: inline-flex; align-items: center; gap: 7px; font-size: var(--text-ui); font-weight: 600; }
.research-text-link .icon { width: 16px; height: 16px; }
.research-demo-caption { margin-top: 24px; font-size: var(--text-supporting); color: var(--muted); line-height: 1.7; }
.research-workbench { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 30px; align-items: start; }
.research-main { min-width: 0; display: grid; gap: 22px; }
.research-lead { color: var(--secondary); font-size: var(--text-lead); line-height: 1.8; overflow-wrap: anywhere; white-space: pre-line; }
.research-confidence { margin-top: 25px; padding-top: 20px; display: flex; gap: 10px; border-top: 1px solid var(--line); }
.research-confidence .icon { width: 16px; color: var(--semantic-info); }
.research-confidence strong { font-size: var(--text-ui); font-weight: 600; }
.research-confidence p { font-size: var(--text-ui); margin-top: 5px; line-height: 1.65; color: var(--secondary); }
.research-signal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 20px; background: var(--line); border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.research-signal-grid > div { min-width: 0; padding: 13px; background: var(--surface); }
.research-signal-grid span { display: block; color: var(--muted); font-size: var(--text-compact); margin-bottom: 5px; }
.research-signal-grid strong { font-size: var(--text-supporting); font-weight: 600; overflow-wrap: anywhere; }
.research-run-strip { margin-bottom: 18px; overflow: hidden; }
.research-run-list > a { display: grid; grid-template-columns: minmax(0, 1fr) auto 18px; align-items: center; gap: 16px; padding: 16px 24px; border-top: 1px solid var(--line); }
.research-run-list > a:hover strong { text-decoration: underline; text-underline-offset: 3px; }
.research-run-list strong, .research-run-list small { display: block; }
.research-run-list small { color: var(--muted); font-size: var(--text-supporting); margin-top: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.research-run-list .icon { width: 15px; color: var(--muted); }
.research-run-state { font-size: var(--text-compact); color: var(--secondary); white-space: nowrap; }
.research-run-state.state-succeeded { color: var(--semantic-success); }
.research-run-state.state-failed { color: var(--semantic-warning); }
.research-run-form { max-width: 900px; }
.research-run-option { display: flex; align-items: flex-start; gap: 12px; margin-top: 24px; padding: 16px; border: 1px solid var(--line); border-radius: 8px; cursor: pointer; }
.research-run-option input { margin-top: 4px; }
.research-run-option strong, .research-run-option small { display: block; }
.research-run-option strong { font-size: var(--text-ui); }
.research-run-option small { margin-top: 5px; color: var(--muted); font-size: var(--text-supporting); line-height: 1.6; }
.research-run-summary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); overflow: hidden; }
.research-run-summary > div { padding: 20px; border-right: 1px solid var(--line); }
.research-run-summary span, .research-run-summary strong { display: block; }
.research-run-summary span { color: var(--muted); font-size: var(--text-supporting); margin-bottom: 8px; }
.research-run-summary strong { font-size: var(--text-ui); overflow-wrap: anywhere; }
.research-run-summary > p { grid-column: 1 / -1; padding: 18px 20px; border-top: 1px solid var(--line); color: var(--secondary); font-size: var(--text-ui); line-height: 1.7; }
.research-run-evidence > details { border-top: 1px solid var(--line); }
.research-run-evidence summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 24px; list-style: none; cursor: pointer; }
.research-run-evidence summary::-webkit-details-marker { display: none; }
.research-run-evidence summary strong, .research-run-evidence summary small { display: block; }
.research-run-evidence summary small { color: var(--muted); font-size: var(--text-supporting); margin-top: 5px; }
.research-run-evidence summary .icon { width: 15px; }
.research-run-evidence details[open] summary .icon { transform: rotate(45deg); }
.research-run-evidence details > div { padding: 0 24px 20px; }
.research-run-evidence p { color: var(--secondary); font-size: var(--text-ui); line-height: 1.7; margin-top: 10px; }
.research-run-evidence a { display: inline-flex; align-items: center; gap: 6px; margin-top: 16px; text-decoration: underline; text-underline-offset: 3px; font-size: var(--text-supporting); }
.research-run-evidence a .icon { width: 14px; }
.research-run-evidence time { display: block; color: var(--muted); font-size: var(--text-compact); margin-top: 7px; }
.research-run-result { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px; }
.research-run-result h2 { margin-top: 8px; font-size: var(--text-lead); }
.research-run-result p:not(.eyebrow) { margin-top: 8px; color: var(--secondary); font-size: var(--text-ui); line-height: 1.7; }
.research-run-result > a { flex-shrink: 0; }
.research-evidence-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.research-evidence-columns > div { padding: 22px; }
.research-evidence-columns > div + div { border-left: 1px solid var(--line); }
.research-evidence-columns h3 { display: flex; align-items: center; gap: 7px; font-size: var(--text-ui); font-weight: 600; margin-bottom: 16px; line-height: 1.5; }
.research-evidence-columns h3 > span:last-child { margin-left: auto; font-size: var(--text-supporting); color: var(--muted); }
.research-evidence-item { border-top: 1px solid var(--line); }
.research-evidence-item summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 15px 0; font-size: var(--text-ui); font-weight: 500; cursor: pointer; list-style: none; }
.research-evidence-item summary::-webkit-details-marker, .research-glossary summary::-webkit-details-marker { display: none; }
.research-evidence-item summary .icon { width: 14px; height: 14px; color: var(--muted); }
.research-evidence-item[open] summary .icon { transform: rotate(45deg); }
.research-evidence-item > div { padding-bottom: 18px; }
.research-evidence-item p { font-size: var(--text-ui); line-height: 1.7; color: var(--secondary); }
.research-meaning { margin-top: 14px; }
.research-meaning strong { display: block; color: var(--ink); font-weight: 550; margin-bottom: 4px; }
.research-source { display: flex; gap: 6px; align-items: flex-start; margin-top: 16px; font-size: var(--text-supporting); text-decoration: underline; text-underline-offset: 3px; }
.research-source .icon { width: 13px; height: 16px; }
.research-evidence-item time { display: block; margin-top: 6px; color: var(--muted); font-size: var(--text-compact); }
.research-perspectives { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0 24px 25px; gap: 22px; }
.research-perspective-icon { display: grid; place-items: center; width: 32px; height: 32px; background: var(--subtle); border-radius: 7px; border: 1px solid var(--line); margin-bottom: 14px; }
.research-perspective-icon .icon { width: 16px; }
.research-perspectives h3 { font-size: var(--text-ui); font-weight: 600; line-height: 1.5; margin-bottom: 8px; }
.research-perspectives p { font-size: var(--text-ui); line-height: 1.75; color: var(--secondary); }
.research-unknowns ol { counter-reset: questions; list-style: none; padding: 0 24px 24px; margin: 0; }
.research-unknowns li { counter-increment: questions; display: flex; gap: 14px; padding: 13px 0; border-top: 1px solid var(--line); font-size: var(--text-ui); line-height: 1.7; }
.research-unknowns li::before { content: "0" counter(questions); color: var(--muted); font-size: var(--text-supporting); }
.research-rail { min-width: 0; }
.research-next { padding: 8px 0 25px; }
.research-next h2 { margin: 18px 0 14px; font-size: var(--text-subheading); line-height: 1.35; font-weight: 500; letter-spacing: -.035em; }
.research-next > p:not(.eyebrow) { font-size: var(--text-ui); color: var(--secondary); line-height: 1.8; }
.research-next > .button-primary { width: 100%; margin-top: 22px; }
.research-action-note { display: block; font-size: var(--text-supporting); color: var(--muted); line-height: 1.7; margin-top: 12px; }
.research-context { padding: 22px 0; border-top: 1px solid var(--line); }
.research-context h3 { font-size: var(--text-ui); font-weight: 600; margin-bottom: 13px; }
.research-context a { display: flex; align-items: center; gap: 10px; padding: 9px 0; font-size: var(--text-ui); }
.research-context a > span { flex: 1; overflow-wrap: anywhere; }
.research-context a > .icon { width: 15px; color: var(--muted); }
.research-context small { display: block; margin-top: 5px; font-size: var(--text-supporting); color: var(--muted); }
.research-glossary { padding: 18px; background: var(--subtle); border: 1px solid var(--line); border-radius: 8px; }
.research-glossary summary { display: flex; gap: 9px; justify-content: space-between; align-items: center; list-style: none; font-size: var(--text-ui); font-weight: 500; cursor: pointer; }
.research-glossary .icon { width: 15px; color: var(--muted); }
.research-glossary p { font-size: var(--text-supporting); color: var(--secondary); line-height: 1.8; margin-top: 13px; }
.research-terms { margin-top: 14px; }
.research-idea-list { border-top: 1px solid var(--line); }
.research-idea-row { display: grid; grid-template-columns: 170px minmax(0, 1fr) 30px; gap: 26px; padding: 27px 24px; }
.research-idea-row + .research-idea-row { border-top: 1px solid var(--line); }
.research-idea-instrument { display: grid; grid-template-columns: 34px 1fr; align-content: start; gap: 10px; align-items: center; }
.research-idea-instrument .instrument-avatar { width: 34px; height: 34px; }
.research-idea-instrument strong { font-size: var(--text-ui); font-weight: 600; }
.research-idea-instrument .research-origin { grid-column: 1 / -1; }
.research-idea-topline { display: flex; gap: 12px; justify-content: space-between; align-items: center; flex-wrap: wrap; margin-bottom: 12px; }
.research-idea-topline > span:last-child { font-size: var(--text-supporting); color: var(--muted); }
.research-status.status-proposed { color: var(--semantic-info); border-color: var(--semantic-info-line); background: var(--semantic-info-bg); }
.research-status.status-setaside { color: var(--muted); background: var(--subtle); }
.research-idea-content { min-width: 0; }
.research-idea-content h3 { font-size: 19px; font-weight: 550; letter-spacing: -.025em; line-height: 1.5; overflow-wrap: anywhere; }
.research-idea-content > p { font-size: var(--text-ui); color: var(--secondary); line-height: 1.7; margin-top: 9px; overflow-wrap: anywhere; }
.research-idea-facts { display: flex; gap: 30px; flex-wrap: wrap; margin-top: 18px; }
.research-idea-facts > span { font-size: var(--text-ui); }
.research-idea-facts small { display: block; font-size: var(--text-supporting); color: var(--muted); margin-bottom: 5px; }
.research-open-idea { display: flex; align-items: center; justify-content: center; width: 30px; height: 34px; border: 1px solid var(--line); border-radius: 6px; }
.research-open-idea .icon { width: 16px; }
.research-bottom-note { display: flex; gap: 12px; margin-top: 22px; font-size: var(--text-ui); color: var(--secondary); line-height: 1.7; }
.research-bottom-note .icon { width: 17px; }
.research-thesis { padding: 27px; }
.research-section-topline { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 22px; }
.research-thesis-meta { display: flex; gap: 35px; flex-wrap: wrap; margin-top: 24px; border-top: 1px solid var(--line); padding-top: 20px; }
.research-thesis-meta small { display: block; color: var(--muted); font-size: var(--text-supporting); margin-bottom: 6px; }
.research-thesis-meta strong { font-size: var(--text-ui); font-weight: 550; }
.research-unit { font-size: var(--text-supporting); color: var(--muted); }
.research-price-plan { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 12px 24px 25px; gap: 0; }
.research-price-plan > div { border-top: 2px solid var(--strong-line); padding: 18px 13px 0 0; position: relative; min-width: 0; }
.research-plan-marker { width: 9px; height: 9px; border: 2px solid var(--surface); background: var(--ink); position: absolute; left: 0; top: -5px; border-radius: 50%; box-shadow: 0 0 0 1px var(--strong-line); }
.price-stop .research-plan-marker { background: var(--semantic-warning); }
.price-target .research-plan-marker { background: var(--semantic-success); }
.research-price-plan > div > span:not(.research-plan-marker) { color: var(--secondary); font-size: var(--text-supporting); }
.research-price-plan strong { display: block; font-size: var(--text-action); line-height: 1.6; margin: 9px 0; font-weight: 600; overflow-wrap: anywhere; }
.research-price-plan p { color: var(--muted); font-size: var(--text-supporting); line-height: 1.7; }
.research-scenario { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 22px 24px; gap: 20px; background: var(--subtle); border-top: 1px solid var(--line); border-radius: 0 0 12px 12px; }
.research-scenario span { font-size: var(--text-supporting); color: var(--muted); }
.research-scenario strong { display: block; margin-top: 9px; font-size: 25px; font-weight: 500; letter-spacing: -.04em; }
.research-scenario p { grid-column: 1 / -1; color: var(--secondary); font-size: var(--text-supporting); line-height: 1.7; }
.research-risk > p { padding: 0 24px 24px; font-size: var(--text-action); line-height: 1.8; color: var(--secondary); white-space: pre-line; overflow-wrap: anywhere; }
.research-linked-brief { display: flex; align-items: center; justify-content: space-between; padding: 24px; gap: 20px; }
.research-linked-brief h2 { font-size: var(--text-lead); font-weight: 550; line-height: 1.6; margin: 10px 0; }
.research-linked-brief p:not(.eyebrow) { font-size: var(--text-supporting); color: var(--secondary); }
.research-linked-brief .button-secondary { flex-shrink: 0; }
.research-timeline { list-style: none; padding: 0 24px 24px; margin: 0; }
.research-timeline li { position: relative; display: flex; gap: 17px; padding-bottom: 24px; }
.research-timeline li:last-child { padding-bottom: 0; }
.research-timeline li::before { content: ""; position: absolute; left: 3px; width: 1px; top: 10px; bottom: 0; background: var(--line); }
.research-timeline li:last-child::before { display: none; }
.research-timeline-dot { width: 7px; height: 7px; margin-top: 7px; border-radius: 50%; background: var(--strong-line); flex-shrink: 0; }
.research-timeline strong { display: block; font-size: var(--text-ui); font-weight: 600; }
.research-timeline li > div > span { display: block; font-size: var(--text-supporting); color: var(--muted); margin-top: 5px; }
.research-timeline p { font-size: var(--text-ui); color: var(--secondary); line-height: 1.7; margin-top: 9px; white-space: pre-line; overflow-wrap: anywhere; }
.research-decision-form { margin-top: 22px; }
.research-decision-form label { display: block; font-size: var(--text-ui); margin-bottom: 9px; }
.research-decision-form textarea { width: 100%; resize: vertical; border: 1px solid var(--strong-line); border-radius: 7px; background: var(--surface); color: var(--ink); padding: 11px; font-size: var(--text-ui); line-height: 1.7; }
.research-decision-form .button-primary, .research-decision-form .button-secondary { width: 100%; margin-top: 12px; }
.research-editor { min-width: 0; }
.research-form-section { padding: 26px; }
.research-form-section + .research-form-section { border-top: 1px solid var(--line); }
.research-form-section .field-group { margin-top: 22px; }
.research-editor .form-control { font-size: var(--text-ui); line-height: 1.7; }
.research-editor .field-help { font-size: var(--text-supporting); }
.research-editor .form-section-heading h2 { font-size: var(--text-lead); }
.research-editor .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.research-price-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.research-price-fields .field-group { min-width: 0; }
.research-price-fields input { width: 100%; min-width: 0; }
.research-input-unit { margin-top: 22px; font-size: var(--text-supporting); color: var(--secondary); line-height: 1.7; }
.research-live-comparison { display: flex; gap: 10px; padding: 16px; margin-top: 22px; border: 1px solid var(--line); border-radius: 7px; background: var(--subtle); color: var(--secondary); font-size: var(--text-supporting); line-height: 1.7; }
.research-live-comparison .icon { width: 16px; }
.research-editor .record-form-actions { flex-wrap: wrap; padding: 22px 26px; border-top: 1px solid var(--line); }
.research-current-quote { padding: 20px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); }
.research-current-quote > strong { display: block; margin-top: 8px; font-size: var(--text-lead); line-height: 1.35; overflow-wrap: anywhere; }
.research-current-quote > p:not(.eyebrow) { margin-top: 9px; color: var(--muted); font-size: var(--text-supporting); line-height: 1.65; }
.research-current-quote > a { display: inline-flex; gap: 6px; align-items: center; margin-top: 13px; color: var(--secondary); font-size: var(--text-supporting); font-weight: 600; }
.research-current-quote > a .icon { width: 14px; height: 14px; }
.research-current-quote[data-state="live"] [data-current-price-state] { color: var(--semantic-success); }
.research-current-quote[data-state="stale"] [data-current-price-state], .research-current-quote[data-state="unavailable"] [data-current-price-state] { color: var(--semantic-danger); }
.research-draft-actions { align-items: flex-start; }
.research-draft-actions > div { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; flex-shrink: 0; }
.research-draft-actions form { margin: 0; }
.research-form-section .form-section-heading { padding: 0 0 20px; }
.research-decision-form .field-help { font-size: var(--text-supporting); }
.page-heading-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.discussion-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 24px; align-items: start; }
.discussion-panel { min-width: 0; overflow: hidden; }
.discussion-boundary { display: flex; align-items: flex-start; gap: 10px; padding: 15px 22px; color: var(--secondary); background: var(--subtle); border-bottom: 1px solid var(--line); font-size: var(--text-supporting); line-height: 1.65; }
.discussion-boundary .icon { width: 16px; flex-shrink: 0; }
.discussion-messages { display: grid; gap: 18px; max-height: 650px; min-height: 310px; overflow-y: auto; padding: 26px; scroll-behavior: smooth; }
.discussion-empty { align-self: center; max-width: 650px; padding: 25px 0; }
.discussion-empty h2 { margin-top: 10px; font-size: var(--text-subheading); font-weight: 550; }
.discussion-empty > p:not(.eyebrow) { margin-top: 10px; color: var(--secondary); font-size: var(--text-ui); line-height: 1.7; }
.discussion-starters { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
.discussion-starters button { padding: 9px 12px; color: var(--secondary); background: var(--surface); border: 1px solid var(--strong-line); border-radius: 999px; font: inherit; font-size: var(--text-supporting); cursor: pointer; }
.discussion-starters button:hover { color: var(--ink); border-color: var(--ink); }
.discussion-message { width: min(82%, 700px); padding: 16px 18px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.discussion-message-user { justify-self: end; background: var(--subtle); }
.discussion-message-assistant { justify-self: start; }
.discussion-message header { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 9px; font-size: var(--text-compact); }
.discussion-message header strong { font-weight: 650; }
.discussion-message header time { color: var(--muted); }
.discussion-message-body { color: var(--secondary); font-size: var(--text-ui); line-height: 1.75; overflow-wrap: anywhere; }
.discussion-message-body > * + * { margin-top: 11px; }
.discussion-message-body h3, .discussion-message-body h4, .discussion-message-body h5 { color: var(--ink); font-size: var(--text-ui); font-weight: 650; line-height: 1.55; }
.discussion-message-body ul, .discussion-message-body ol { padding-left: 22px; }
.discussion-message-body li + li { margin-top: 5px; }
.discussion-message-body code { padding: 2px 5px; color: var(--ink); background: var(--subtle); border: 1px solid var(--line); border-radius: 4px; font-size: .92em; }
.discussion-message-body pre { max-width: 100%; overflow-x: auto; padding: 12px; background: var(--subtle); border: 1px solid var(--line); border-radius: 7px; }
.discussion-message-body pre code { padding: 0; border: 0; background: transparent; white-space: pre; }
.discussion-message-body blockquote { padding-left: 13px; border-left: 3px solid var(--strong-line); color: var(--muted); }
.discussion-message-body a { text-decoration: underline; text-underline-offset: 3px; }
.discussion-evidence { margin-top: 13px; padding-top: 11px; border-top: 1px solid var(--line); }
.discussion-evidence summary, .discussion-compaction summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; list-style: none; cursor: pointer; }
.discussion-evidence summary::-webkit-details-marker, .discussion-compaction summary::-webkit-details-marker { display: none; }
.discussion-evidence summary > span { display: flex; align-items: center; gap: 7px; }
.discussion-evidence summary .icon, .discussion-compaction summary > .icon { width: 14px; color: var(--muted); }
.discussion-evidence > p, .discussion-evidence > div { margin-top: 10px; color: var(--muted); font-size: var(--text-compact); line-height: 1.6; }
.discussion-evidence ol { padding-left: 20px; margin-top: 9px; }
.discussion-evidence li + li { margin-top: 9px; }
.discussion-evidence li a { display: inline-flex; align-items: center; gap: 5px; color: var(--secondary); font-weight: 600; }
.discussion-evidence li a .icon { width: 12px; }
.discussion-evidence li small, .discussion-evidence > div > small { display: block; color: var(--muted); overflow-wrap: anywhere; }
.discussion-citations { margin-top: 13px; padding: 11px 13px; background: var(--subtle); border: 1px solid var(--line); border-radius: 7px; }
.discussion-citations > strong { font-size: var(--text-compact); }
.discussion-citations ul { list-style: none; padding: 0; margin-top: 7px; }
.discussion-citations li + li { margin-top: 7px; }
.discussion-citations a { display: inline-flex; align-items: center; gap: 5px; font-size: var(--text-supporting); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.discussion-citations a .icon { width: 12px; }
.discussion-citations small { display: block; margin-top: 2px; color: var(--muted); font-size: var(--text-compact); }
.discussion-compaction { padding: 15px 17px; border: 1px dashed var(--strong-line); border-radius: 9px; background: var(--subtle); }
.discussion-compaction summary span strong, .discussion-compaction summary span small { display: block; }
.discussion-compaction summary span small { margin-top: 3px; color: var(--muted); font-size: var(--text-compact); }
.discussion-compaction > div { margin-top: 13px; color: var(--secondary); font-size: var(--text-supporting); line-height: 1.65; }
.discussion-compaction h3 { margin-top: 12px; color: var(--ink); font-size: var(--text-supporting); }
.discussion-compaction ul { padding-left: 20px; }
.discussion-compaction > div > small { display: block; margin-top: 12px; color: var(--muted); overflow-wrap: anywhere; }
.discussion-message footer { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 13px; padding-top: 11px; color: var(--muted); border-top: 1px solid var(--line); font-size: var(--text-compact); overflow-wrap: anywhere; }
.discussion-processing, .discussion-failure { display: flex; align-items: flex-start; gap: 12px; width: min(82%, 700px); padding: 15px 17px; border: 1px solid var(--line); border-radius: 10px; }
.discussion-processing > span { width: 9px; height: 9px; margin-top: 6px; border: 2px solid var(--muted); border-top-color: transparent; border-radius: 50%; animation: discussion-spin .8s linear infinite; }
.discussion-processing strong, .discussion-processing small { display: block; }
.discussion-processing small { margin-top: 4px; color: var(--muted); font-size: var(--text-supporting); }
.discussion-failure { border-color: var(--semantic-warning); background: var(--semantic-warning-bg); }
.discussion-failure > .icon { width: 17px; flex-shrink: 0; }
.discussion-failure p { margin-top: 5px; color: var(--secondary); font-size: var(--text-supporting); line-height: 1.6; }
.discussion-failure form { margin-top: 12px; }
.discussion-composer { padding: 20px 22px; border-top: 1px solid var(--line); }
.discussion-composer label { display: block; margin-bottom: 9px; font-size: var(--text-ui); font-weight: 600; }
.discussion-composer textarea { display: block; width: 100%; resize: vertical; padding: 13px; color: var(--ink); background: var(--surface); border: 1px solid var(--strong-line); border-radius: 8px; font: inherit; font-size: var(--text-ui); line-height: 1.65; }
.discussion-composer textarea:focus { outline: 2px solid var(--ink); outline-offset: 2px; }
.discussion-composer textarea:disabled { color: var(--muted); background: var(--subtle); }
.discussion-composer > div:last-child { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 12px; }
.discussion-composer small { color: var(--muted); font-size: var(--text-supporting); line-height: 1.5; }
.discussion-composer-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 13px; }
.discussion-composer-options > label, .discussion-search-option { display: block; padding: 13px; border: 1px solid var(--line); border-radius: 8px; background: var(--subtle); }
.discussion-composer-options label > span { display: block; margin-bottom: 7px; font-size: var(--text-supporting); font-weight: 600; }
.discussion-composer-options select { width: 100%; min-height: 38px; padding: 6px 9px; color: var(--ink); background: var(--surface); border: 1px solid var(--strong-line); border-radius: 6px; font: inherit; font-size: var(--text-supporting); }
.discussion-composer-options small { display: block; margin-top: 7px; }
.discussion-search-option > label { display: flex; align-items: flex-start; gap: 8px; font-size: var(--text-supporting); font-weight: 600; line-height: 1.5; cursor: pointer; }
.discussion-search-option input { margin-top: 3px; }
.discussion-search-option select { margin-top: 9px; }
.discussion-search-unavailable { display: flex; align-items: flex-start; gap: 8px; padding: 13px; color: var(--muted); border: 1px solid var(--line); border-radius: 8px; font-size: var(--text-supporting); line-height: 1.6; }
.discussion-search-unavailable .icon { width: 16px; flex-shrink: 0; }
.discussion-context { display: grid; gap: 18px; min-width: 0; }
.discussion-context > section { padding: 22px; }
.discussion-context h2 { margin-top: 10px; font-size: var(--text-action); line-height: 1.45; overflow-wrap: anywhere; }
.discussion-context p:not(.eyebrow) { margin-top: 10px; color: var(--secondary); font-size: var(--text-supporting); line-height: 1.7; overflow-wrap: anywhere; }
.discussion-context dl { margin-top: 18px; border-top: 1px solid var(--line); }
.discussion-context dl > div { display: flex; justify-content: space-between; gap: 15px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: var(--text-supporting); }
.discussion-context dt { color: var(--muted); }
.discussion-context dd { text-align: right; }
.discussion-context .button-secondary { width: 100%; margin-top: 18px; }
.discussion-actions > a { display: flex; align-items: center; gap: 8px; margin-top: 14px; font-size: var(--text-ui); font-weight: 600; }
.discussion-actions > a .icon { width: 16px; }
@keyframes discussion-spin { to { transform: rotate(360deg); } }
@media (max-width: 1199.98px) {
    .research-workbench { grid-template-columns: minmax(0, 1fr) 250px; gap: 22px; }
    .research-wayfinding > p { display: none; }
    .research-perspectives { grid-template-columns: 1fr; }
    .research-perspectives article + article { padding-top: 20px; border-top: 1px solid var(--line); }
    .research-linked-brief { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 991.98px) {
    .research-action-row { grid-template-columns: 140px minmax(0, 1fr); gap: 18px; }
    .research-action-row > a { grid-column: 2; justify-self: start; }
    .research-workbench { grid-template-columns: 1fr; }
    .research-rail { border-top: 1px solid var(--line); padding-top: 20px; }
    .research-idea-row { grid-template-columns: 135px minmax(0, 1fr) 30px; gap: 18px; }
    .research-signal-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .discussion-layout { grid-template-columns: 1fr; }
    .discussion-context { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .research-action-row { grid-template-columns: minmax(0, 1fr); gap: 17px; padding: 22px; }
    .research-action-row > a { grid-column: 1; white-space: normal; }
    .research-action-instrument { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; }
    .research-action-card { padding: 22px; }
    .research-thesis { padding: 22px; }
    .research-action-cta { flex-direction: column; align-items: flex-start; gap: 12px; }
    .research-filters > summary span { display: none; }
    .research-filters > summary > .icon:last-child { margin-left: auto; }
    .research-filters .filter-controls { display: grid; grid-template-columns: minmax(0, 1fr); }
    .research-filters .record-select { width: 100%; font-size: var(--text-lead); }
    .research-filters .filter-submit { justify-self: start; }
    .research-wayfinding { gap: 16px; align-items: flex-start; }
    .research-wayfinding a { flex: 1; }
    .research-wayfinding a > span { flex-shrink: 0; }
    .research-wayfinding a > .icon { display: none; }
    .research-evidence-columns { grid-template-columns: 1fr; }
    .research-evidence-columns > div + div { border-left: 0; border-top: 1px solid var(--line); }
    .research-sample { display: none; }
    .research-idea-row { grid-template-columns: minmax(0, 1fr) 32px; padding: 22px; }
    .research-idea-instrument { display: flex; flex-wrap: wrap; grid-column: 1; }
    .research-idea-content { grid-column: 1 / -1; grid-row: 2; }
    .research-open-idea { grid-column: 2; grid-row: 1; }
    .research-price-plan { grid-template-columns: 1fr; gap: 20px; }
    .research-scenario { grid-template-columns: 1fr 1fr; }
    .research-scenario > div:last-of-type { grid-column: 1 / -1; }
    .research-price-fields, .research-editor .form-grid { grid-template-columns: 1fr; gap: 0; }
    .research-editor input.form-control, .research-editor textarea.form-control, .research-editor select.form-control, .research-decision-form textarea { font-size: var(--text-lead); }
    .research-form-section { padding: 22px; }
    .research-editor .record-form-actions > span { width: 100%; }
    .research-signal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .research-run-list > a { grid-template-columns: minmax(0, 1fr) 18px; }
    .research-run-state { grid-column: 1; grid-row: 2; }
    .research-run-list > a > .icon { grid-column: 2; grid-row: 1 / span 2; }
    .research-run-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .research-run-summary > div:nth-child(2) { border-right: 0; }
    .research-run-result { align-items: flex-start; flex-direction: column; }
    .research-draft-actions { align-items: stretch; flex-direction: column; }
    .research-draft-actions > div, .research-draft-actions form, .research-draft-actions button, .research-draft-actions a { width: 100%; }
    .discussion-heading .research-sample { display: none; }
    .page-heading-actions { width: 100%; justify-content: flex-start; }
    .page-heading-actions .button-secondary { flex: 1; }
    .discussion-messages { min-height: 260px; max-height: none; padding: 18px; }
    .discussion-message, .discussion-processing, .discussion-failure { width: 94%; }
    .discussion-composer > div { align-items: stretch; flex-direction: column; }
    .discussion-composer-options { grid-template-columns: 1fr; }
    .discussion-composer .button-primary { width: 100%; }
    .discussion-context { grid-template-columns: 1fr; }
}
