.infaer-vocab-search { color: #172d34; }
.infaer-vocab-search .vocab-search-panel { background: #fff; color: #172d34; border: 1px solid #9eabb0; border-radius: 16px; padding: clamp(18px, 4vw, 32px); margin: 24px 0; }
.infaer-vocab-search label { display: block; font-weight: 700; margin: 0 0 8px; }
.infaer-vocab-search input, .infaer-vocab-search select { width: 100%; min-width: 0; min-height: 48px; background: #fff; color: #172d34; border: 1px solid #63767e; border-radius: 8px; font: inherit; padding: 10px 12px; box-sizing: border-box; }
.infaer-vocab-search .vocab-search-filters { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 18px 0; }
.infaer-vocab-search .vocab-search-filters > div { min-width: 0; }
.infaer-vocab-search button { border: 1px solid #254c41; border-radius: 8px; min-height: 48px; padding: 10px 20px; font: inherit; font-weight: 700; cursor: pointer; white-space: normal; }
.infaer-vocab-search button[type=submit], .infaer-vocab-search #vocab-more { background: #1c5747; color: #fff; }
.infaer-vocab-search #vocab-clear { background: #fff; color: #254c41; }
.infaer-vocab-search button:disabled { opacity: .6; cursor: wait; }
.infaer-vocab-search .vocab-search-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.infaer-vocab-search #vocab-status { font-weight: 700; overflow-wrap: anywhere; }
.infaer-vocab-search #vocab-results { list-style: none; padding: 0; margin: 24px 0; }
.infaer-vocab-search .vocab-result { background: #fff; color: #172d34; border: 1px solid #b2c1bc; border-radius: 12px; padding: 20px; margin: 16px 0; overflow-wrap: anywhere; }
.infaer-vocab-search .vocab-result h2 { margin: 0 0 10px; font-size: 1.5rem; }
.infaer-vocab-search .vocab-result a { color: #175740; text-decoration: underline; text-underline-offset: .15em; }
.infaer-vocab-search .vocab-result__sentence { font-size: 1.15rem; line-height: 1.8; }
.infaer-vocab-search .vocab-result__access { font-weight: 700; color: #214f40; }
.infaer-vocab-search .vocab-result__meta { font-size: .88rem; line-height: 1.7; }
.infaer-vocab-search :is(input,select,button,a):focus-visible { outline: 3px solid #a1440c; outline-offset: 3px; }
.infaer-vocab-search [hidden] { display: none !important; }
@media (max-width: 540px) { .infaer-vocab-search .vocab-search-filters { grid-template-columns: 1fr; } .infaer-vocab-search button { width: 100%; } .infaer-vocab-search .vocab-result { padding: 16px; } }
