.quick-search {padding-block: .8rem;}
.quick-search form {display: flex; align-items: center; gap: .75rem; max-width: 850px; margin-inline: auto;}
.quick-search label {font-weight: 700; flex-shrink: 0;}
.quick-search input {width: 100%; min-width: 0; border: 1px solid #776d89; border-radius: .4rem; padding: .75rem; font: inherit; background: #fff; color: #110b2b;}
.search-suggestions {position: relative; flex: 1; min-width: 0;}
.search-suggestions-list {position: absolute; top: 100%; inset-inline: 0; z-index: 30; margin: .25rem 0 0; padding: .4rem; list-style: none; color: #110b2b; background: #fff; border: 1px solid #776d89; border-radius: .4rem; box-shadow: 0 8px 22px #110b2b26; max-height: 24rem; overflow-y: auto;}
.search-suggestions-list li {padding: .75rem; line-height: 1.4; cursor: pointer; min-height: 44px;}
.search-suggestions-list li:hover, .search-suggestions-list li[aria-selected=true] {background: #e8e2f4; text-decoration: underline;}
.search-suggestions-list[hidden] {display: none;}
.sr-only {position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap;}
.notebook-form {display: grid; gap: .6rem;}
.notebook-form label {font-weight: 700; margin-top: .5rem;}
.notebook-form input, .notebook-form select, .notebook-form textarea {width: 100%; min-width: 0; font: inherit; color: #110b2b; background: #fff; padding: .75rem; border: 1px solid #776d89; border-radius: .35rem;}
.notebook-form textarea {resize: vertical;}
.notebook-source {display: grid; gap: .6rem; min-width: 0; border: 1px solid #776d89; padding: 1rem; margin-block: 1.25rem; border-radius: .5rem;}
.notebook-source legend {font-size: 1.2rem; font-weight: 800; padding-inline: .4rem;}
.notebook-source button {justify-self: start; margin-top: .75rem;}
.notebook-actions {display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; margin-top: 1rem;}
.notebook-actions[hidden] {display: none;}
.notebook-actions label {width: 100%;}
.quick-search :focus-visible, .notebook-form :focus-visible {outline: 3px solid #6a28bf; outline-offset: 3px;}
.research-path {border-top: 1px solid #d9d1e5;}
@media (max-width: 650px) {.quick-search form {flex-wrap: wrap;} .quick-search label {width: 100%;} .quick-search .button {padding-inline: .8rem;}}
@media print {
    .notebook-source {break-inside: avoid;}
    .notebook-form input, .notebook-form textarea, .notebook-form select {border: 1px solid #888; overflow: visible;}
    .notebook-form textarea {field-sizing: content;}
    .notebook-form {display: none;}
    #research-printout {display: block !important; white-space: pre-wrap; overflow-wrap: anywhere; font: inherit;}
    .quick-search, .notebook-actions, .notebook-source button, #research-add, .site-header, .site-footer, .site-cta {display: none !important;}
}
