.ai-search-card {
  min-width: 0;
  margin: 0 0 32px;
  padding: clamp(20px, 3vw, 32px);
  border: 1px solid rgba(116, 157, 232, .3);
  border-radius: 22px;
  background: radial-gradient(ellipse at top right, rgba(61, 124, 228, .12), transparent 60%), #0c1526;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .18);
  scroll-margin-top: 108px;
  color: #eef4ff;
}
.ai-search-card [hidden] { display: none !important; }
.ai-search-card *, .ai-search-card *::before, .ai-search-card *::after { box-sizing: border-box; }
.ai-search-card .ai-search-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.ai-search-card .ai-search-heading h3 { margin: 0 0 9px; color: #f5f8ff; font-size: clamp(22px, 3vw, 28px); line-height: 1.3; letter-spacing: -.02em; }
.ai-search-card .ai-search-heading p { margin: 0; max-width: 42em; color: #aabbd2; font-size: 14px; line-height: 1.75; }
.ai-search-card .ai-search-badge { flex: 0 0 auto; padding: 6px 10px; border: 1px solid rgba(94, 153, 240, .3); border-radius: 8px; color: #b4d3ff; background: rgba(63, 119, 204, .1); font-size: 12px; line-height: 1.5; }
.ai-search-card .ai-search-label { display: block; margin: 0 0 9px; color: #dae7f8; font-size: 14px; font-weight: 650; }
.ai-search-card textarea {
  display: block; width: 100%; min-height: 100px; max-height: 320px; padding: 14px 16px;
  border: 1px solid #364a68; border-radius: 13px; outline: none; resize: vertical;
  background: #08111f; color: #f3f7ff; font: inherit; font-size: 16px; line-height: 1.65;
  scroll-margin-top: 130px;
}
.ai-search-card textarea::placeholder { color: #8094af; }
.ai-search-card textarea:focus { border-color: #6ca7ff; box-shadow: 0 0 0 3px rgba(89, 151, 244, .18); }
.ai-search-card textarea:disabled { cursor: wait; opacity: .78; }
.ai-search-card .ai-search-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 13px; }
.ai-search-card .ai-search-submit, .ai-search-card .ai-search-stop { min-width: 126px; min-height: 48px; font-size: 15px; }
.ai-search-card .ai-search-submit:disabled { cursor: wait; transform: none; opacity: .7; }
.ai-search-card .ai-search-stop { border-color: #526782; color: #dce9fb; }
.ai-search-card .ai-search-keyboard { margin-left: auto; color: #93a6c0; font-size: 12px; line-height: 1.6; }
.ai-search-card .ai-search-status { min-height: 24px; margin: 13px 0 0; color: #a8bfdc; font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; }
.ai-search-card .ai-search-status[data-state="error"] { color: #ffc28e; }
.ai-search-card .ai-search-status[data-state="success"] { color: #a5d9c5; }
.ai-search-card .ai-search-stale { margin: 16px 0 0; padding: 12px 14px; border-left: 3px solid #bd945d; border-radius: 0 8px 8px 0; background: rgba(173, 120, 48, .09); color: #e5c99f; font-size: 13px; line-height: 1.7; }
.ai-search-card .ai-search-result { margin-top: 18px; padding-top: 22px; border-top: 1px solid rgba(132, 163, 205, .22); }
.ai-search-card .ai-search-result h4 { margin: 0 0 8px; font-size: 16px; font-weight: 650; color: #ecf3ff; }
.ai-search-card .ai-search-result-query { margin: 0 0 16px; color: #8fa8c8; font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; }
.ai-search-card .ai-search-answer { color: #e0e9f6; font-size: 15px; line-height: 1.9; white-space: pre-wrap; overflow-wrap: anywhere; }
.ai-search-card .ai-search-source-heading { margin-top: 24px !important; }
.ai-search-card .ai-search-source-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; list-style: none; padding: 0; margin: 12px 0 16px; }
.ai-search-card .ai-search-source-list li { min-width: 0; padding: 12px 14px; border: 1px solid rgba(134, 163, 204, .18); border-radius: 10px; background: rgba(16, 33, 57, .65); }
.ai-search-card .ai-search-source-list a { display: inline-block; padding: 4px 0; color: #add0ff; font-size: 14px; line-height: 1.6; text-decoration: underline; text-decoration-color: rgba(149, 192, 249, .45); text-underline-offset: 4px; overflow-wrap: anywhere; }
.ai-search-card .ai-search-source-list a:hover { color: #e3efff; }
.ai-search-card .ai-search-source-list a:focus-visible, .ai-search-card button:focus-visible { outline: 3px solid #79b3ff; outline-offset: 3px; }
.ai-search-card .ai-search-source-list li > span { display: block; margin-top: 5px; color: #92a6c1; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.ai-search-card .ai-search-meta { margin: 0; color: #91a6c2; font-size: 12px; line-height: 1.8; overflow-wrap: anywhere; }
.ai-search-card .ai-search-note { margin: 18px 0 0; color: #9bacc3; font-size: 12px; line-height: 1.8; }
@media (max-width: 600px) {
  .ai-search-card { padding: 19px 16px; border-radius: 17px; scroll-margin-top: 96px; }
  .ai-search-card .ai-search-heading { gap: 10px; margin-bottom: 18px; }
  .ai-search-card .ai-search-badge { padding: 5px 7px; font-size: 11px; }
  .ai-search-card .ai-search-controls { align-items: stretch; }
  .ai-search-card .ai-search-submit, .ai-search-card .ai-search-stop { flex: 1 1 100px; min-width: 100px; padding-inline: 12px; }
  .ai-search-card .ai-search-keyboard { flex-basis: 100%; margin: 0; }
  .ai-search-card .ai-search-source-list { grid-template-columns: minmax(0, 1fr); }
}
