.council-message-search {
  width: min(1060px, calc(100vw - 32px)); max-height: min(850px, calc(100dvh - 40px));
  padding: 24px; border: 1px solid #ddd8ed; border-radius: 24px; color: #35334b;
  background: #fbfaff; box-shadow: 0 24px 90px #29203e30;
}
.council-message-search::backdrop { background: #27213955; backdrop-filter: blur(5px); }
.message-search-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.message-search-heading h2 { margin: 0; font-size: 20px; }
.message-search-heading small { display: block; color: #8b839f; font-size: 11px; letter-spacing: .14em; margin-bottom: 5px; }
.council-message-search button, .council-message-search input, .council-message-search select { font: inherit; }
.council-message-search button { cursor: pointer; }
.message-search-heading button { border: 0; background: transparent; padding: 8px; font-size: 22px; }
.message-search-form { display: grid; gap: 12px; margin-top: 20px; }
.message-search-query-row { display: flex; gap: 10px; }
.message-search-query-row input { flex: 1; min-width: 0; }
.message-search-form input, .message-search-form select { padding: 10px 12px; border: 1px solid #dfdbee; border-radius: 11px; background: white; color: inherit; min-width: 0; }
.message-search-query-row button, .message-search-actions button, .message-search-more { border: 1px solid #ded8ed; border-radius: 11px; padding: 10px 14px; background: white; color: inherit; }
.message-search-query-row button { background: #6553a8; color: white; border-color: #6553a8; }
.message-search-dates, .message-search-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.message-search-dates label, .message-search-filters label { display: grid; gap: 6px; font-size: 12px; color: #746e87; }
.message-search-help { color: #746e87; font-size: 11px; line-height: 1.6; }
.message-search-options summary { color: #746e87; font-size: 12px; cursor: pointer; }
.message-search-options[open] .message-search-filters { margin-top: 10px; }
.message-search-status { min-height: 20px; margin: 14px 0; font-size: 12px; color: #81798f; }
.message-search-columns { display: grid; grid-template-columns: minmax(250px, .9fr) minmax(0, 1.3fr); gap: 20px; height: min(480px, calc(100dvh - 360px)); min-height: 160px; }
.message-search-result-pane, .message-search-context-pane { display: flex; flex-direction: column; min-height: 0; min-width: 0; }
.message-search-results, .message-search-context { overflow: auto; overscroll-behavior: contain; min-height: 0; flex: 1; }
.message-search-result { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 7px 10px; width: 100%; text-align: left; background: white; border: 1px solid #e4e0ef; border-radius: 14px; padding: 13px; color: inherit; margin-bottom: 9px; }
.message-search-result > strong, .message-search-result > small, .message-search-result > span:not(.message-search-avatar) { grid-column: 2; }
.message-search-result > .message-search-avatar { grid-column: 1; grid-row: 1 / span 3; }
.message-search-avatar { display: grid; place-items: center; width: 36px; height: 36px; overflow: hidden; border-radius: 8px; background: #ebe8fb; color: #6553a8; font-size: 14px; }
.message-search-avatar img { width: 100%; height: 100%; object-fit: cover; }
.message-search-result strong { font-size: 13px; }
.message-search-result small, .message-search-context-item small { color: #9389a1; font-size: 11px; }
.message-search-result > span:not(.message-search-avatar) { font-family: var(--chat-font); font-size: 12px; line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; }
.message-search-result mark { background: #eee3af; color: inherit; border-radius: 3px; }
.message-search-result[aria-current="true"] { border-color: #a796d5; background: #f3effd; }
.message-search-context-pane h3 { margin: 0 0 10px; font-size: 13px; overflow-wrap: anywhere; }
.message-search-context { position: relative; border: 1px solid #e4e0ef; border-radius: 14px; background: white; padding: 12px; }
.message-search-context-item { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 10px; padding: 12px; border-radius: 10px; margin-bottom: 8px; }
.message-search-context-main { min-width: 0; }
.message-search-context-item.is-owner { grid-template-columns: minmax(0, 1fr) 36px; }
.message-search-context-item.is-owner .message-search-avatar { grid-column: 2; }
.message-search-context-item.is-owner .message-search-context-main { grid-column: 1; grid-row: 1; text-align: right; }
.message-search-context-item.is-target { background: #f0ebfc; outline: 1px solid #c9bbe9; }
.message-search-body { font-family: var(--chat-font); width: fit-content; max-width: 100%; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 13px; line-height: 1.8; margin-top: 8px; user-select: text; text-align: left; padding: 10px 12px; border: 1px solid #e4def2; border-radius: 6px 14px 14px; background: #f5f3fe; }
.message-search-context-item.is-owner .message-search-body { margin-left: auto; border-radius: 14px 6px 14px 14px; background: #f7eee8; border-color: #e8dcd4; }
.message-search-empty { color: #9890a3; font-size: 12px; padding: 10px; }
.message-search-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.message-search-actions small { width: 100%; color: #948c9e; font-size: 11px; }
.council-message-search button:disabled { opacity: .5; cursor: default; }
.message-search-more[hidden] { display: none; }
.message-search-back { display: none; }
.council-message-search button:focus-visible, .message-search-options summary:focus-visible { outline: 2px solid #8d7ac3; outline-offset: 3px; }
@media (max-width: 680px) {
  .council-message-search { padding: 16px; width: calc(100vw - 16px); max-height: calc(100dvh - 16px); border-radius: 18px; }
  .message-search-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .message-search-columns { grid-template-columns: 1fr; height: auto; gap: 12px; }
  .message-search-results { max-height: calc(100dvh - 330px); flex: none; }
  .message-search-context { max-height: calc(100dvh - 220px); flex: none; }
  .council-message-search:not([data-search-view="context"]) .message-search-context-pane { display: none; }
  .council-message-search[data-search-view="context"] .message-search-form,
  .council-message-search[data-search-view="context"] .message-search-status,
  .council-message-search[data-search-view="context"] .message-search-result-pane { display: none; }
  .message-search-back { display: flex; align-items: center; gap: 6px; align-self: flex-start; padding: 8px 0; margin-bottom: 8px; border: 0; background: transparent; color: #6553a8; }
}

/* ---- 星夜深色模式（Dark Mode） ---- */
:root[data-theme="dark"] .council-message-search {
  background: #1f1d2e;
  border-color: rgba(165, 155, 215, 0.2);
  color: #eceaf6;
  box-shadow: 0 24px 90px rgba(0, 0, 0, 0.55);
}
:root[data-theme="dark"] .message-search-form input,
:root[data-theme="dark"] .message-search-form select,
:root[data-theme="dark"] .message-search-actions button,
:root[data-theme="dark"] .message-search-more {
  background: rgba(34, 31, 50, 0.9);
  border-color: rgba(165, 155, 215, 0.22);
  color: #eceaf6;
}
:root[data-theme="dark"] .message-search-result,
:root[data-theme="dark"] .message-search-context {
  background: rgba(29, 27, 43, 0.92);
  border-color: rgba(165, 155, 215, 0.16);
  color: #eceaf6;
}
:root[data-theme="dark"] .message-search-result[aria-current="true"],
:root[data-theme="dark"] .message-search-context-item.is-target {
  background: rgba(139, 120, 240, 0.18);
  border-color: rgba(155, 140, 242, 0.36);
  outline-color: rgba(155, 140, 242, 0.36);
}
:root[data-theme="dark"] .message-search-result mark {
  background: rgba(245, 158, 11, 0.32);
  color: #fef3c7;
}
:root[data-theme="dark"] .message-search-body {
  background: rgba(40, 37, 59, 0.94);
  border-color: rgba(155, 140, 242, 0.18);
  color: #eceaf6;
}
:root[data-theme="dark"] .message-search-context-item.is-owner .message-search-body {
  background: rgba(56, 46, 84, 0.92);
  border-color: rgba(176, 150, 230, 0.22);
}
