.image-search{margin:30px auto 70px;overflow-wrap:anywhere}
.image-search h1{font:clamp(36px,5vw,72px)/1.1 var(--serif);margin:16px 0 24px}
.image-search h2{font:28px/1.25 var(--serif)}
.image-search p{line-height:1.6}
.search-intro{max-width:950px;font-size:19px}
.search-panel{padding:clamp(18px,3vw,32px);border:1px solid var(--line);background:var(--paper);margin:24px 0}
body .image-search .button.search-button{background:#1c6b72;border:1px solid #1c6b72;border-radius:0;color:#fff;max-width:100%;white-space:normal;text-align:center}
.search-form{max-width:640px}
.search-form label{display:block;font-weight:600;margin-bottom:8px}
.search-form input:not([type=checkbox]):not([type=hidden]){box-sizing:border-box;width:100%;padding:12px;border:1px solid #8f8b83;background:#fff;color:#171717;font:inherit;border-radius:0}
.search-form input[type=checkbox]{width:20px;height:20px;vertical-align:middle}
.search-form .helptext{display:block;font-size:14px;margin-top:6px}
.search-form .errorlist{color:#9a2222;padding-left:22px}
.search-counter{font-size:18px}
.search-history li{margin:12px 0}
.search-working{display:flex;align-items:center;gap:16px}
.search-spinner{display:inline-block;flex-shrink:0;width:28px;height:28px;vertical-align:middle;border:3px solid #c9dddd;border-top-color:#1c6b72;border-radius:50%;animation:registry-spin 1s linear infinite}
.search-upload-progress[hidden]{display:none}
.search-result-card{min-width:0;display:flex;flex-direction:column;padding:18px;gap:10px}
.search-result-card h2,.search-result-card p{margin:0}
.image-search .search-result-card h2{font-size:22px;line-height:1.2}
.search-result-card dl{font-size:14px;line-height:1.5;margin:8px 0}
.search-result-card dt{color:#686660}.search-result-card dd{margin:0 0 8px}
.search-result-card .search-match{font-size:14px;color:#1c6b72}
body .image-search .search-thumbnail{width:100%;height:auto;aspect-ratio:1/1;margin:8px 0}
body .image-search .search-thumbnail img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:auto;height:auto;max-width:calc(100% - 8px);max-height:calc(100% - 8px);border:1px solid #fff}
.search-empty{grid-column:1/-1}
.image-search :focus-visible{outline:3px solid #1c6b72;outline-offset:3px}
#registry-results{scroll-margin-top:110px}
@keyframes registry-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.search-spinner{animation:none}}
@media(max-width:600px){.search-panel{padding:18px}.search-working{align-items:flex-start}.image-search h1{font-size:36px}}

.search-upload-preview{margin:16px 0;max-width:320px}
.search-upload-preview img{display:block;width:auto;height:auto;max-width:100%;max-height:280px;object-fit:contain;border:1px solid var(--line);box-sizing:border-box}
.search-upload-preview figcaption{margin-top:8px;font-size:14px;overflow-wrap:anywhere}
.search-preview-error{color:#9a2222}
.search-upload-preview[hidden],.search-preview-error[hidden]{display:none}
