.research-projects { max-width: 1040px; margin: 0 auto; }
.project-intro { margin: 0 0 28px; }
.project-intro p { margin: 0 0 7px; color: var(--text, #e8e5e0); font-size: 19px; }
.project-intro small { display: block; max-width: 650px; color: var(--muted, #a29c94); font-size: 14px; line-height: 1.6; }
.project-toolbar { display: flex; align-items: center; gap: 14px; }
.project-toolbar input { flex: 1; min-width: 0; max-width: 420px; min-height: 40px; padding: 8px 12px; border: 1px solid var(--line, rgba(220,210,197,.16)); border-radius: 9px; background: rgba(255,255,255,.025); color: inherit; font: inherit; }
.project-new,.project-open { border: 1px solid transparent; background: transparent; color: var(--text, #e8e5e0); font: inherit; cursor: pointer; border-radius: 8px; padding: 9px 12px; }
.project-new { background: rgba(255,255,255,.055); border-color: var(--line, rgba(220,210,197,.16)); margin-left: auto; white-space: nowrap; }
.project-open { color: var(--accent, #efab7a); font-size: 13px; white-space: nowrap; }
.project-new:hover,.project-open:hover { background: rgba(255,255,255,.075); }
.project-new:focus-visible,.project-open:focus-visible,.project-toolbar input:focus-visible { outline: 2px solid var(--accent, #efab7a); outline-offset: 3px; }
.project-status { color: var(--muted, #a29c94); font-size: 12px; margin: 19px 0 8px; }
.project-row { display: flex; align-items: center; gap: 18px; padding: 24px 2px; border-top: 1px solid var(--line, rgba(220,210,197,.13)); }
.project-row:last-child { border-bottom: 1px solid var(--line, rgba(220,210,197,.13)); }
.project-description { flex: 1; min-width: 0; }
.project-title { margin: 0 0 7px; font-size: 20px; font-weight: 500; line-height: 1.3; overflow-wrap: anywhere; }
.project-meta { margin: 0; color: var(--muted, #a29c94); font-size: 13px; line-height: 1.5; }
.project-empty { padding: 48px 0; text-align: center; }
.project-empty h3 { font-size: 25px; font-weight: 400; margin: 0 0 10px; }
.project-empty p { max-width: 480px; margin: auto; color: var(--muted, #a29c94); font-size: 14px; line-height: 1.7; }
.project-error { color: #e5a296; }
@media(max-width: 560px) { .project-toolbar { flex-wrap: wrap; }.project-toolbar input { max-width: none; flex-basis: 100%; }.project-new { margin-left: 0; }.project-row { gap: 10px; }.project-title { font-size: 18px; } }
