.series-rules-modal:has(.rules-search) { grid-template-rows: auto auto minmax(0, 1fr); }
.series-rules-modal:has(.rules-search) {
  --rules-surface: var(--brk-workspace-surface, #07182b);
  --rules-raised: var(--brk-workspace-surface-raised, #0b2036);
  --rules-text: var(--brk-workspace-text, #f4f8ff);
  --rules-muted: var(--brk-workspace-muted, #9fb4cd);
  --rules-border: var(--brk-workspace-border, #244561);
  --rules-accent: var(--brk-workspace-highlight, #42c8ff);
  background: var(--rules-surface); color: var(--rules-text); border-color: var(--rules-border);
}
.series-rules-modal:has(.rules-search) > header { background: var(--rules-raised); border-color: var(--rules-border); }
.series-rules-modal:has(.rules-search) :is(header h2, .series-rule-section h3, .modal-close, .series-rules-end span) { color: var(--rules-text); }
.series-rules-modal:has(.rules-search) :is(.series-rules-scroll, .series-rules-end small) { color: var(--rules-muted); }
.series-rules-modal:has(.rules-search) :is(.eyebrow, nav small) { color: var(--rules-accent); }
.series-rules-modal:has(.rules-search) :is(.series-rule-section, .series-rules-intro, .series-rules-end) { border-color: var(--rules-border); }
.series-rules-modal:has(.rules-search) nav button { background: var(--rules-raised); color: var(--rules-text); border-color: var(--rules-border); }
.series-rules-modal:has(.rules-search) nav button:is(:hover, .is-active) { background: var(--brk-workspace-primary-soft, rgba(8, 118, 221, .14)); border-color: var(--rules-accent); }
.series-rules-modal:has(.rules-search) :is(button, [tabindex]):focus-visible { outline: 2px solid var(--rules-accent); outline-offset: -2px; }
html.bracketr-theme-light .series-rules-modal:has(.rules-search) {
  --rules-surface: var(--brk-workspace-surface, var(--light-paper, #fff));
  --rules-raised: var(--brk-workspace-surface-raised, var(--light-inset, #f7fbff));
  --rules-text: var(--brk-workspace-text, var(--light-ink, #102033));
  --rules-muted: var(--brk-workspace-muted, var(--light-muted, #5d7088));
  --rules-border: var(--brk-workspace-border, var(--light-border, #c7d8e8));
  --rules-accent: var(--brk-workspace-highlight, var(--light-action, #0876dd));
}
.rules-search {
  padding: 14px 24px;
  border-bottom: 1px solid var(--brk-workspace-border, #244561);
  color: var(--brk-workspace-text, #f4f8ff);
  background: var(--brk-workspace-surface, #07182b);
  font: 400 14px/1.5 var(--brk-workspace-font, Inter, system-ui, sans-serif);
}
.rules-search label { display: block; margin-bottom: 6px; font-weight: 600; }
.rules-search-row { display: flex; align-items: stretch; gap: 8px; }
.rules-search input {
  flex: 1; min-width: 0; width: 100%; min-height: 42px; padding: 9px 12px;
  border: 1px solid var(--brk-workspace-border, #244561);
  border-radius: var(--brk-workspace-radius-control, 8px);
  background: var(--brk-workspace-surface-raised, #0b2036);
  color: var(--brk-workspace-text, #f4f8ff); font: inherit;
}
.rules-search input::placeholder { color: var(--brk-workspace-muted, #9fb4cd); opacity: 1; }
.rules-search button {
  flex: 0 1 auto; padding: 9px 12px; min-height: 42px;
  border: 1px solid var(--brk-workspace-border, #244561);
  border-radius: var(--brk-workspace-radius-control, 8px);
  background: var(--brk-workspace-primary-soft, rgba(8, 118, 221, .14));
  color: inherit; font: inherit; cursor: pointer;
}
.rules-search button:disabled { opacity: .55; cursor: default; }
.rules-search :is(input, button):focus-visible { outline: 2px solid var(--brk-workspace-highlight, #42c8ff); outline-offset: 2px; }
.rules-search p { margin: 8px 0 0; color: var(--brk-workspace-muted, #9fb4cd); font: inherit; }
.series-rules-modal [hidden] { display: none !important; }
html.bracketr-theme-light .rules-search {
  color: var(--brk-workspace-text, #102033); background: var(--brk-workspace-surface, #fff);
  --brk-workspace-border: var(--light-border, #c7d8e8);
  --brk-workspace-muted: var(--light-muted, #5d7088);
  --brk-workspace-surface-raised: var(--light-inset, #f7fbff);
  --brk-workspace-highlight: var(--light-action, #0876dd);
}
html.bracketr-theme-light .rules-search input { color: var(--brk-workspace-text, #102033); }
@media (max-width: 760px) {
  .rules-search { padding: 12px 16px; }
  .rules-search-row { flex-wrap: wrap; }
  .rules-search input { flex-basis: 210px; }
}
