/* Nocturne forum search form. */
.forum-search {
    --forum-search-accent: var(--nocturne-light);
    --forum-search-contrast: var(--nocturne-void);
    min-width: 0;
}
.forum-search *,
.forum-search *::before,
.forum-search *::after { box-sizing: border-box; }
.forum-search-panel { margin-top: 16px; overflow: hidden; border: 1px solid var(--nocturne-panel); border-radius: 8px; background: var(--nocturne-deep); }
.forum-search-header { display: flex; align-items: center; gap: 10px; padding: 16px 20px; border-bottom: 1px solid var(--nocturne-panel); background: linear-gradient(var(--nocturne-panel), var(--nocturne-deep)); }
.forum-search-header > :is(i, svg) { flex-shrink: 0; color: var(--forum-search-accent); }
.forum-search-header h2 { margin: 0; font-size: 1.0625rem; line-height: 1.5; }
.forum-search-body { padding: 20px; }
.forum-search-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 22px; }
.forum-search-field { min-width: 0; }
.forum-search-field > label,
.forum-search-field > legend { display: block; width: auto; margin: 0 0 8px; padding: 0; border: 0; color: var(--nocturne-light); font-weight: 600; }
.forum-search-field :is(input[type="text"], select) { display: block; width: 100%; max-width: 100%; min-width: 0; min-height: 40px; margin: 0; padding: 8px 12px; border: 1px solid var(--nocturne-edge); border-radius: 5px; background-color: var(--nocturne-deep); color: var(--nocturne-light); font: inherit; }
.forum-search-field :is(input[type="text"], select):focus { border-color: var(--forum-search-accent); }
.forum-search-help { margin-top: 8px; color: var(--nocturne-muted); line-height: 1.6; overflow-wrap: anywhere; }
.forum-search-help > :first-child { margin-top: 0; }
.forum-search-help > :last-child { margin-bottom: 0; }
.forum-search-choices { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 12px; }
.forum-search-choices > label { display: inline-flex; align-items: flex-start; gap: 8px; margin: 0; line-height: 1.5; cursor: pointer; }
.forum-search-choices input[type="radio"] { flex: 0 0 auto; width: 16px; height: 16px; margin: 2px 0 0; accent-color: var(--forum-search-accent); cursor: pointer; }
.forum-search-result-type { margin: 0; padding: 0; border: 0; }
.forum-search-result-type .forum-search-choices { margin-top: 0; }
.forum-search-character-control { display: flex; align-items: center; gap: 10px; }
.forum-search-character-control select { flex: 1; }
.forum-search-character-control > span { color: var(--nocturne-muted); }
.forum-search-actions { display: flex; justify-content: flex-end; padding: 14px 18px; border-top: 1px solid var(--nocturne-panel); background: linear-gradient(var(--nocturne-deep), var(--nocturne-deep)); }

.forum-search :is(input, select, a):focus-visible { outline: 2px solid var(--forum-search-accent); outline-offset: 3px; }
.forum-search-timezone { margin-top: 12px; color: var(--nocturne-muted); text-align: right; }
.forum-search-jumpbox { display: flex; justify-content: flex-end; margin-top: 14px; }
.forum-search-jumpbox select { max-width: 100%; }
@media (max-width: 700px) {.forum-search-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .forum-search-header,
.forum-search-body { padding: 16px; }
    .forum-search-actions { padding: 12px 16px; }
    .forum-search .forum-search-submit { width: 100%; }
    .forum-search-jumpbox { display: block; }
}

/* Nocturne search results: topic listing. */
.forum-search-results { --forum-results-accent: var(--nocturne-light); min-width: 0; color: var(--nocturne-muted); }
.forum-search-results *,
.forum-search-results *::before,
.forum-search-results *::after { box-sizing: border-box; }
.forum-search-results-panel { margin-top: 16px; overflow: hidden; border: 1px solid var(--nocturne-panel); border-radius: 8px; background: var(--nocturne-deep); }
.forum-search-results-heading { display: flex; align-items: center; gap: 10px; padding: 16px 20px; border-bottom: 1px solid var(--nocturne-panel); background: linear-gradient(var(--nocturne-panel), var(--nocturne-deep)); }
.forum-search-results-heading > :is(i, svg) { flex-shrink: 0; color: var(--forum-results-accent); }
.forum-search-results-heading h2 { margin: 0; color: var(--nocturne-light); font-size: 1.0625rem; line-height: 1.5; overflow-wrap: anywhere; }
.forum-search-results-columns,
.forum-search-results-row { display: grid; grid-template-columns: minmax(0, 1fr) 130px 65px 65px 190px; align-items: center; gap: 16px; padding: 16px 20px; }
.forum-search-results-columns { background: var(--nocturne-deep); font-weight: 700; text-transform: uppercase; }
.forum-search-results-columns > :nth-child(n+2) { text-align: center; }
.forum-search-results-row { border-top: 1px solid var(--nocturne-panel); background: var(--nocturne-deep); }
.forum-search-results-row:nth-child(even) { background: var(--nocturne-deep); }
.forum-search-results-row > * { min-width: 0; }
.forum-search-results-title { line-height: 1.5; overflow-wrap: anywhere; }
.forum-search-results-title > a { color: var(--nocturne-light); font-weight: 600; text-decoration: none; }
.forum-search-results-title > a:hover,
.forum-search-results-type { color: var(--forum-results-accent); }
.forum-search-results-forum { margin-top: 6px; line-height: 1.5; overflow-wrap: anywhere; }
.forum-search-results-forum a { text-decoration: none; }
.forum-search-results-forum a:hover { color: var(--forum-results-accent); }
.forum-search-results-topic-pages { margin-top: 8px; }
.forum-search-results-author,
.forum-search-results-stat,
.forum-search-results-lastpost { text-align: center; overflow-wrap: anywhere; }
.forum-search-results-lastpost { display: flex; flex-direction: column; gap: 5px; line-height: 1.5; }
.forum-search-results-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 20px; border-top: 1px solid var(--nocturne-panel); background: linear-gradient(var(--nocturne-deep), var(--nocturne-deep)); }
.forum-search-results-pagination { line-height: 2; }
.forum-search-results-pagination a { display: inline-block; min-width: 30px; padding: 2px 8px; border: 1px solid var(--nocturne-edge); border-radius: 4px; color: var(--nocturne-light); text-align: center; text-decoration: none; }
.forum-search-results-pagination a:hover { border-color: var(--forum-results-accent); color: var(--forum-results-accent); }
.forum-search-results-pagination :is(b, strong) { color: var(--forum-results-accent); }
.forum-search-results a:focus-visible { outline: 2px solid var(--forum-results-accent); outline-offset: 3px; }
.forum-search-results-timezone { margin-top: 12px; text-align: right; }
.forum-search-results-jumpbox { display: flex; justify-content: flex-end; margin-top: 14px; }
.forum-search-results-jumpbox select { max-width: 100%; }
.forum-search-results-mobile-label { display: none; }
@media (max-width: 1000px) {.forum-search-results-columns,
.forum-search-results-row { grid-template-columns: minmax(0, 1fr) 95px 50px 50px 140px; gap: 10px; padding-inline: 16px; }
}
@media (max-width: 700px) {.forum-search-results-columns { display: none; }
    .forum-search-results-row { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
    .forum-search-results-topic,
.forum-search-results-lastpost { grid-column: 1 / -1; }
    .forum-search-results-author,
.forum-search-results-stat,
.forum-search-results-lastpost { text-align: left; }
    .forum-search-results-mobile-label { display: block; margin-bottom: 3px; color: var(--nocturne-muted); font-size: .7rem; }
    .forum-search-results-heading,
.forum-search-results-footer { padding: 14px 16px; }
    .forum-search-results-jumpbox { display: block; }
}
