/* Research uses the library Atlas tokens and shared controls. */
.recipe-app .research-comparison-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding-block: 16px; border-block: 1px solid var(--recipe-line); }
.recipe-app .research-comparison-summary > section { min-width: 0; overflow-wrap: anywhere; }
.recipe-app .research-comparison-summary h3 { margin-top: 0; }
.recipe-app .research-comparison-summary summary { cursor: pointer; padding-block: 6px; }
.recipe-app .research-comparison-flags { padding: 16px; background: var(--recipe-concept-wash); border: 1px solid var(--recipe-concept-line); border-radius: var(--recipe-radius-small); }
.recipe-app .research-proposal { margin-block: 24px; padding: 20px; border: 1px solid var(--recipe-line); border-top: 3px solid var(--recipe-accent); border-radius: var(--recipe-radius-small); }
.recipe-app .research-proposal h3 { margin-top: 0; }
@media (max-width: 768px) {
  .recipe-app .research-comparison-summary { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .recipe-app .research-proposal { padding: 14px; }
}
.recipe-app .research-queue-groups { margin-bottom: 20px; }
.recipe-app .research-triage-intro { padding: 18px; background: var(--recipe-accent-wash); margin-block: 16px; }
.recipe-app .research-triage-intro h3 { margin-top: 0; }
.recipe-app .research-triage-bulk { margin-top: 16px; }
.recipe-app .research-triage-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.recipe-app .research-triage-actions form { display: flex; flex-wrap: wrap; gap: 8px; }
.recipe-app .research-triage-row { align-items: flex-start; flex-wrap: wrap; }
.recipe-app .research-triage-row > div:first-child { flex: 1 1 360px; }
.recipe-app .research-reading-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.recipe-app .research-reading-switch { display: flex; flex-wrap: wrap; gap: 6px; }
.recipe-app .research-reading-switch [aria-pressed=true] { background: var(--recipe-accent-wash); border-color: var(--recipe-accent-strong); color: var(--recipe-accent-strong); }
.recipe-app .research-translation { padding-block: 12px; border-block: 1px solid var(--recipe-line); margin-bottom: 20px; overflow-wrap: anywhere; }
.recipe-app .research-translation li { margin-bottom: 12px; white-space: pre-wrap; }
.recipe-app .research-translation p { white-space: pre-wrap; }
.recipe-app .research-reading [hidden], .recipe-app #research-original[hidden] { display: none; }
.recipe-app .research-shell { max-width: 1240px; margin: 0 auto; padding: 24px; }
.recipe-app .research-breadcrumb, .recipe-app .research-actions, .recipe-app .research-context { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 18px; }
.recipe-app .research-breadcrumb { font-size: var(--recipe-font-control); color: var(--recipe-muted); }
.recipe-app .research-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.recipe-app .research-heading > div { min-width: 0; }
.recipe-app .research-recipe-title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 20px; }
.recipe-app .research-recipe-title h1 { min-width: 0; overflow-wrap: anywhere; }
.recipe-app .research-title-pills { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 8px; min-width: 0; }
.recipe-app .research-title-pills .pill { font-size: var(--recipe-font-control); border-color: var(--recipe-line); background: var(--recipe-surface); }
.recipe-app .research-source-pill { overflow-wrap: anywhere; text-decoration: none; }
.recipe-app .research-source-pill:hover { border-color: var(--recipe-accent-strong); color: var(--recipe-accent-strong); }
.recipe-app .research-yield-pill { font-variant-numeric: tabular-nums; }
.recipe-app .research-heading h1, .recipe-app .research-heading h2, .recipe-app .research-list-row h3 { margin: 0 0 8px; }
.recipe-app .research-workspace-heading { align-items: flex-end; margin-bottom: 24px; }
.recipe-app .research-workspace-title { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; min-width: 0; }
.recipe-app .research-concept-control { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px; max-width: 100%; }
.recipe-app .research-concept-pill { display: inline-flex; align-items: center; gap: 5px; min-height: 32px; max-width: 100%; padding: 4px 11px; border: 1px dashed var(--recipe-concept-line); border-radius: var(--recipe-radius-status); background: var(--recipe-concept-wash); color: var(--recipe-concept-ink); font: inherit; font-size: var(--recipe-font-compact); font-weight: 650; line-height: 1.25; text-align: left; text-decoration: none; overflow-wrap: anywhere; cursor: pointer; }
.recipe-app .research-concept-pill:hover, .recipe-app .research-concept-pill:focus-visible { border-style: solid; border-color: var(--recipe-accent-strong); color: var(--recipe-accent-strong); }
.recipe-app .research-concept-pill--attached { border-style: solid; border-color: var(--recipe-concept-line); background: var(--recipe-concept-wash); color: var(--recipe-concept-ink); }
.recipe-app .research-concept-change { min-height: 32px; padding: 4px 6px; border: 0; background: transparent; color: var(--recipe-muted); font: inherit; font-size: var(--recipe-font-metadata); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.recipe-app .research-concept-change:hover, .recipe-app .research-concept-change:focus-visible { color: var(--recipe-accent-strong); }
.recipe-app .research-concept-picker-form input[type="search"] { width: 100%; }
.recipe-app .research-concept-suggestions .concept-suggestions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.recipe-app .research-concept-suggestions .concept-choice { min-height: 32px; padding: 4px 10px; border: 1px solid var(--recipe-concept-line); border-radius: var(--recipe-radius-status); background: var(--recipe-concept-wash); color: var(--recipe-concept-ink); font: inherit; font-size: var(--recipe-font-compact); cursor: pointer; }
.recipe-app .research-concept-suggestions .concept-choice:hover, .recipe-app .research-concept-suggestions .concept-choice:focus-visible { border-color: var(--recipe-accent-strong); color: var(--recipe-accent-strong); }
.recipe-app .research-concept-suggestions .concept-suggestions.empty { color: var(--recipe-muted); font-size: var(--recipe-font-compact); }
.recipe-app .research-concept-picker-form .research-actions { justify-content: flex-end; margin-bottom: 0; }
.recipe-app .research-workspace-heading .research-actions { flex-direction: column; align-items: flex-end; flex-shrink: 0; margin: 0; }
.recipe-app .research-lede { max-width: 70ch; margin-bottom: 0; color: var(--recipe-muted); }
.recipe-app .research-text-link { font-size: var(--recipe-font-control); }
.recipe-app .research-path { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-block: 1px solid var(--recipe-line); margin: 0 0 28px; }
.recipe-app .research-path a { display: flex; align-items: baseline; gap: 12px; padding: 16px 12px; color: var(--recipe-ink); text-decoration: none; }
.recipe-app .research-path a[aria-current=step] { background: var(--recipe-accent-wash); box-shadow: var(--recipe-shadow-selection-inset); }
.recipe-app .research-path a:hover { background: var(--recipe-surface-muted); }
.recipe-app .research-step-number { color: var(--recipe-accent-strong); font-size: var(--recipe-font-compact); }
.recipe-app .research-path small { display: block; color: var(--recipe-muted); font-size: var(--recipe-font-compact); margin-top: 4px; }
.recipe-app .research-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 28px; align-items: start; }
.recipe-app .research-primary, .recipe-app .research-secondary, .recipe-app .research-review-sidebar { min-width: 0; }
.recipe-app .research-panel { padding: 22px; margin-bottom: 22px; border: 1px solid var(--recipe-line); background: var(--recipe-surface); border-radius: var(--recipe-radius-small); }
.recipe-app .research-panel h2 { margin-top: 0; }
.recipe-app .research-queue { margin-bottom: 28px; }
.recipe-app .research-queue > .research-heading { margin-bottom: 12px; }
.recipe-app .research-queue > .research-heading p { margin: 0; }
.recipe-app .research-filters { display: flex; flex-wrap: wrap; gap: 4px 16px; border-bottom: 1px solid var(--recipe-line); padding-bottom: 8px; }
.recipe-app .research-filters a { display: inline-flex; gap: 6px; align-items: center; min-height: var(--recipe-control-compact); color: var(--recipe-muted); font-size: var(--recipe-font-control); text-decoration: none; border-bottom: 2px solid transparent; }
.recipe-app .research-filters a[aria-current=page] { color: var(--recipe-ink); border-bottom-color: var(--recipe-ink); font-weight: 600; }
.recipe-app .research-filters a span { font-size: var(--recipe-font-metadata); }
.recipe-app .research-list-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--recipe-line); }
.recipe-app .research-list-row > div { min-width: 0; }
.recipe-app .research-list-row h3 { font-size: var(--recipe-font-heading); line-height: 1.35; overflow-wrap: anywhere; }
.recipe-app .research-list-row h3 a { text-decoration: none; }
.recipe-app .research-list-row h3 a:hover { text-decoration: underline; }
.recipe-app .research-list-row .btn { flex-shrink: 0; }
.recipe-app .research-list-row p { margin: 6px 0; }
.recipe-app .research-source-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; color: var(--recipe-muted); font-size: var(--recipe-font-compact); overflow-wrap: anywhere; }
.recipe-app .research-review-label { padding: 2px 8px; background: var(--recipe-accent-wash); border-radius: var(--recipe-radius-small); color: var(--recipe-accent-strong); }
.recipe-app .research-url { overflow-wrap: anywhere; font-size: var(--recipe-font-compact); color: var(--recipe-muted); }
.recipe-app .research-eyebrow, .recipe-app .research-help { font-size: var(--recipe-font-control); color: var(--recipe-muted); }
.recipe-app .research-eyebrow { letter-spacing: .04em; margin: 0 0 8px; }
.recipe-app .research-field { margin-bottom: 16px; }
.recipe-app .research-form label { display: block; font-weight: 600; margin-bottom: 6px; }
.recipe-app .research-form input:not([type=hidden]):not([type=radio]), .recipe-app .research-form textarea, .recipe-app .research-form select { width: 100%; box-sizing: border-box; max-width: 100%; }
.recipe-app .research-form textarea { resize: vertical; }
.recipe-app .research-recipe-suggestions { max-height: min(280px, 38dvh); overflow-y: auto; margin-top: 8px; }
.recipe-app .research-recipe-suggestions__list { list-style: none; margin: 0; padding: 0; border: 1px solid var(--recipe-line); border-radius: var(--recipe-radius-small); }
.recipe-app .research-recipe-suggestions__list li + li { border-top: 1px solid var(--recipe-line); }
.recipe-app .research-form .research-recipe-suggestions__choice { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; width: 100%; min-height: var(--recipe-control-touch); margin: 0; padding: 9px 12px; border: 0; border-radius: 0; background: var(--recipe-surface); color: var(--recipe-ink); font: inherit; text-align: left; cursor: pointer; }
.recipe-app .research-recipe-suggestions__choice span { color: var(--recipe-muted); font-size: var(--recipe-font-compact); }
.recipe-app .research-form .research-recipe-suggestions__choice:hover, .recipe-app .research-form .research-recipe-suggestions__choice:focus-visible { background: var(--recipe-accent-wash); }
.recipe-app .research-form button { margin-top: 10px; }
.recipe-app .research-details, .recipe-app .research-source-option { border-top: 1px solid var(--recipe-line); margin-top: 20px; padding-top: 16px; }
.recipe-app .research-details summary, .recipe-app details.research-panel > summary, .recipe-app .research-source-option summary, .recipe-app .research-row-details summary { cursor: pointer; font-weight: 600; }
.recipe-app .research-source-option summary span { display: block; font-size: var(--recipe-font-compact); font-weight: normal; color: var(--recipe-muted); margin: 4px 0 0 16px; }
.recipe-app .research-source-option[open] > summary { margin-bottom: 16px; }
.recipe-app .research-row-details { font-size: var(--recipe-font-compact); color: var(--recipe-muted); }
.recipe-app .research-empty { padding: 28px 24px; background: var(--recipe-accent-wash); border-left: 3px solid var(--recipe-accent-strong); }
.recipe-app .research-status { padding: 14px 18px; background: var(--recipe-accent-wash); border-left: 3px solid var(--recipe-accent-strong); margin-bottom: 18px; }
.recipe-app .research-count { display: inline-block; font-size: var(--recipe-font-control); font-family: var(--font-sans); font-weight: normal; color: var(--recipe-muted); margin-left: 8px; }
.recipe-app .research-analysis { border-top: 3px solid var(--recipe-accent); }
.recipe-app .research-develop { background: var(--recipe-accent-wash); }
.recipe-app .research-develop p:last-child { margin-bottom: 0; }
.recipe-app .research-evidence { border-bottom: 1px solid var(--recipe-line); padding: 12px 0; overflow-wrap: anywhere; }
.recipe-app .research-table-scroll { overflow-x: auto; max-width: 100%; margin: 16px 0; }
.recipe-app .research-table { border-collapse: collapse; min-width: 100%; font-size: var(--recipe-font-compact); }
.recipe-app .research-table th, .recipe-app .research-table td { text-align: left; padding: 10px; border-bottom: 1px solid var(--recipe-line); min-width: 90px; }
.recipe-app .research-evidence dt { font-weight: 600; }
.recipe-app .research-panel ul, .recipe-app .research-panel ol { padding-left: 22px; }
.recipe-app .research-decisions { border: 0; padding: 0; margin: 16px 0; }
.recipe-app .research-decisions legend { font-size: var(--recipe-font-control); font-weight: 600; margin-bottom: 8px; }
.recipe-app .research-form .research-decision { display: flex; gap: 10px; align-items: flex-start; padding: 12px; border: 1px solid var(--recipe-line); border-radius: var(--recipe-radius-small); cursor: pointer; text-transform: none; letter-spacing: normal; }
.recipe-app .research-decision:has(input:checked) { background: var(--recipe-accent-wash); border-color: var(--recipe-accent); }
.recipe-app .research-decision input { flex: 0 0 auto; margin-top: 4px; accent-color: var(--recipe-accent); }
.recipe-app .research-decision strong { font-size: var(--recipe-font-control); }
.recipe-app .research-decision small { display: block; font-size: var(--recipe-font-compact); color: var(--recipe-muted); font-weight: normal; line-height: 1.5; }
.recipe-app .research-review-layout { grid-template-columns: minmax(0, 1.6fr) minmax(320px, 1fr); }
.recipe-app .research-review-bar { position: sticky; top: 64px; z-index: 5; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 20px; padding: 12px 16px; margin-bottom: 16px; background: var(--recipe-surface); border: 1px solid var(--recipe-line); border-top: 3px solid var(--recipe-accent); }
.recipe-app .research-review-bar p { margin: 2px 0 0; }
.recipe-app .research-quick-decisions { display: flex; flex-wrap: wrap; gap: 8px; }
.recipe-app .research-quick-decisions button { margin: 0; min-height: var(--recipe-control-touch); }
.recipe-app .research-note-button { display: inline-flex; align-items: center; justify-content: center; min-width: var(--recipe-control-touch); padding: 8px; }
.recipe-app .research-note-button svg { width: 20px; height: 20px; }
.recipe-app .research-note-present { background: var(--recipe-accent-wash); border-color: var(--recipe-accent); }
.recipe-app .research-reading-copy { overflow-wrap: anywhere; }
.recipe-app .research-reading-copy h3 { margin-block: 16px 8px; }
.recipe-app .research-ingredient-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin-block: 12px; }
.recipe-app .research-ingredient-title { position: relative; display: flex; align-items: center; gap: 4px; }
.recipe-app .research-ingredient-title h3 { margin: 0; }
.recipe-app .research-content-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.recipe-app .research-content-actions .btn { font-size: var(--recipe-font-control); }
.recipe-app .research-color-help summary { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; list-style: none; cursor: help; color: var(--recipe-muted); font-weight: 700; }
.recipe-app .research-color-help summary::-webkit-details-marker { display: none; }
.recipe-app .research-color-help summary:focus-visible { outline: 2px solid var(--recipe-accent-strong); outline-offset: -4px; }
.recipe-app .research-color-tooltip { position: absolute; left: 0; top: 100%; z-index: 5; width: min(280px, calc(100vw - 96px)); padding: 16px; box-sizing: border-box; border: 1px solid var(--recipe-line); background: var(--recipe-surface); font-size: var(--recipe-font-control); line-height: 1.5; }
.recipe-app .research-color-tooltip p { margin: 0 0 8px; }
.recipe-app .research-color-tooltip p:last-child { margin: 0; }
.recipe-app .research-reading-copy li { margin-bottom: 6px; white-space: pre-wrap; }
.recipe-app .research-catalog-summary { margin-top: -4px; }
.recipe-app .research-form .research-entity-link { display: inline; margin: 0; padding: 0; border: 0; border-radius: var(--recipe-radius-small); background: transparent; font: inherit; font-weight: 650; line-height: inherit; text-align: left; text-transform: none; cursor: pointer; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; white-space: normal; }
.recipe-app .research-entity-link--canonical, .recipe-app .research-entity-legend--canonical { color: var(--recipe-success); }
.recipe-app .research-form .research-entity-link--canonical:hover, .recipe-app .research-form .research-entity-link--canonical:focus-visible { color: var(--recipe-success); background: var(--recipe-success-wash); }
.recipe-app .research-entity-link--review, .recipe-app .research-entity-legend--review { color: var(--recipe-concept-ink); text-decoration-color: var(--recipe-concept-line); }
.recipe-app .research-form .research-entity-link--review:hover, .recipe-app .research-form .research-entity-link--review:focus-visible { color: var(--recipe-concept-ink); background: var(--recipe-concept-wash); }
.recipe-app .research-entity-modal .research-attribute-footer > div { width: 100%; justify-content: flex-end; }
.recipe-app .research-entity-modal .modal-body { overflow-wrap: anywhere; }
.recipe-app .research-form .research-entity-link--attribute { text-decoration-style: dotted; font-weight: 500; }
.recipe-app .research-review-sidebar > .research-panel { margin-bottom: 12px; }
@media (min-width: 769px) {
  .recipe-app .research-review-layout .research-recipe-content { max-height: max(420px, calc(100dvh - 330px)); overflow-y: auto; }
}
.recipe-app .research-shell [id] { scroll-margin-top: 90px; }
.recipe-app .research-form .research-comparison-launcher { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; margin-top: 0; text-align: left; color: var(--recipe-ink); cursor: pointer; font: inherit; }
.recipe-app .research-comparison-launcher:hover { border-color: var(--recipe-accent); background: var(--recipe-accent-wash); }
.recipe-app .research-comparison-launcher small { display: block; margin-top: 6px; color: var(--recipe-muted); font-size: var(--recipe-font-compact); }
.recipe-app .research-attributes-modal .modal-dialog { width: calc(100% - 48px); max-width: 960px; max-height: calc(100dvh - 48px); margin: 24px auto; padding: 24px; box-sizing: border-box; overflow: hidden; }
.recipe-app .research-attributes-modal .modal-header { align-items: flex-start; border-bottom: 1px solid var(--recipe-line); }
.recipe-app .research-attributes-modal .research-eyebrow { margin: 0 0 6px; overflow-wrap: anywhere; }
.recipe-app .research-attributes-modal .modal-body { min-height: 0; }
/* Keep outside focus outlines inside the scrolling body's clipping boundary. */
.recipe-app .research-source-modal .modal-body,
.recipe-app .research-attributes-modal .modal-body { padding: 6px 8px; }
.recipe-app .research-attributes-modal .modal-body > .research-help:first-child { margin-top: 0; }
.recipe-app .research-attribute-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: start; }
.recipe-app .research-attribute-card { min-width: 0; padding: 18px; border: 1px solid var(--recipe-line); border-top: 3px solid var(--recipe-accent); border-radius: var(--recipe-radius-small); background: var(--recipe-surface); overflow-wrap: anywhere; }
.recipe-app .research-attribute-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 12px; }
.recipe-app .research-attribute-heading h3 { margin: 0; font: inherit; font-weight: 700; font-size: var(--recipe-font-control); }
.recipe-app .research-attribute-status { font-size: var(--recipe-font-compact); color: var(--recipe-muted); }
.recipe-app .research-attribute-value { margin: 12px 0 16px; font-size: var(--recipe-font-heading); line-height: 1.35; color: var(--recipe-accent-strong); }
.recipe-app .research-attribute-card summary { cursor: pointer; font-size: var(--recipe-font-control); padding-block: 6px; }
.recipe-app .research-attribute-card .research-details { margin-top: 4px; padding-top: 4px; border-top: 0; }
.recipe-app .research-attribute-editor .research-field { margin: 12px 0; }
.recipe-app .research-attribute-card blockquote { margin: 8px 0; padding-left: 12px; border-left: 2px solid var(--recipe-line); }
.recipe-app .research-attribute-card ul { margin: 8px 0; padding-left: 18px; }
.recipe-app .research-attribute-footnote { margin: 18px 0 8px; }
.recipe-app .research-attribute-footer { flex-shrink: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--recipe-line); }
.recipe-app .research-attribute-footer > p { flex: 1 1 240px; margin: 0; }
.recipe-app .research-attribute-footer > div { display: flex; gap: 10px; }
.recipe-app .research-attributes-modal button { margin-top: 0; min-height: var(--recipe-control-touch); }
.recipe-app .research-fields-modal .modal-dialog { max-width: 780px; }
.recipe-app .research-modal-fields .research-field { padding: 16px; margin: 0 0 12px; border: 1px solid var(--recipe-line); background: var(--recipe-surface); border-radius: var(--recipe-radius-small); overflow-wrap: anywhere; }
.recipe-app .research-modal-fields label { text-transform: none; line-height: 1.5; }
.recipe-app .research-modal-fields .research-help { margin-bottom: 0; }
.recipe-app .research-form .research-develop-choice { display: flex; align-items: center; gap: 10px; text-transform: none; min-height: var(--recipe-control-touch); }
.recipe-app .research-form .research-develop-choice input[type=checkbox] { width: auto; flex: 0 0 auto; margin: 0; }
.recipe-app #develop-recipe .research-attribute-footer > div { width: 100%; justify-content: flex-end; }
@media (max-width: 768px) {
  .recipe-app .research-attributes-modal .modal-dialog { width: 100%; max-width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; padding: 16px; border-radius: 0; }
  .recipe-app .research-attribute-grid { grid-template-columns: minmax(0, 1fr); }
  .recipe-app .research-attribute-card summary { min-height: var(--recipe-control-touch); box-sizing: border-box; display: list-item; padding-block: 10px; }
  .recipe-app .research-attribute-footer { gap: 8px; padding-top: 12px; margin-top: 12px; }
  .recipe-app .research-attribute-footer > div { width: 100%; }
  .recipe-app .research-attribute-footer .btn { flex: 1; }
  .recipe-app .research-shell { padding: 16px; }
  .recipe-app .research-layout { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .recipe-app .research-heading { flex-wrap: wrap; gap: 12px; }
  .recipe-app .research-workspace-heading .research-actions { align-items: flex-start; flex-direction: row; flex-shrink: 1; }
  .recipe-app .research-path { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 24px; }
  .recipe-app .research-path a { padding: 12px 8px; gap: 8px; }
  .recipe-app .research-panel { padding: 16px; }
  .recipe-app .research-list-row { flex-wrap: wrap; gap: 8px; }
  .recipe-app .research-actions a, .recipe-app .research-filters a, .recipe-app .research-text-link { min-height: var(--recipe-control-touch); display: inline-flex; align-items: center; }
  .recipe-app .research-filters { gap: 0 16px; }
  .recipe-app .research-source-meta { gap: 6px 10px; }
}


.recipe-app .research-discovery-results { max-height: 22rem; overflow-y: auto; padding-right: 8px; }
.recipe-app .research-discovery-results li { padding: 8px 0; border-bottom: 1px solid var(--recipe-line); overflow-wrap: anywhere; }

.recipe-app .research-shell:has(.research-create) { padding-block: 12px; }
.recipe-app .research-shell:has(.research-create) .research-breadcrumb { margin-bottom: 12px; }
.recipe-app .research-create-heading { margin-bottom: 8px; }
.recipe-app .research-create-heading p { margin: 0; }
.recipe-app .research-create { max-width: 1080px; padding: 18px; margin-bottom: 0; }
.recipe-app .research-create-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 28px; align-items: start; }
.recipe-app .research-create .research-field { min-width: 0; margin: 0; }
.recipe-app .research-create-field--title { grid-area: 1 / 1; }
.recipe-app .research-create-field--reference_url { grid-area: 2 / 1; }
.recipe-app .research-create-field--core_ingredients { grid-area: 3 / 1; }
.recipe-app .research-create-field--dietary_lenses { grid-area: 1 / 2 / span 2; }
.recipe-app .research-create-field--other_diets { grid-area: 3 / 2; }
.recipe-app .research-create .research-help { margin: 4px 0 0; font-size: var(--recipe-font-compact); line-height: 1.4; }
.recipe-app .research-create label { margin-bottom: 4px; }
.recipe-app .research-create-actions { display: flex; justify-content: flex-end; margin-top: 12px; }
.recipe-app .research-create-actions button { margin-top: 0; }
@media (max-width: 768px) {
  .recipe-app .research-create-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .recipe-app .research-create .research-field { grid-area: auto; }
  .recipe-app .research-create { padding: 14px; }
}
.recipe-app .research-diet-field > div { display: flex; flex-wrap: wrap; gap: 8px; }
.recipe-app .research-diet-field > div > div { flex: 0 0 auto; }
.recipe-app .research-form .research-diet-field label:has(input[type="checkbox"]) { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; margin: 0; padding: 6px 10px; border: 1px solid var(--recipe-line); border-radius: var(--recipe-radius-small); background: var(--recipe-surface); font-weight: 500; text-transform: none; white-space: nowrap; cursor: pointer; }
.recipe-app .research-diet-field label:has(input:checked) { border-color: var(--recipe-accent); background: var(--recipe-accent-wash); }
.recipe-app .research-form .research-diet-field input[type="checkbox"] { flex: 0 0 18px; width: 18px; height: 18px; margin: 0; }
.recipe-app .research-focus-summary { margin-top: -4px; }
.recipe-app .research-breakdown-source { padding: 16px; background: var(--recipe-surface-muted); border-left: 3px solid var(--recipe-accent); }
.recipe-app .research-breakdown { margin: 20px 0; }
.recipe-app .research-breakdown > div { display: grid; grid-template-columns: minmax(120px, .65fr) minmax(0, 1.5fr); gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--recipe-line); }
.recipe-app .research-breakdown dt { color: var(--recipe-muted); }
.recipe-app .research-breakdown dd { margin: 0; overflow-wrap: anywhere; }
.recipe-app .research-breakdown small { display: block; margin-top: 4px; color: var(--recipe-muted); font-size: var(--recipe-font-compact); }
@media (max-width: 480px) {
  .recipe-app .research-breakdown > div { grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 12px 0; }
}

@media (max-width: 768px) {
  .recipe-app .research-create #id_question { min-height: 160px; }
}

.recipe-app .research-flow { max-width: 1080px; margin-inline: auto; }
.recipe-app .research-workspace-heading .research-actions { max-width: min(40vw, 420px); }
.recipe-app .research-settings-button { flex: 0 0 var(--recipe-control-touch); width: var(--recipe-control-touch); min-height: var(--recipe-control-touch); padding: 0; display: inline-flex; align-items: center; justify-content: center; font-size: var(--recipe-font-heading); }
.recipe-app .research-menu-modal .modal-dialog { max-width: 760px; }
.recipe-app .research-menu-modal__current { margin: 0 0 8px; }
.recipe-app .research-menu-modal__forms { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
.recipe-app .research-menu-modal__forms > * { min-width: 0; padding: 16px; border: 1px solid var(--recipe-line); background: var(--recipe-surface); }
.recipe-app .research-menu-modal__forms h3 { margin: 0 0 12px; font-size: var(--recipe-font-subheading); }
.recipe-app .research-menu-modal__forms label { display: block; margin-bottom: 6px; font-weight: 600; }
.recipe-app .research-menu-modal__forms input:not([type="hidden"]) { display: block; box-sizing: border-box; width: 100%; max-width: 100%; }
.recipe-app .research-menu-modal__forms .btn { margin-top: 12px; }
.recipe-app .research-menu-search-results { margin-top: 12px; max-height: 240px; overflow-y: auto; }
.recipe-app .research-menu-search-results .research-help { margin: 0; }
.recipe-app .research-menu-search-results__list { list-style: none; padding: 0; margin: 0 0 8px; }
.recipe-app .research-menu-search-results__list li + li { border-top: 1px solid var(--recipe-line); }
.recipe-app .research-menu-search-results__choice { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: var(--recipe-control-touch); padding: 8px; border: 0; background: transparent; color: var(--recipe-ink); text-align: left; cursor: pointer; }
.recipe-app .research-menu-search-results__choice:hover, .recipe-app .research-menu-search-results__choice:focus-visible { background: var(--recipe-surface-muted); }
.recipe-app .research-menu-search-results__action { flex: 0 0 auto; text-decoration: underline; }
.recipe-app .research-menu-modal__footer { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 16px; }
.recipe-app .research-menu-modal__footer form { margin: 0; }
.recipe-app .research-flow .research-path a { align-items: center; }
.recipe-app .research-stage-heading { margin-bottom: 12px; }
.recipe-app .research-stage-heading .research-help { margin-bottom: 0; }
.recipe-app .research-discovery-run h3 { margin-top: 0; }
.recipe-app .research-discovery-run { margin-bottom: 20px; }
.recipe-app .research-collect .research-panel { padding: 16px; margin-bottom: 12px; }
.recipe-app .research-collect .research-discovery-run { margin-bottom: 0; }
.recipe-app .research-collect .research-discovery-run h3 { margin-bottom: 8px; }
.recipe-app .research-collect .research-discovery-run > p { margin-block: 8px; }
.recipe-app .research-flow .research-workspace-heading .research-text-link { white-space: nowrap; }
@media (max-width: 768px) {
  .recipe-app .research-menu-modal__forms { grid-template-columns: minmax(0, 1fr); }
  .recipe-app .research-flow .research-workspace-heading .research-actions { width: 100%; max-width: 100%; align-items: flex-end; flex-direction: column; }
  .recipe-app .research-flow .research-path { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
  .recipe-app .research-flow .research-path a { flex-direction: column; align-items: flex-start; gap: 4px; padding: 10px 6px; font-size: var(--recipe-font-compact); }
}

.recipe-app .research-source-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
.recipe-app .research-source-modal .modal-dialog { width: calc(100% - 32px); max-width: 680px; box-sizing: border-box; max-height: calc(100dvh - 48px); margin: 24px auto; }
.recipe-app .research-web-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; min-width: 0; margin: 0 0 16px; padding: 0; border: 0; }
.recipe-app .research-web-choices legend { margin-bottom: 8px; font-weight: 700; }
.recipe-app .research-web-choice { display: flex; align-items: flex-start; gap: 10px; min-width: 0; padding: 12px; border: 1px solid var(--recipe-line); border-radius: var(--recipe-radius-small); background: var(--recipe-surface); text-transform: none; cursor: pointer; }
.recipe-app .research-web-choice:has(input:checked) { border-color: var(--recipe-accent); background: var(--recipe-accent-wash); }
.recipe-app .research-web-choice input { flex: 0 0 auto; width: auto; margin: 3px 0 0; }
.recipe-app .research-web-choice span { min-width: 0; }
.recipe-app .research-web-choice strong, .recipe-app .research-web-choice small { display: block; line-height: 1.4; }
.recipe-app .research-web-choice small { margin-top: 3px; color: var(--recipe-muted); font-size: var(--recipe-font-compact); font-weight: 400; }
@media (max-width: 768px) {
  .recipe-app .research-source-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .recipe-app .research-source-buttons .btn { width: 100%; min-width: 0; padding-inline: 8px; }
  .recipe-app .research-source-buttons .btn:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .recipe-app .research-source-modal .modal-dialog { padding: 16px; margin: 0; max-height: 100dvh; }
  .recipe-app .research-web-choices { grid-template-columns: minmax(0, 1fr); }
}

.recipe-app .research-shell:has(.research-flow) { max-width: 1152px; }
.recipe-app .research-list-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; flex-shrink: 0; }
/* Compact live status: measured outcomes, no decorative activity or elapsed clock. */
.recipe-app .research-progress { border-top: 3px solid var(--recipe-accent); padding: 14px 16px; margin-bottom: 14px; }
.recipe-app .research-progress h3 { margin: 0; font-size: var(--recipe-font-heading); }
.recipe-app .research-progress-summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 10px 16px; }
.recipe-app .research-progress-copy { min-width: 0; }
.recipe-app .research-progress-copy > p { margin: 3px 0 0; color: var(--recipe-muted); font-size: var(--recipe-font-control); }
.recipe-app .research-progress-metrics { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; margin: 0; }
.recipe-app .research-progress-metrics > div { display: flex; align-items: baseline; gap: 5px; min-width: 0; padding: 5px 8px; border-radius: var(--recipe-radius-small); }
.recipe-app .research-progress-found { background: var(--recipe-information-wash); }
.recipe-app .research-progress-ready { background: var(--recipe-success-wash); }
.recipe-app .research-progress-aside { background: var(--recipe-warning-wash); }
.recipe-app .research-progress-metrics dt { order: 2; color: var(--recipe-muted); font-size: var(--recipe-font-metadata); white-space: nowrap; }
.recipe-app .research-progress-metrics dd { order: 1; margin: 0; font-size: var(--recipe-font-control); font-weight: 700; font-variant-numeric: tabular-nums; }
.recipe-app .research-progress-track { margin-top: 10px; }
.recipe-app .research-progress-caption, .recipe-app .research-progress-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; }
.recipe-app .research-progress-caption { font-size: var(--recipe-font-compact); }
.recipe-app .research-progress-caption label { font-weight: 600; }
.recipe-app .research-progress-caption .research-help { margin-left: auto; }
.recipe-app .research-progress-track progress { display: block; width: 100%; height: 9px; margin: 5px 0 0; border: 0; border-radius: var(--recipe-radius-small); overflow: hidden; appearance: none; background: var(--recipe-surface-muted); accent-color: var(--recipe-accent); }
.recipe-app .research-progress-track progress::-webkit-progress-bar { background: var(--recipe-surface-muted); }
.recipe-app .research-progress-track progress::-webkit-progress-value { background: var(--recipe-accent); }
.recipe-app .research-progress-track progress::-moz-progress-bar { background: var(--recipe-accent); }
.recipe-app .research-progress-track progress:indeterminate { background: repeating-linear-gradient(135deg, var(--recipe-surface-muted) 0 12px, var(--recipe-information-wash) 12px 24px); }
.recipe-app .research-progress-footer { margin-top: 10px; }
.recipe-app .research-progress-footer > p { margin: 0; }
.recipe-app .research-progress-footer .research-actions { gap: 6px; margin: 0; }
.recipe-app .research-progress-cancel { margin: 0; }
@media (max-width: 480px) {
  .recipe-app .research-progress { padding: 12px; }
  .recipe-app .research-progress-summary { grid-template-columns: minmax(0, 1fr); }
  .recipe-app .research-progress-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); justify-content: stretch; }
  .recipe-app .research-progress-metrics > div { justify-content: center; padding-inline: 5px; }
  .recipe-app .research-progress-metrics dt { white-space: normal; }
  .recipe-app .research-progress-caption { gap: 3px 10px; }
  .recipe-app .research-progress-caption .research-help { width: 100%; margin-left: 0; }
  .recipe-app .research-progress-footer .research-actions { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .recipe-app .research-progress-footer .research-actions .btn { width: 100%; min-width: 0; padding-inline: 6px; }
  .recipe-app .research-progress-cancel { grid-column: 1 / -1; }
}
.recipe-app .research-submit-pending::before { content: ''; display: inline-block; width: 12px; height: 12px; margin-right: 8px; border: 2px solid currentColor; border-right-color: transparent; border-radius: var(--recipe-radius-status); animation: research-orbit 1s linear infinite; }
@keyframes research-orbit { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .recipe-app .research-submit-pending::before { animation: none; }
}
@media (max-width: 768px) {
  .recipe-app .research-list .research-list-row { flex-wrap: wrap; }
}

.recipe-app .research-concept-answer { padding-top: 0; }
.recipe-app .research-concept-definition { font-size: var(--recipe-font-heading); line-height: 1.5; overflow-wrap: anywhere; margin: 12px 0 20px; }
.recipe-app .research-core-groups { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.recipe-app .research-core-group { min-width: 0; border: 1px solid var(--recipe-line); background: var(--recipe-surface); padding: 14px; border-radius: var(--recipe-radius-small); overflow-wrap: anywhere; }
.recipe-app .research-core-group h4 { margin: 0 0 8px; font-size: var(--recipe-font-subheading); }
.recipe-app .research-core-group p { margin: 6px 0; }
.recipe-app .research-core-group .research-details { margin: 8px 0 0; padding: 8px 0 0; }
.recipe-app .research-core-options { color: var(--recipe-muted); }
.recipe-app .research-concept-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 12px 0 24px; }
.recipe-app .research-group-editor { padding: 10px 0; border-bottom: 1px solid var(--recipe-line); }
.recipe-app .research-group-editor summary { cursor: pointer; }
.recipe-app .research-group-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding-top: 12px; }
.recipe-app .research-group-members { grid-column: 1 / -1; }
.recipe-app .research-rapid { border-top: 1px solid var(--recipe-line); padding-top: 20px; margin-top: 16px; }
.recipe-app .research-rapid-table th, .recipe-app .research-rapid-table td { min-width: 130px; vertical-align: top; white-space: normal; overflow-wrap: anywhere; }
.recipe-app .research-rapid-table th:first-child { min-width: 190px; }
.recipe-app .research-rapid-table [hidden] { display: none; }
.recipe-app .research-rapid-table summary { cursor: pointer; }
.recipe-app .research-cell--uncertain { background: var(--recipe-surface-muted); }
.recipe-app .research-rapid select { min-height: var(--recipe-control-touch); }
.recipe-app .research-comparison-context { font-size: var(--recipe-font-subheading); }
@media (max-width: 768px) {
  .recipe-app .research-core-groups, .recipe-app .research-group-fields { grid-template-columns: minmax(0, 1fr); }
  .recipe-app .research-concept-definition { font-size: var(--recipe-font-subheading); }
  .recipe-app .research-rapid .research-heading { align-items: flex-start; }
}

.recipe-app .research-rapid .research-table-scroll { max-height: 560px; }
.recipe-app .research-rapid-table thead th { position: sticky; top: 0; z-index: 1; background: var(--recipe-surface); }
.recipe-app .research-rapid-table tbody th { text-transform: none; letter-spacing: normal; }
.recipe-app .research-core-pending { margin-block: 16px; }
@media (max-width: 768px) {
  .recipe-app .research-rapid .research-table-scroll { max-height: 60vh; }
  .recipe-app .research-flow--compare .research-workspace-heading { gap: 8px; margin-bottom: 12px; }
  .recipe-app .research-flow--compare .research-workspace-heading .research-actions { gap: 6px; }
}
/* Compare dashboard: compact evidence controls above the recipe matrix. */
.recipe-app .research-shell:has(.research-flow) { padding-top: 12px; }
.recipe-app .research-shell:has(.research-flow) .research-breadcrumb { margin-bottom: 12px; }
.recipe-app .research-flow .research-workspace-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; margin-bottom: 12px; align-items: center; }
.recipe-app .research-flow .research-workspace-heading .research-actions { width: auto; }
.recipe-app .research-flow--compare .research-workspace-heading .research-actions { flex-direction: row; align-items: center; }
.recipe-app .research-flow .research-workspace-heading h1 { margin: 0; }
.recipe-app .research-flow .research-eyebrow { margin: 0 0 4px; }
.recipe-app .research-flow .research-path { margin-bottom: 16px; }
.recipe-app .research-flow .research-path a { padding-block: 10px; }
.recipe-app .research-flow--compare .research-analysis { padding: 20px; }
.recipe-app .research-dashboard > .research-heading { align-items: center; margin-bottom: 16px; gap: 12px; }
.recipe-app .research-dashboard h2 { margin: 0; font-size: var(--recipe-font-heading); }
.recipe-app .research-dashboard .research-heading .research-help { margin: 4px 0 0; }
.recipe-app .research-dashboard-actions, .recipe-app .research-dashboard-tools { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.recipe-app .research-ingredient-overview { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.recipe-app .research-ingredient-lane { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; align-content: start; margin-block: 4px; }
.recipe-app .research-ingredient-lane h2, .recipe-app .research-ingredient-lane h3 { margin: 0; font-size: var(--recipe-font-subheading); line-height: 1.4; }
.recipe-app .research-ingredient-buttons { display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; }
.recipe-app .research-ingredient-button { flex: 1 1 140px; min-width: 140px; max-width: 100%; min-height: var(--recipe-control-touch); padding: 8px 12px; margin: 0; border: 1px solid var(--recipe-line); border-radius: var(--recipe-radius-small); background: var(--recipe-accent-wash); color: var(--recipe-ink); cursor: pointer; font: inherit; text-align: left; }
.recipe-app .research-ingredient-button > span { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; font-size: var(--recipe-font-control); overflow-wrap: anywhere; }
.recipe-app .research-ingredient-button > span > span { font-size: var(--recipe-font-compact); font-variant-numeric: tabular-nums; white-space: nowrap; }
.recipe-app .research-ingredient-button--culinary-role { background: var(--recipe-information-wash); border-color: color-mix(in srgb, var(--recipe-information) 30%, var(--recipe-line)); }
.recipe-app .research-ingredient-button:hover { border-color: var(--recipe-accent); background: var(--recipe-surface-muted); }
.recipe-app .research-dashboard-modal meter, .recipe-app .research-ingredient-button meter { display: block; width: 100%; height: 8px; margin-top: 6px; appearance: none; border: 0; border-radius: var(--recipe-radius-small); background: var(--recipe-line); }
.recipe-app .research-dashboard-modal meter::-webkit-meter-bar, .recipe-app .research-ingredient-button meter::-webkit-meter-bar { border: 0; background: var(--recipe-line); border-radius: var(--recipe-radius-small); }
.recipe-app .research-dashboard-modal meter::-webkit-meter-optimum-value, .recipe-app .research-ingredient-button meter::-webkit-meter-optimum-value { background: var(--recipe-accent); border-radius: var(--recipe-radius-small); }
.recipe-app .research-dashboard-modal meter::-moz-meter-bar, .recipe-app .research-ingredient-button meter::-moz-meter-bar { background: var(--recipe-accent); }
.recipe-app .research-ingredient-lane--pending .research-ingredient-button { background: var(--recipe-warning-wash); }
.recipe-app .research-ingredient-lane--pending meter::-webkit-meter-optimum-value { background: var(--recipe-warning-strong); }
.recipe-app .research-ingredient-lane--pending meter::-moz-meter-bar { background: var(--recipe-warning-strong); }
.recipe-app .research-other-leading, .recipe-app .research-other-more { margin-top: 20px; }
.recipe-app .research-other-leading h3, .recipe-app .research-other-more h3 { margin: 0 0 8px; font-size: var(--recipe-font-control); }
.recipe-app .research-other-leading .research-ingredient-button { background: var(--recipe-information-wash); border-color: color-mix(in srgb, var(--recipe-information) 30%, var(--recipe-line)); }
.recipe-app .research-other-leading meter::-webkit-meter-optimum-value { background: var(--recipe-information); }
.recipe-app .research-other-leading meter::-moz-meter-bar { background: var(--recipe-information); }
.recipe-app .research-dashboard-tools { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 24px; align-items: stretch; }
.recipe-app .research-summary-card { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; min-height: 76px; padding: 16px; border: 1px solid var(--recipe-line); border-radius: var(--recipe-radius-small); color: var(--recipe-ink); font: inherit; font-size: var(--recipe-font-control); font-weight: 600; text-align: left; cursor: pointer; }
.recipe-app .research-summary-card--ingredients { background: var(--recipe-information-wash); }
.recipe-app .research-summary-card--techniques { background: var(--recipe-pill-date-wash); }
.recipe-app .research-summary-card--flags { background: var(--recipe-danger-wash); }
.recipe-app .research-summary-card:hover { border-color: var(--recipe-accent); }
.recipe-app .research-summary-card:focus-visible { outline: 2px solid var(--recipe-accent); outline-offset: 3px; }
.recipe-app .research-tool-count { font-size: var(--recipe-font-heading); font-variant-numeric: tabular-nums; }
@media (min-width: 1100px) {
  .recipe-app .research-dashboard { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); align-items: stretch; gap: 16px; }
  .recipe-app .research-ingredient-overview { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 12px; }
  .recipe-app .research-ingredient-lane { margin: 0; grid-template-rows: auto 1fr; align-content: stretch; }
  .recipe-app .research-ingredient-lane h2, .recipe-app .research-ingredient-lane h3 { font-size: var(--recipe-font-control); }
  .recipe-app .research-ingredient-overview .research-ingredient-button { flex: 1 1 90px; min-width: 90px; min-height: 64px; padding: 8px; }
  .recipe-app .research-ingredient-overview .research-ingredient-button > span { gap: 6px; }
  .recipe-app .research-dashboard-tools { margin-top: 0; padding-top: calc(var(--recipe-font-control) * 1.4 + 8px); gap: 8px; }
  .recipe-app .research-summary-card { flex-direction: column; align-items: flex-start; justify-content: space-between; min-height: 64px; padding: 6px 12px; gap: 2px; line-height: 1.3; }
}
.recipe-app .research-dashboard-footer { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 12px; font-size: var(--recipe-font-control); }
.recipe-app .research-rapid { padding-top: 12px; margin-top: 16px; }
.recipe-app .research-rapid .research-heading { margin-bottom: 10px; align-items: center; }
.recipe-app .research-rapid h3 { display: inline; margin: 0 12px 0 0; font-size: var(--recipe-font-subheading); }
.recipe-app .research-rapid label { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: var(--recipe-font-control); white-space: nowrap; max-width: 100%; }
.recipe-app .research-rapid-table { font-size: var(--recipe-font-control); }
.recipe-app .research-rapid-table th, .recipe-app .research-rapid-table td { padding: 10px 12px; }
.recipe-app .research-rapid-table tbody th { font-weight: 600; }
.recipe-app .research-table-group { font: inherit; text-transform: inherit; letter-spacing: inherit; color: inherit; background: none; border: 0; padding: 0; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.recipe-app .research-table-group--culinary-role { padding: 3px 8px; border: 1px solid color-mix(in srgb, var(--recipe-information) 32%, var(--recipe-line)); border-radius: var(--recipe-radius-status); background: var(--recipe-information-wash); text-decoration: none; }
.recipe-app .research-dashboard-modal .modal-dialog { display: flex; flex-direction: column; width: calc(100% - 48px); max-width: 780px; padding: 24px; overflow: hidden; }
.recipe-app .research-dashboard-modal .modal-header { flex: 0 0 auto; align-items: center; }
.recipe-app .research-dashboard-modal .modal-header h2 { margin: 0; font-size: var(--recipe-font-heading); }
.recipe-app .research-dashboard-modal .modal-body { min-height: 0; overflow: auto; overflow-wrap: anywhere; }
.recipe-app .research-dashboard-modal .research-core-group { padding: 0; border: 0; }
.recipe-app .research-dashboard-modal .research-core-group h4 { display: none; }
.recipe-app .research-dashboard-key dt { font-weight: 600; margin-top: 16px; }
.recipe-app .research-dashboard-key dd { margin: 4px 0 0; color: var(--recipe-muted); }
.recipe-app .research-concept-modal .research-form { display: flex; flex-direction: column; min-height: 0; overflow: hidden; margin: 0; }
.recipe-app .research-concept-modal .research-concept-actions { flex: 0 0 auto; margin: 12px 0 0; padding-top: 12px; border-top: 1px solid var(--recipe-line); }
.recipe-app .research-concept-modal .research-concept-actions button { margin-top: 0; }
@media (max-width: 768px) {
  .recipe-app .research-flow .research-workspace-heading { grid-template-columns: minmax(0, 1fr); }
  .recipe-app .research-flow .research-workspace-heading .research-actions { width: 100%; max-width: 100%; flex-direction: row; align-items: center; justify-content: flex-end; }
  .recipe-app .research-flow--compare .research-workspace-heading .research-actions { flex-direction: row; align-items: center; justify-content: space-between; gap: 4px; }
  .recipe-app .research-flow--compare .research-workspace-heading .research-text-link { font-size: var(--recipe-font-compact); }
  .recipe-app .research-flow--compare .research-analysis { padding: 14px; }
  .recipe-app .research-dashboard > .research-heading { gap: 8px; margin-bottom: 12px; }
  .recipe-app .research-dashboard-actions { gap: 6px; }
  .recipe-app .research-ingredient-overview { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .recipe-app .research-ingredient-lane { grid-template-columns: minmax(0, 1fr); gap: 6px; margin-block: 12px; }
  .recipe-app .research-ingredient-button { flex: 1 1 140px; }
  .recipe-app .research-dashboard-tools { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 16px; }
  .recipe-app .research-summary-card { min-height: 64px; padding: 12px; gap: 8px; }
  .recipe-app .research-summary-card--ingredients { grid-column: 1 / -1; }
  .recipe-app .research-dashboard .btn { padding-inline: 10px; }
  .recipe-app .research-rapid .research-heading { gap: 8px; }
  .recipe-app .research-dashboard-modal .modal-dialog { width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; padding: 16px; border-radius: 0; }
  .recipe-app .research-concept-modal .research-form { flex: 1 1 auto; }
  .recipe-app .research-concept-modal .modal-body { flex: 1 1 auto; }
  .recipe-app .research-table-group { min-height: var(--recipe-control-touch); }
}
/* Ingredient pattern view shares filtering and source evidence with Details. */
.recipe-app .research-comparison-controls, .recipe-app .research-pattern-toolbar, .recipe-app .research-pattern-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.recipe-app .research-comparison-heading { flex-wrap: wrap; gap: 12px; }
.recipe-app .research-comparison-title { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.recipe-app .research-comparison-title h3 { margin: 0; white-space: nowrap; }
.recipe-app .research-comparison-title .research-help { font-size: var(--recipe-font-compact); white-space: nowrap; }
.recipe-app .research-comparison-controls { gap: 12px; }
.recipe-app .research-comparison-controls label { flex-direction: row; flex-wrap: nowrap; margin: 0; gap: 6px; text-transform: none; letter-spacing: normal; }
.recipe-app .research-comparison-controls select { width: auto; min-width: 0; margin: 0; padding: 8px 30px 8px 10px; font-size: var(--recipe-font-control); }
.recipe-app [data-pattern-controls][hidden] { display: none; }
.recipe-app .research-view-switch { display: inline-flex; gap: 0; border: 1px solid var(--recipe-line); border-radius: var(--recipe-radius-small); }
.recipe-app .research-view-switch .btn { margin: 0; border: 0; border-radius: 0; }
.recipe-app .research-view-switch .btn[aria-pressed=true] { background: var(--recipe-accent); color: var(--recipe-surface); }
.recipe-app .research-pattern-toolbar { justify-content: space-between; gap: 8px 16px; }
.recipe-app .research-pattern-legend { gap: 12px; font-size: var(--recipe-font-compact); }
.recipe-app .research-pattern-legend > span { display: inline-flex; align-items: center; gap: 6px; }
.recipe-app .research-pattern-mark { display: inline-flex; justify-content: center; align-items: center; min-width: 22px; min-height: 22px; font-weight: 600; }
.recipe-app .research-pattern-mark--present { color: var(--recipe-accent); background: var(--recipe-accent-wash); }
.recipe-app .research-pattern-mark--uncertain { color: var(--recipe-warning-strong); background: var(--recipe-warning-wash); }
.recipe-app .research-pattern-mark--not-found { color: var(--recipe-muted); }
.recipe-app .research-pattern-hint { margin: 6px 0 12px; font-size: var(--recipe-font-compact); }
.recipe-app .research-pattern-scroll { scroll-padding-inline-start: 260px; scroll-padding-top: 64px; }
.recipe-app .research-pattern-table { width: 100%; font-size: var(--recipe-font-control); }
.recipe-app .research-pattern-table th, .recipe-app .research-pattern-table td { padding: 3px 4px; vertical-align: middle; }
.recipe-app .research-pattern-table thead th { position: sticky; top: 0; z-index: 2; min-width: 80px; max-width: 120px; text-align: center; white-space: normal; overflow-wrap: anywhere; text-transform: none; letter-spacing: normal; background: var(--recipe-surface); }
.recipe-app .research-pattern-table th:first-child { position: sticky; left: 0; min-width: 180px; max-width: 250px; width: 25%; padding: 6px 12px; text-align: left; background: var(--recipe-surface); }
.recipe-app .research-pattern-table thead th:first-child { z-index: 3; }
.recipe-app .research-pattern-table tbody th { z-index: 1; text-transform: none; letter-spacing: normal; font-weight: 500; overflow-wrap: anywhere; }
.recipe-app .research-pattern-cell { display: block; width: 100%; min-width: var(--recipe-control-touch); min-height: var(--recipe-control-touch); padding: 4px; margin: 0; border: 1px solid transparent; border-radius: var(--recipe-radius-small); cursor: pointer; font: inherit; font-weight: 600; }
.recipe-app .research-pattern-cell--present { color: var(--recipe-accent); background: var(--recipe-accent-wash); }
.recipe-app .research-pattern-cell--uncertain { color: var(--recipe-warning-strong); background: var(--recipe-warning-wash); }
.recipe-app .research-pattern-cell--not-found { color: var(--recipe-muted); background: var(--recipe-surface); }
.recipe-app .research-pattern-cell:hover { border-color: var(--recipe-accent); }
.recipe-app .research-pattern-flag { display: inline-block; margin-left: 6px; color: var(--recipe-warning-strong); font-size: var(--recipe-font-compact); white-space: nowrap; }
.recipe-app .research-pattern-technique { min-width: 96px; color: var(--recipe-muted); }
.recipe-app [data-comparison-view][hidden], .recipe-app .research-view-switch[hidden], .recipe-app .research-pattern-table [hidden] { display: none; }
@media (max-width: 768px) {
  .recipe-app .research-comparison-controls { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr); justify-items: start; gap: 8px; }
  .recipe-app .research-comparison-controls label { display: grid; grid-template-columns: 90px minmax(0, 1fr); width: 100%; }
  .recipe-app .research-comparison-controls select { width: 100%; }
  .recipe-app .research-pattern-scroll { scroll-padding-inline-start: 144px; }
  .recipe-app .research-pattern-table th:first-child { min-width: 132px; max-width: 150px; padding-inline: 6px; }
  .recipe-app .research-pattern-table thead th { min-width: 68px; }
  .recipe-app .research-pattern-toolbar { align-items: flex-start; }
}
.page-research .research-quantity-form { display: grid; gap: 1rem; max-width: 54rem; }
.page-research .research-quantity-form p { margin: 0; display: grid; gap: .35rem; }
.page-research .research-quantity-form label { font-weight: 600; }
.page-research .research-quantity-form input:not([type=checkbox]):not([type=hidden]),
.page-research .research-quantity-form select,
.page-research .research-quantity-form textarea { width: 100%; min-height: 2.75rem; padding: .6rem; border: 1px solid var(--recipe-line); border-radius: var(--recipe-radius-small); background: var(--recipe-surface); color: var(--recipe-ink); box-sizing: border-box; }
.page-research .research-quantity-form input[type=checkbox] { width: 1.2rem; height: 1.2rem; vertical-align: middle; }
.page-research .research-quantity-form .helptext { font-size: var(--recipe-font-control); font-weight: 400; }
.page-research .research-quantity-form .errorlist { color: var(--recipe-danger); }
.page-research .research-quantity-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 1rem; align-items: start; }
.page-research .research-quantity-selected { grid-column: 2; grid-row: 1; }
.page-research .research-quantity-plot { display: block; width: 100%; max-width: 42rem; height: 6rem; }
.page-research .research-quantity-plot line { stroke: var(--recipe-line); stroke-width: .3; }
.page-research .research-quantity-plot circle { fill: var(--recipe-accent); stroke: var(--recipe-accent-strong); stroke-width: .3; }
.page-research .research-quantity-plot .is-estimated { fill: var(--recipe-surface); stroke-width: .6; }
.page-research .research-quantity-plot text { font-size: var(--recipe-font-quantity-axis); fill: var(--recipe-muted); }
.page-research .research-quantity-plot a:focus circle { stroke: var(--recipe-ink); stroke-width: 1; }
.page-research .research-quantity-readings { padding-left: 1.3rem; }
.page-research .research-shell { min-width: 0; overflow-wrap: anywhere; }
.page-research .research-studio-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; margin-block: .5rem; }
.page-research .research-studio-metrics details, .page-research .research-studio-card { border: 1px solid var(--recipe-line); border-radius: var(--recipe-radius-small); padding: 1rem; margin-block: .75rem; }
.page-research .research-studio-metrics summary { cursor: pointer; }
.page-research .research-studio-metrics details { padding: .6rem; margin: 0; font-size: var(--recipe-font-compact); }
.page-research .research-studio-coverage .research-details { margin-top: .4rem; padding-top: .4rem; font-size: var(--recipe-font-compact); }
.page-research .research-studio-coverage > h2 { margin-block: .5rem; }
.page-research .research-studio-coverage > p { margin-block: .6rem; font-size: var(--recipe-font-compact); }
.page-research .research-studio-fieldset { border: 1px solid var(--recipe-line); border-radius: var(--recipe-radius-small); padding: 1rem; margin-block: 1rem; min-width: 0; }
.page-research .research-studio-fieldset legend { max-width: 100%; overflow-wrap: anywhere; padding-inline: .4rem; font-weight: 600; }
.page-research .research-studio-check { display: flex; gap: .6rem; align-items: baseline; padding-block: .6rem; }
.page-research .research-studio-check input { flex: 0 0 auto; }
.page-research .research-method-timeline { padding-left: 1.4rem; }
.page-research .research-method-timeline > li { padding: 1rem; border-left: 2px solid var(--recipe-line); margin-block: 1rem; }
.page-research .research-studio-facts { display: grid; grid-template-columns: minmax(7rem, 1fr) minmax(0, 3fr); gap: .5rem 1rem; }
.page-research .research-studio-facts dt { font-weight: 600; }
.page-research .research-studio-facts dd { margin: 0; overflow-wrap: anywhere; }
.page-research .research-investigation-report { overflow-wrap: anywhere; }
.page-research .research-quantity-plot .research-quantity-box-range { stroke-width: 3; }
.research-quantity-box { stroke: var(--recipe-muted); stroke-width: 2; }
@media (max-width: 640px) {
  .page-research .research-studio-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-research .research-studio-facts { grid-template-columns: minmax(0, 1fr); }
  .page-research .research-studio-fieldset { padding: .75rem; }
}
@media print {
  .page-research .research-report-actions, .page-research .research-breadcrumb { display: none; }
  .page-research .research-investigation-report .research-panel { border: 0; box-shadow: none; }
  .page-research .research-investigation-report h2, .page-research .research-investigation-report h3 { break-after: avoid; }
  .page-research .research-investigation-report blockquote { break-inside: avoid; }
}
.page-research .research-quantity-readings li { padding: .5rem 0; overflow-wrap: anywhere; }
.page-research .research-quantity-table { width: 100%; border-collapse: collapse; text-align: left; }
.page-research .research-quantity-table caption { text-align: left; padding: .5rem 0; }
.page-research .research-quantity-table th, .page-research .research-quantity-table td { padding: .75rem; border-bottom: 1px solid var(--recipe-line); vertical-align: top; overflow-wrap: anywhere; }
.page-research .research-quantity-table th:nth-child(2), .page-research .research-quantity-table td:nth-child(2) { min-width: 6rem; overflow-wrap: normal; }
.page-research .research-quantity-table th:nth-child(3), .page-research .research-quantity-table td:nth-child(3) { min-width: 8rem; overflow-wrap: normal; }
.page-research .research-quantity-table meter { width: 7rem; max-width: 100%; display: block; }
.page-research .research-quantity-estimate { display: block; font-size: var(--recipe-font-metadata); }
.page-research .research-imported-report { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 30rem; overflow: auto; }
.page-research #component-editor { margin-top: 1rem; }
.page-research #component-editor summary { padding: .6rem 0; cursor: pointer; }
.page-research #id_component_ingredients label, .page-research #id_component_directions label { display: flex; align-items: baseline; gap: .5rem; min-height: 2.5rem; text-transform: none; letter-spacing: normal; font-weight: 400; }
@media (max-width: 640px) {
  .page-research .research-quantity-plot text { font-size: var(--recipe-font-quantity-axis-mobile); }
  .page-research .research-quantity-layout { grid-template-columns: minmax(0, 1fr); }
  .page-research .research-quantity-selected { grid-column: 1; grid-row: 1; }
  .page-research .research-quantity-table { min-width: 36rem; }
  .page-research .research-quantity-form { max-width: 100%; }
  .page-research .research-quantity-form .research-actions { position: sticky; bottom: 0; background: var(--recipe-surface); padding: .5rem 0; }
}

@media print { .research-investigation-report details > * { display: block; } }

.page-research .research-studio-source-choice { padding-block: .7rem; border-bottom: 1px solid var(--recipe-line); }
.page-research .research-studio-source-choice > label { text-transform: none; letter-spacing: normal; font-weight: 600; }
.page-research .research-studio-source-choice details { font-size: var(--recipe-font-compact); padding-top: .35rem; }
.page-research .research-dashboard-modal .research-quantity-form .research-actions { position: sticky; bottom: 0; background: var(--recipe-surface); padding: .5rem 0; }

.recipe-app .research-form .research-entity-link--measurement { text-decoration-style: dashed; font-weight: 500; }

/* Sources keep recipe evidence visible; secondary queues live in managed dialogs. */
.recipe-app .research-source-table-scroll { max-width: 100%; max-height: 65dvh; overflow: auto; scroll-padding-top: 52px; }
.recipe-app .research-source-table { min-width: 800px; width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; border-top: 1px solid var(--recipe-line); border-left: 1px solid var(--recipe-line); font-size: var(--recipe-font-control); }
.recipe-app .research-source-table th, .recipe-app .research-source-table td { padding: 10px 12px; text-align: left; vertical-align: top; border: solid var(--recipe-line); border-width: 0 1px 1px 0; overflow-wrap: anywhere; }
.recipe-app .research-source-col-recipe { width: 22%; }
.recipe-app .research-source-col-publisher { width: 20%; }
.recipe-app .research-source-col-language { width: 12%; }
.recipe-app .research-source-col-ingredients { width: 46%; }
.recipe-app .research-source-table thead th { position: sticky; top: 0; z-index: 2; background: var(--recipe-accent-wash); }
.recipe-app .research-source-table tbody th { font-weight: normal; text-transform: none; letter-spacing: normal; }
.recipe-app .research-source-name { font-weight: 600; }
.recipe-app .research-source-byline { display: block; margin: 4px 0; font-size: var(--recipe-font-metadata); color: var(--recipe-muted); }
.recipe-app .research-source-table .research-triage-actions { margin-top: 6px; gap: 6px; }
.recipe-app .research-source-table .research-help { margin: 6px 0; }
.recipe-app .research-source-ingredients { column-count: 2; column-gap: 28px; list-style: disc; margin: 0; padding-left: 20px; line-height: 1.45; }
.recipe-app .research-source-ingredients li { break-inside: avoid; padding-right: 8px; }
.recipe-app .research-source-ingredients li + li { margin-top: 4px; }
.recipe-app #research-source-filters .research-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.recipe-app #research-source-filters .research-filters a { min-height: var(--recipe-control-touch); }
.recipe-app #research-discovered-sources .research-discovery-results { max-height: none; overflow: visible; }
@media (max-width: 600px) {
  .recipe-app .research-source-col-recipe { width: 15%; }
  .recipe-app .research-source-col-ingredients { width: 53%; }
  .recipe-app .research-source-table th:first-child { position: sticky; left: 0; z-index: 1; background: var(--recipe-surface); }
  .recipe-app .research-source-table thead th:first-child { z-index: 3; background: var(--recipe-accent-wash); }
  .recipe-app .research-source-table th, .recipe-app .research-source-table td { padding: 8px 6px; }
  .recipe-app .research-source-ingredients { column-count: 1; }
  .recipe-app .research-source-table .research-triage-actions .btn { white-space: normal; }
}

.recipe-app .research-path strong { white-space: nowrap; }
.recipe-app .research-tab-count { font-size: var(--recipe-font-metadata); font-weight: 400; }

.recipe-app .research-source-table thead th:nth-child(3) { white-space: nowrap; padding-inline: 6px; }

.recipe-app .research-flow .research-workspace-heading .research-source-tools { flex-direction: row; align-items: center; max-width: none; gap: 8px; }
.recipe-app .research-source-tools .btn { min-height: var(--recipe-control-touch); }
@media (max-width: 768px) {
  .recipe-app .research-path strong { white-space: normal; }
  .recipe-app .research-flow .research-workspace-heading--sources { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .recipe-app .research-flow .research-workspace-heading .research-source-tools { display: grid; width: 100%; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; }
  .recipe-app .research-source-tools > :first-child { grid-column: 1 / 3; }
  .recipe-app .research-source-tools > :last-child { grid-column: 3; grid-row: 1 / 3; }
  .recipe-app .research-source-tools .btn { white-space: normal; font-size: var(--recipe-font-compact); padding-inline: 8px; }
}

@media print {
  .recipe-app .research-source-table-scroll { max-height: none; overflow: visible; }
  .recipe-app .research-source-table { min-width: 0; }
  .recipe-app .research-source-table thead th, .recipe-app .research-source-table th:first-child { position: static; }
}

/* Discovery Plus: measured contribution with secondary evidence in disclosures. */
.recipe-app .research-shell:has(.research-plus-page-heading) { padding-block: 14px; }
.recipe-app .research-shell:has(.research-plus-page-heading) .research-breadcrumb { margin-bottom: 10px; }
.recipe-app .research-plus-page-heading { margin-bottom: 12px; }
.recipe-app .research-plus { padding: 12px 18px; margin-bottom: 12px; }
.recipe-app .research-plus-page-heading h1 { margin: 0; overflow-wrap: anywhere; }
.research-plus-title-context { color: var(--recipe-muted); font-size: var(--recipe-font-title-context); font-weight: 400; }
.research-plus-heading, .research-plus-budget { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem; align-items: center; }
.research-plus-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.research-plus-tool-form { display: flex; margin: 0; }
.recipe-app .research-plus-tool { display: inline-flex; align-items: center; justify-content: center; width: var(--recipe-control-touch); min-width: var(--recipe-control-touch); height: var(--recipe-control-touch); min-height: var(--recipe-control-touch); margin: 0; padding: 0; line-height: 1; font-size: var(--recipe-font-heading); text-decoration: none; }
.recipe-app .research-plus-tool--end { margin-left: 6px; }
.research-plus-stop { margin: 0; }
.research-plus-budget { padding: .5rem .7rem; background: var(--recipe-accent-wash); border-radius: var(--recipe-radius-small); margin-block: .5rem; font-size: var(--recipe-font-control); }
.recipe-app .research-plus-repeat { padding: 14px 18px; border-left: 3px solid var(--recipe-accent-strong); background: var(--recipe-accent-wash); margin-bottom: 16px; }
.recipe-app .research-plus-repeat p { margin: 6px 0 12px; }
.recipe-app .research-plus-repeat-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.research-plus-connection { margin: 4px 0 0; }
.recipe-app .research-plus-plan-builder { margin: 1rem 0; }
.recipe-app .research-plus-plan-builder h3 { margin: 0 0 .5rem; font-size: var(--recipe-font-subheading); }
.recipe-app .research-plus-language-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(125px, 1fr)); gap: 8px; margin: 12px 0 0; }
.recipe-app .research-plus-language-tab { display: flex; align-items: center; min-width: 0; border: 1px solid var(--recipe-line); border-radius: var(--recipe-radius-small); background: var(--recipe-surface); }
.recipe-app .research-plus-language-tab:has([aria-selected=true]) { border-color: var(--recipe-accent); background: var(--recipe-accent-wash); }
.recipe-app .research-plus-language-off { opacity: .72; }
.recipe-app .research-form .research-plus-language-tab label { display: flex; flex: 0 0 auto; align-items: center; margin: 0; padding: 10px 0 10px 10px; cursor: pointer; }
.recipe-app .research-form .research-plus-language-tab input[type=checkbox] { width: 18px; height: 18px; margin: 0; }
.recipe-app .research-plus-language-tab button[role=tab] { flex: 1 1 auto; min-width: 0; min-height: 52px; margin: 0; padding: 7px 8px; border: 0; background: transparent; color: inherit; text-align: left; }
.recipe-app .research-plus-language-tab button[role=tab] strong, .recipe-app .research-plus-language-tab button[role=tab] small { display: block; overflow-wrap: anywhere; }
.recipe-app .research-plus-language-tab button[role=tab] small { color: var(--recipe-muted); font-size: var(--recipe-font-compact); font-weight: 400; }
.recipe-app .research-plus-language-panel { min-width: 0; padding: 14px; border: 1px solid var(--recipe-line); border-radius: var(--recipe-radius-small); background: var(--recipe-surface); }
.recipe-app .research-plus-language-panel-heading { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.recipe-app .research-plus-language-panel-heading label { margin: 0; }
.recipe-app .research-plus-language-order { display: flex; gap: 6px; }
.recipe-app .research-plus-language-order .btn { min-height: 32px; padding: 4px 8px; margin: 0; }
.recipe-app .research-plus-language-panel textarea { display: block; box-sizing: border-box; width: 100%; max-width: 100%; }
.recipe-app .research-plus-add-language { margin: 16px 0; }
.recipe-app .research-plus-add-language label { display: block; margin-bottom: 5px; }
.recipe-app .research-plus-add-language > div { display: flex; flex-wrap: wrap; gap: 8px; }
.recipe-app .research-plus-add-language input { width: 100px; max-width: 100%; }
.recipe-app .research-plus-add-language .btn { margin: 0; }
.recipe-app .research-plus-plan-preview { padding: 12px; border: 1px solid var(--recipe-line); border-radius: var(--recipe-radius-small); background: var(--recipe-accent-wash); }
.recipe-app .research-plus-plan-preview p { margin: 6px 0; }
.recipe-app .research-plus-plan-preview ol { max-height: 10rem; overflow: auto; margin: 10px 0 0; padding-left: 2rem; }
.recipe-app .research-plus-plan-preview li { padding: 2px 0; overflow-wrap: anywhere; }
.research-plus-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .55rem; margin-block: .5rem; }
.research-plus-metrics > div { padding: .5rem .7rem; background: var(--recipe-accent-wash); border: 1px solid var(--recipe-line); border-radius: var(--recipe-radius-small); }
.research-plus-metrics dt { font-size: var(--recipe-font-compact); }
.research-plus-metrics dd { margin: .15rem 0 0; font-size: var(--recipe-font-heading); font-weight: 600; }
.recipe-app .research-plus-tab-section { padding: 14px 18px; margin-bottom: 0; }
.research-plus-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(100%, 620px); gap: 4px; margin-bottom: 8px; border-bottom: 1px solid var(--recipe-line); }
.research-plus-tabs[hidden], .research-plus-tab-panel[hidden], .research-plus-tab-panel [hidden] { display: none; }
.research-plus-tabs button { min-height: var(--recipe-control-touch); padding: 8px 12px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--recipe-muted); font: inherit; font-weight: 600; text-align: left; cursor: pointer; }
.research-plus-tabs button[aria-selected=true] { border-bottom-color: var(--recipe-accent-strong); background: var(--recipe-accent-wash); color: var(--recipe-ink); }
.research-plus-tabs button:focus-visible { outline: 2px solid var(--recipe-accent-strong); outline-offset: -2px; }
.research-plus-tab-panel + .research-plus-tab-panel { margin-top: 24px; }
.research-plus-tabs-active .research-plus-tab-panel + .research-plus-tab-panel { margin-top: 0; }
.research-plus-tab-panel h3, .research-plus-tab-panel .research-help { margin-top: 0; }
.research-plus-tab-panel .research-plus-scroll { margin-block: 0; }
.research-plus-tab-panel .research-plus-scroll th, .research-plus-tab-panel .research-plus-scroll td { padding: .35rem .6rem; }
.research-plus-tab-panel .research-plus-scroll th { white-space: nowrap; }
.research-plus-scroll { max-width: 100%; overflow-x: auto; margin-block: 1rem; }
.research-plus-scroll table { border-collapse: collapse; width: 100%; font-size: var(--recipe-font-compact); }
.research-plus-scroll th, .research-plus-scroll td { padding: .65rem; border: 1px solid var(--recipe-line); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.research-plus-scroll th { background: var(--recipe-accent-wash); }
.research-plus-usage { white-space: pre-wrap; overflow-wrap: anywhere; max-width: 30rem; }
@media (max-width: 600px) {
  .recipe-app .research-plus { padding: 14px; }
  .research-plus-heading { align-items: flex-start; }
  .research-plus-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .research-plus-scroll table { min-width: 36rem; }
  .research-plus-budget { align-items: flex-start; gap: .25rem .8rem; }
  .recipe-app .research-plus-language-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Relevance choices preserve readable source wording and compact checkbox alignment. */
#research-relevance fieldset { margin-block: 1rem; padding: .75rem; min-width: 0; }
#research-relevance fieldset label { display: flex; align-items: flex-start; gap: .5rem; text-transform: none; font-weight: normal; overflow-wrap: anywhere; margin-block: .5rem; }
#research-relevance input[type="checkbox"] { flex: 0 0 auto; width: auto; margin: .25rem 0 0; }
#research-relevance label[for="id_relevance-boundaries_confirmed"] { text-transform: none; font-weight: normal; display: inline; }
.research-relevance .research-help { margin-bottom: 0; }
.recipe-app .research-ingredient-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.recipe-app .research-ingredient-chip { display: inline-flex; align-items: center; min-width: 0; max-width: 100%; border: 1px solid var(--recipe-line); border-radius: var(--recipe-radius-small); background: var(--recipe-accent-wash); }
.recipe-app .research-ingredient-chip button { margin: 0; padding: 4px 8px; min-height: 36px; border: 0; background: transparent; color: var(--recipe-ink); font: inherit; font-size: var(--recipe-font-compact); overflow-wrap: anywhere; }
.recipe-app .research-ingredient-chip button:last-child { flex: 0 0 36px; }
.recipe-app .research-ingredient-add { display: flex; flex-wrap: wrap; gap: 6px; }
.recipe-app .research-ingredient-add input { flex: 1 1 200px; min-width: 0; }
.recipe-app .research-ingredient-add button { margin: 0; }
.recipe-app textarea[data-ingredient-chips][hidden], .recipe-app .research-ingredient-add button[hidden] { display: none; }
.recipe-app .research-reference-focus h3 { margin: 0 0 8px; }
.recipe-app .research-reference-focus .research-actions { margin: 12px 0 0; }
.recipe-app .research-plus-plan-preview > p { margin: 8px 0; }
.recipe-app #research-discover-modal .modal-dialog { max-width: 860px; }
.recipe-app .research-plus-plan-preview + .research-help { margin-top: 10px; }
.recipe-app .research-list-toolbar { margin: 0; }
.recipe-app .research-collect-status { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.recipe-app .research-collect-chip, .recipe-app .research-suggested-chip { display: inline-flex; align-items: center; gap: 8px; min-width: 0; max-width: 100%; min-height: 34px; padding: 4px 9px; border: 1px solid var(--recipe-line); border-radius: var(--recipe-radius-small); background: var(--recipe-surface); color: var(--recipe-ink); font: inherit; font-size: var(--recipe-font-compact); line-height: 1.25; text-decoration: none; overflow-wrap: anywhere; }
.recipe-app .research-collect-chip:hover, .recipe-app .research-suggested-chip:hover { border-color: var(--recipe-accent); background: var(--recipe-accent-wash); }
.recipe-app .research-collect-chip:focus-visible, .recipe-app .research-suggested-chip:focus-visible { outline: 2px solid var(--recipe-accent); outline-offset: 2px; }
.recipe-app .research-suggested { margin-top: 8px; }
.research-suggested-grid { display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin: 0; list-style: none; }
.research-suggested-grid > li { min-width: 0; max-width: 100%; }
.recipe-app .research-suggested-chip__title { min-width: 0; font-weight: 600; }
.recipe-app .research-suggested-chip--more { font-weight: 600; }
@media (max-width: 768px) {
  .recipe-app .research-collect-chip, .recipe-app .research-suggested-chip { min-height: var(--recipe-control-touch); padding: 6px 10px; }
}
.research-menu-result { margin-block: 16px; }
.research-table-scroll { max-width: 100%; overflow-x: auto; } .research-table-scroll small { display: block; color: var(--recipe-muted); }
.research-table-scroll table { width: 100%; border-collapse: collapse; }
.research-table-scroll th, .research-table-scroll td { padding: 10px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--recipe-line); overflow-wrap: anywhere; }
#research-source-assessment .modal-dialog { max-width: 720px; }
@media (max-width: 600px) { .research-table-scroll table { min-width: 540px; } }
.recipe-app .research-exchange-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.recipe-app .research-exchange-grid > section { display: flex; flex-direction: column; min-width: 0; }
.recipe-app .research-exchange-grid > section + section { border-left: 1px solid var(--recipe-line); padding-left: 20px; }
.recipe-app .research-exchange-grid h3 { margin: 0; font-size: var(--recipe-font-subheading); }
.recipe-app .research-exchange-grid .research-form { margin-top: auto; }
.recipe-app .research-exchange-grid input, .recipe-app .research-exchange-grid select { min-width: 0; max-width: 100%; box-sizing: border-box; }
@media (max-width: 600px) {
  .recipe-app .research-exchange-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .recipe-app .research-exchange-grid > section + section { border-left: 0; border-top: 1px solid var(--recipe-line); padding: 16px 0 0; }
}
@media (max-width: 768px) {
  .recipe-app .research-ingredient-chip button { min-height: var(--recipe-control-touch); }
}
