/* Discovery-specific layout keeps finding, evaluating, and saving content in one accessible flow. */
.research-page { --research-gap: 18px; }
.research-page .page-head p { max-width: 640px; }
.research-loading { padding: 34px 20px; text-align: center; color: var(--text-2); }
.research-brief { padding: 22px; margin-bottom: 22px; }
.research-brief-top { display: flex; align-items: start; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.research-brief-top h2 { font-size: 17px; margin-bottom: 6px; }
.research-learning { color: var(--text-2); font-size: 12px; white-space: nowrap; background: var(--surface-2); padding: 5px 10px; border-radius: var(--r-full); }
.research-search-fields { display: grid; grid-template-columns: 1.4fr 1fr; gap: 16px; }
.research-page .field { display: flex; flex-direction: column; align-items: stretch; gap: 6px; min-width: 0; margin: 0; }
.research-page .field > span:first-child { font-size: 12px; font-weight: 600; color: var(--text-2); }
.research-page .field > .xs { font-weight: 400; }
.research-options { border-top: 1px solid var(--border); margin-top: 16px; padding-top: 14px; }
.research-options summary { display: flex; align-items: center; gap: 7px; cursor: pointer; list-style: none; width: fit-content; font-size: 12px; font-weight: 600; color: var(--text-2); }
.research-options summary::-webkit-details-marker { display: none; }
.research-options[open] > summary svg { transform: rotate(180deg); }
.research-option-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 22px; padding-top: 18px; }
.research-formats { border: 0; margin: 0; padding: 0; min-width: 0; }
.research-formats legend { color: var(--text-2); font-size: 12px; font-weight: 600; margin-bottom: 9px; padding: 0; }
.research-formats .check { gap: 5px; margin-right: 8px; }
.research-source-options { display: flex; flex-direction: column; gap: 16px; padding-top: 16px; }
.research-sources { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 22px; }
.research-source { display: flex; align-items: center; gap: 9px; min-width: 0; padding: 7px 0; }
.research-source > div { flex: 1; min-width: 0; }
.research-source b { font-size: 12px; font-weight: 600; }
.research-source p { font-size: 11px; color: var(--text-2); margin-top: 2px; }
.research-source .badge { font-size: 10px; white-space: nowrap; }
.research-source-dot { width: 7px; height: 7px; background: var(--text-3); border-radius: 50%; flex: none; }
.research-source-dot.available { background: var(--success); }
.research-paid { align-items: start; }
.research-paid input { margin-top: 3px; }
.research-actions { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--border); }
.research-actions > span { max-width: 480px; }
.research-job { background: var(--accent-soft); border: 1px solid var(--accent-ring); border-radius: var(--r); padding: 14px 17px; margin: -5px 0 22px; }
.research-job.has-error { background: var(--danger-soft); border-color: var(--border-strong); }
.research-job b { font-size: 13px; }
.research-job p, .research-job .progress { margin-top: 8px; }
.research-job .btn { margin-top: 10px; }
.research-feed-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.research-feed-head .tabs { margin-bottom: 0; flex-wrap: wrap; }
.research-caption { display: flex; justify-content: space-between; gap: 14px; color: var(--text-2); font-size: 11px; margin: 13px 0 19px; }
.research-caption > span:first-child { white-space: nowrap; }
.research-caption b { color: var(--text); }
.research-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--research-gap); align-items: start; }
.research-card { border: 1px solid var(--border); border-radius: var(--r-lg); background: var(--surface); overflow: hidden; box-shadow: var(--sh-sm); min-width: 0; }
.research-card-image { display: block; position: relative; width: 100%; aspect-ratio: 4/5; overflow: hidden; background: var(--surface-2); }
.research-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s var(--ease); }
.research-card-image:hover img { transform: scale(1.025); }
.research-card-platform { position: absolute; left: 12px; bottom: 12px; color: white; background: rgba(0,0,0,.72); font-size: 10px; font-weight: 600; padding: 4px 8px; border-radius: 5px; }
.research-demo-label { position: absolute; top: 12px; right: 12px; padding: 4px 8px; background: var(--warning); color: #151515; border-radius: 5px; font-size: 11px; font-weight: 700; }
.research-card-body { padding: 16px; }
.research-card-meta { display: flex; gap: 9px; justify-content: space-between; color: var(--text-2); font-size: 11px; margin-bottom: 9px; }
.research-card-meta > span:last-child { flex: none; }
.research-card-title { text-align: left; font-size: 14px; font-weight: 650; line-height: 1.55; min-height: 43px; width: 100%; }
.research-card-title:hover { color: var(--accent); }
.research-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 15px; }
.research-metrics > div { display: flex; flex-direction: column; gap: 3px; }
.research-metrics span { font-size: 10px; color: var(--text-2); }
.research-metrics b { font-size: 12px; font-weight: 600; }
.research-recommendation { margin-top: 16px; border-top: 1px solid var(--border); padding-top: 14px; }
.research-score { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.research-score > span { font-size: 12px; font-weight: 600; }
.research-score > span small { font-size: 10px; color: var(--text-2); font-weight: 400; margin-left: 3px; }
.research-score > b { font-size: 20px; line-height: 1; color: var(--accent); font-variant-numeric: tabular-nums; }
.research-score > b small { font-size: 10px; font-weight: 400; color: var(--text-2); margin-left: 3px; }
.research-reasons { font-size: 11px; color: var(--text-2); margin: 10px 0 0; padding-left: 15px; line-height: 1.6; }
.research-reasons li + li { margin-top: 3px; }
.research-recommendation > p { margin-top: 10px; }
.research-evidence { margin-top: 11px; }
.research-evidence summary { font-size: 11px; color: var(--accent); cursor: pointer; }
.research-evidence > p { margin-top: 10px; }
.research-score-parts { display: flex; flex-direction: column; gap: 10px; margin-top: 10px; }
.research-score-parts > div { display: grid; grid-template-columns: 1fr auto; gap: 3px 8px; font-size: 11px; }
.research-score-parts b { font-weight: 600; }
.research-score-parts p { grid-column: 1/-1; color: var(--text-2); }
.research-card-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin-top: 16px; }
.research-card-actions .btn { font-size: 11px; }
@media (min-width: 1550px) { .research-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.research-card { transition: opacity .2s var(--ease), transform .2s var(--ease); } .research-card.leaving { opacity: 0; transform: scale(.96); }
@media (max-width: 1120px) { .research-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .research-actions { align-items: start; flex-direction: column; } }
@media (max-width: 700px) {
  .research-brief { padding: 17px; }
  .research-brief-top { flex-direction: column; gap: 10px; }
  .research-search-fields, .research-option-grid, .research-sources { grid-template-columns: 1fr; }
  .research-feed-head { align-items: start; }
  .research-feed-head .tabs button { font-size: 12px; padding-inline: 9px; }
  .research-feed-head > .btn { font-size: 0; padding: 9px; }
  .research-caption { flex-direction: column; gap: 5px; }
}
@media (max-width: 500px) { .research-grid { grid-template-columns: minmax(0, 1fr); } .research-actions > .row { width: 100%; } .research-actions .btn-primary { flex: 1; } }
