/* Extend the existing paper/forest editorial system with a quiet working surface. */
.research-library { scroll-margin-top: 6rem; }
.research-library > p { max-width: 72ch; }
.research-library-meta { color: var(--muted, #52635d); font-size: .88rem; }
.research-library-controls { display: grid; grid-template-columns: minmax(12rem, 2fr) repeat(3, minmax(8rem, 1fr)); gap: 1rem; margin-block: 1.5rem; align-items: end; }
.research-library label { display: flex; flex-direction: column; gap: .4rem; font-size: .88rem; font-weight: 600; min-width: 0; }
.research-library input, .research-library select, .research-library textarea { min-width: 0; width: 100%; box-sizing: border-box; padding: .7rem; min-height: 44px; color: #18392e; background: #fffefa; border: 1px solid #a9b5ac; border-radius: 2px; font: inherit; }
.research-library textarea { resize: vertical; line-height: 1.65; font-weight: 400; }
.research-library button, .research-library-save button { min-height: 44px; white-space: normal; }
.research-library button:disabled, .research-library-save button:disabled { color: #38564a; cursor: default; opacity: 1; background: #e5ece4; }
.research-library :is(input,select,textarea,button,a,summary):focus-visible, .research-library-save :is(button,a):focus-visible { outline: 2px solid #1d6049; outline-offset: 3px; }
.research-library :is(input,textarea) { caret-color: #1d6049; }
.research-library ::selection { color: #122b22; background: #cbded0; }
.research-library summary { cursor: pointer; min-height: 44px; padding-block: .65rem; font-weight: 600; }
.research-library-collections { border-block: 1px solid #cbd4ca; padding-block: .5rem; }
.research-library-create, .research-library-collection-row { display: flex; align-items: end; flex-wrap: wrap; gap: .7rem; padding-block: .75rem; }
.research-library-create label, .research-library-collection-row label { flex: 1 1 14rem; max-width: 30rem; }
.research-library-count { margin-block: 1.5rem .4rem; color: #38564a; }
.research-library-row { padding-block: 1.5rem; border-bottom: 1px solid #cbd4ca; min-width: 0; }
.research-library-row h3 { font-size: 1.45rem; line-height: 1.35; margin: 0 0 .5rem; max-width: 60ch; overflow-wrap: anywhere; }
.research-library-row h3 a { text-underline-offset: .2em; }
.research-library-note { white-space: pre-wrap; overflow-wrap: anywhere; max-width: 72ch; line-height: 1.7; }
.research-library-edit { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; padding-block: .5rem 1rem; }
.research-library-edit label:has(textarea) { grid-column: 1 / -1; }
.research-library-edit button { justify-self: start; }
.research-library-status { min-height: 1.5em; color: #24573f; }
.research-library-status.is-error, .research-library-save-status.is-error { color: #803c2d; }
.research-library-save { display: flex; flex-wrap: wrap; gap: .6rem 1rem; align-items: center; padding-block: .75rem; font-size: .85rem; }
.research-library-save-status { flex-basis: 100%; color: #24573f; }
.research-library-save-status:empty { display: none; }
.research-library-save a { text-underline-offset: .2em; }
@media (max-width: 700px) { .research-library-controls { grid-template-columns: 1fr 1fr; } .research-library-controls > label:first-child { grid-column: 1 / -1; } .research-library-edit { grid-template-columns: 1fr; } }
@media (max-width: 420px) { .research-library-controls { grid-template-columns: 1fr; } .research-library-create, .research-library-collection-row { align-items: stretch; } .research-library-create label, .research-library-collection-row label { flex-basis: 100%; } }
@media print { .research-library-controls, .research-library-collections, .research-library-row details, .research-library-save, .research-library > button { display: none; } .research-library-row { break-inside: avoid; } }

.research-library-experience { min-width: 0; display: flex; flex-direction: column; }
.research-library-experience > a.studio-experience { flex: 1; }
.studio-briefings > .research-library-experience > a { padding: 26px 0; display: flex; gap: 32px; align-items: center; justify-content: space-between; color: inherit; text-decoration: none; border-top: 1px solid #cbd4c5; }
.studio-briefings > .research-library-experience > a > div { max-width: 800px; }
@media (max-width: 640px) { .studio-briefings > .research-library-experience > a { align-items: flex-start; flex-direction: column; gap: 14px; } }
