.srs-search {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--srs-max-width, 760px);
  font-family: var(--srs-font, inherit);
  font-size: var(--srs-body-size, 16px);
  line-height: 1.5;
  margin: 1rem auto;
  padding: clamp(1rem, 3vw, 2rem);
  color: var(--srs-text);
  background: var(--srs-bg);
  border: 1px solid var(--srs-border);
  border-radius: var(--srs-radius);
  box-shadow: 0 10px 30px rgba(23, 32, 51, .07);
}

.srs-search *, .srs-search *::before, .srs-search *::after { box-sizing: border-box; }
.srs-search .srs-field-link { color: inherit; font: inherit; text-decoration: underline; text-underline-offset: .16em; overflow-wrap: anywhere; }
.srs-search .srs-field-link:hover { text-decoration-thickness: 2px; }
.srs-search .srs-field-link:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; border-radius: 2px; }
.srs-search .srs-title { margin: 0 0 1rem; color: inherit; font-family: inherit; font-size: var(--srs-title-size, 28px); line-height: 1.25; overflow-wrap: anywhere; }
.srs-form label, .srs-password-form label { display: block; margin-bottom: .45rem; font-weight: 650; }
.srs-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .7rem; }
.srs-controls input[type="search"], .srs-controls input[type="password"] {
  min-width: 0;
  width: 100%;
  min-height: 46px;
  padding: .72rem .85rem;
  color: inherit;
  background: #fff;
  border: 1px solid var(--srs-border);
  border-radius: max(6px, calc(var(--srs-radius) - 4px));
  font: inherit;
  font-size: var(--srs-input-size, 16px);
}
.srs-controls button {
  min-height: 46px;
  padding: .72rem 1.2rem;
  color: #fff;
  background: var(--srs-primary);
  border: 1px solid var(--srs-primary);
  border-radius: max(6px, calc(var(--srs-radius) - 4px));
  font: inherit;
  font-weight: 700;
  font-size: var(--srs-button-size, 16px);
  white-space: normal;
  overflow-wrap: anywhere;
  cursor: pointer;
}
.srs-controls button:hover { filter: brightness(.92); }
.srs-controls button:disabled { cursor: wait; opacity: .65; }
.srs-controls input:focus-visible, .srs-controls button:focus-visible { outline: 3px solid color-mix(in srgb, var(--srs-primary) 35%, transparent); outline-offset: 2px; }
.srs-trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.srs-status { min-height: 1.5em; margin-top: .85rem; }
.srs-results { display: grid; gap: .85rem; margin-top: 1rem; }
.srs-accordion {
  border: 1px solid var(--srs-border);
  border-radius: max(6px, calc(var(--srs-radius) - 4px));
  overflow: hidden;
  background: var(--srs-bg);
}
.srs-accordion summary {
  position: relative;
  padding: .9rem 3rem .9rem 1rem;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
  font-size: var(--srs-result-title-size, 18px);
  overflow-wrap: anywhere;
  background: color-mix(in srgb, var(--srs-primary) 7%, var(--srs-bg));
}
.srs-accordion summary::-webkit-details-marker { display: none; }
.srs-accordion summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  color: var(--srs-primary);
  font-size: 1.45rem;
  line-height: 1;
}
.srs-accordion[open] summary::after { content: "−"; }
.srs-accordion summary:focus-visible { outline: 3px solid color-mix(in srgb, var(--srs-primary) 35%, transparent); outline-offset: -3px; }
.srs-accordion-content { padding: .85rem; border-top: 1px solid var(--srs-border); }
.srs-accordion .srs-result-card { border: 0; border-radius: 0; }
.srs-result-card {
  display: grid;
  grid-template-columns: minmax(120px, .7fr) minmax(0, 1.3fr);
  margin: 0;
  border: 1px solid var(--srs-border);
  border-radius: max(6px, calc(var(--srs-radius) - 4px));
  overflow: hidden;
}
.srs-result-card dt, .srs-result-card dd { margin: 0; padding: .72rem .85rem; overflow-wrap: anywhere; border-bottom: 1px solid var(--srs-border); }
.srs-result-card dt { font-weight: 700; background: color-mix(in srgb, var(--srs-primary) 7%, var(--srs-bg)); }
.srs-result-card dt:last-of-type, .srs-result-card dd:last-of-type { border-bottom: 0; }

@media (max-width: 540px) {
  .srs-controls { grid-template-columns: 1fr; }
  .srs-controls button { width: 100%; }
  .srs-result-card { grid-template-columns: 1fr; }
  .srs-result-card dt { padding-bottom: .25rem; border-bottom: 0; }
  .srs-result-card dd { padding-top: .25rem; }
}

@media (prefers-reduced-motion: reduce) {
  .srs-search * { scroll-behavior: auto !important; transition: none !important; }
}

/* Explicitly preserve hidden states against theme and grid display rules. */
.srs-search [hidden] { display: none !important; }
.srs-search label, .srs-result-card dt { font-size: var(--srs-label-size, 16px); }
.srs-result-card dd { font-size: var(--srs-value-size, 16px); }
.srs-password-panel p, .srs-status, .srs-result-card dd { white-space: pre-wrap; overflow-wrap: anywhere; }
.srs-lock-button {
  display: block; margin: .85rem 0 0 auto; padding: .35rem .6rem;
  border: 1px solid var(--srs-border); border-radius: 6px;
  color: var(--srs-primary); background: var(--srs-bg); cursor: pointer;
  font: inherit; font-size: var(--srs-button-size, 16px);
}
.srs-lock-button:focus-visible { outline: 3px solid var(--srs-primary); outline-offset: 2px; }
.srs-controls { grid-template-columns: minmax(0, 1fr) minmax(0, auto); }
.srs-controls button { min-width: 0; max-width: 100%; }
@media (max-width: 540px) { .srs-controls { grid-template-columns: 1fr; } }
