.siteSearchForm {
    color: var(--theme-ink, #41403e);
    text-align: left;
}
.siteSearchForm label {
    display: block;
    margin-bottom: 7px;
    font: 23px/1.15 "myhandwritingBold", Arial, sans-serif;
}
.siteSearchFields {
    display: flex;
    gap: 8px;
}
.siteSearchForm input,
.siteSearchForm button {
    box-sizing: border-box;
    min-height: 44px;
    color: var(--theme-ink, #41403e);
    background: var(--theme-surface, #fffef8);
    border: 1px solid var(--theme-edge, #41403e);
    border-radius: 8px 3px 7px 3px;
}
.siteSearchForm input {
    width: 100%;
    min-width: 0;
    padding: 9px;
    font: 16px/1.3 Arial, sans-serif;
}
.siteSearchForm input::placeholder { color: var(--theme-muted, #666); opacity: 1; }
.siteSearchForm button {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 7px 15px;
    font: 22px/1.2 "myhandwritingBold", Arial, sans-serif;
    cursor: pointer;
}
.siteSearchForm button:hover { color: var(--theme-accent, #9c205b); border-color: currentColor; }
.siteSearchForm :is(input, button):focus-visible,
.searchResult a:focus-visible {
    outline: 2px dashed var(--theme-accent, #9c205b);
    outline-offset: 3px;
}
.sidebarSearch {
    padding-bottom: 16px;
    margin-bottom: 14px;
    border-bottom: 1px dashed var(--theme-muted, #aaa);
}
.sidebarSearch label { font-size: 21px; }
.sidebarSearch .siteSearchFields { gap: 3px; }
.sidebarSearch input { padding: 5px; font-size: 14px; }
.sidebarSearch button { flex: 0 0 30px; padding: 4px; }
.searchPage .siteSearchForm { max-width: 680px; }
#search-status {
    margin: 24px 0 18px;
    color: var(--theme-muted, #666);
    font: 16px/1.5 Arial, sans-serif;
    overflow-wrap: anywhere;
}
#search-results { max-width: 820px; }
.searchResult {
    padding: 20px 0;
    border-top: 1px dashed var(--theme-edge, #aaa);
    overflow-wrap: anywhere;
}
.searchResultWithThumbnail {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    align-items: start;
    gap: 20px;
}
.searchThumbnail {
    display: block;
    padding: 4px;
    background: #fff;
    border: 1px solid var(--theme-edge, #aaa);
    border-radius: 6px 2px 5px 2px;
    box-shadow: 2px 3px 4px #0002;
}
.searchThumbnail[hidden] { display: none; }
.searchThumbnail img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 160 / 112;
    object-fit: contain;
}
.searchThumbnail:hover { border-color: var(--theme-accent, #9c205b); }
.searchResultCopy { min-width: 0; }
.searchResult h2 { margin: 4px 0 8px; font-size: 31px; line-height: 1.15; }
.searchResult a { color: var(--theme-ink, #41403e); text-underline-offset: 4px; }
.searchResult a:hover { color: var(--theme-accent, #9c205b); }
.searchResult p { margin: 0; font: 16px/1.5 Arial, sans-serif; }
.searchCategory { color: var(--theme-muted, #666); font: 13px/1.3 Arial, sans-serif; }
@media (max-width: 560px) {
    .searchResultWithThumbnail { grid-template-columns: 96px minmax(0, 1fr); gap: 12px; }
    .searchResult h2 { font-size: 26px; }
}
