.research-workspace { max-width: 1200px; display: flex; flex-direction: column; gap: 20px; }
.research-workspace h2 { margin: 0 0 12px; }
.research-workspace > .page-head { margin-bottom: 0; }
.research-workspace > .sub-note { margin-top: -12px; }
.research-workspace input,.research-workspace select,.research-workspace textarea { padding: 10px 12px; border: 1px solid var(--line); border-radius: 6px; background: var(--sunk); color: var(--ink); font: inherit; }
.research-workspace input:focus-visible,.research-workspace select:focus-visible,.research-workspace textarea:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }
.research-mode-tabs { display: flex; gap: 28px; border-bottom: 1px solid var(--line); }
.research-mode-tabs a { position: relative; padding: 0 2px 11px; color: var(--dim); font-weight: 500; text-decoration: none; }
.research-mode-tabs a:hover { color: var(--ink); }
.research-mode-tabs a.active { color: var(--ink); }
.research-mode-tabs a.active:after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--teal); }
.research-tabs { display: flex; gap: 8px; margin-bottom: 18px; }
.research-filters { display: grid; grid-template-columns: 2fr 1fr 1.4fr auto; gap: 12px; align-items: end; }
.research-filters label { display: flex; flex-direction: column; gap: 7px; font-size: 13px; }
.research-filters input,.research-filters select { width: 100%; }
.research-roster { max-height: 650px; overflow-y: auto; }
.research-entity { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 4px; border-bottom: 1px solid var(--line); text-decoration: none; color: var(--ink); }
.research-entity:hover { background: var(--sunk); }
.research-entity small { display: block; color: var(--dim); margin-top: 5px; font-size: 12px; }
.research-profile-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.research-panels { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.research-metrics { padding: 0; list-style: none; }
.research-metrics li { display: flex; justify-content: space-between; gap: 20px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.research-case { padding: 14px 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.research-case a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.research-case p,.research-case small { color: var(--dim); font-size: 13px; margin: 5px 0; }
.research-workspace details { margin-top: 10px; font-size: 13px; }
.research-workspace summary { cursor: pointer; color: var(--teal); padding: 8px 0; }

.research-ask-view { min-height: calc(100vh - 156px); }
.research-scope { margin-top: -12px; color: var(--dim); font-size: 12px; }
.research-assistant-stage { flex: 1; min-height: 560px; display: flex; flex-direction: column; background: var(--paper); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.research-assistant-empty { flex: 1; width: min(680px, 100%); margin: auto; padding: 90px 28px 120px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.research-assistant-empty h2 { margin: 14px 0 6px; font-size: 32px; }
.research-assistant-empty > p { color: var(--dim); max-width: 560px; }
.research-assistant-empty .research-composer { margin-top: 28px; text-align: left; }
.research-active-context { display: inline-flex; align-items: center; gap: 8px; min-width: 0; padding: 7px 10px; border: 1px solid var(--teal-line); border-radius: 8px; background: var(--teal-bg); color: var(--teal-d); font-size: 13px; }
.research-active-context span { font-size: 11px; letter-spacing: .05em; text-transform: uppercase; }
.research-active-context strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.research-thread-head { min-height: 52px; padding: 10px 18px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--line-2); background: var(--card); }
.research-thread { flex: 1; min-height: 360px; max-height: calc(100vh - 390px); overflow-y: auto; padding: 28px max(24px, calc((100% - 760px) / 2)); scroll-behavior: smooth; }
.research-message { display: flex; margin-bottom: 26px; }
.research-message > div { width: min(100%, 720px); }
.research-message.user { justify-content: flex-end; }
.research-message.user > div { width: auto; max-width: min(82%, 620px); padding: 12px 16px; border: 1px solid var(--line); border-radius: 18px 6px 18px 18px; background: var(--card); }
.research-message p { line-height: 1.65; overflow-wrap: anywhere; }
.research-message-label { display: block; margin-bottom: 6px; color: var(--dim); font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.research-message.user .research-message-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.research-thinking { color: var(--dim); }
.research-thinking:after { content: ""; display: inline-block; width: 12px; height: 12px; margin-left: 8px; border: 2px solid var(--line-3); border-top-color: var(--teal); border-radius: 50%; vertical-align: -2px; animation: research-spin .8s linear infinite; }
.research-assistant-answer > p:first-child { font-size: 15px; }
.research-assistant-answer .research-entity { padding-right: 10px; padding-left: 10px; }
.research-assistant-answer .research-metrics { margin-top: 14px; }
.research-assistant-answer details { border-top: 1px solid var(--line-2); }
.research-assistant-answer details .sub-note { padding-bottom: 8px; }
.research-composer-sticky { position: sticky; bottom: 0; padding: 14px max(24px, calc((100% - 760px) / 2)) 18px; background: linear-gradient(to bottom, rgba(251,250,247,0), var(--paper) 20%); }
.research-composer { width: 100%; padding: 12px 14px 10px; border: 1px solid var(--line-3); border-radius: 14px; background: var(--card); box-shadow: 0 4px 18px rgba(20,24,31,.06); }
.research-composer:focus-within { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(11,110,99,.12); }
.research-composer-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.research-composer textarea { display: block; width: 100%; min-height: 58px; max-height: 160px; padding: 4px 2px 8px; resize: vertical; border: 0; border-radius: 0; background: transparent; line-height: 1.5; }
.research-composer textarea:focus-visible { outline: 0; }
.research-composer-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.research-composer-foot span { color: var(--dim); font-size: 11px; }
@keyframes research-spin { to { transform: rotate(360deg); } }

@media(max-width: 760px) {
  .research-panels,.research-filters { grid-template-columns: 1fr; }
  .research-entity { align-items: flex-start; gap: 12px; }
  .research-entity > span:last-child { white-space: nowrap; font-size: 12px; }
  .research-profile-actions { width: 100%; }
  .research-profile-actions .btn { flex: 1; }
  .research-ask-view { min-height: calc(100dvh - 120px); }
  .research-assistant-stage { min-height: 500px; margin: 0 -12px; border-right: 0; border-left: 0; border-radius: 0; }
  .research-assistant-empty { padding: 64px 18px 92px; }
  .research-assistant-empty h2 { font-size: 27px; }
  .research-thread { max-height: none; padding: 22px 16px; }
  .research-message.user > div { max-width: 90%; }
  .research-thread-head { padding: 10px 14px; }
  .research-composer-sticky { padding: 12px 12px max(14px, env(safe-area-inset-bottom)); }
  .research-composer-foot span { display: none; }
}
@media(prefers-reduced-motion: reduce) {
  .research-thread { scroll-behavior: auto; }
  .research-thinking:after { animation: none; }
}
