/* autocomplete.css */
@layer cm.components {
  .cm-autocomplete-pop {
    position: fixed;
    z-index: var(--z-dropdown, 800);
    box-sizing: border-box;
    max-height: 16rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 4px;
    background: var(--surface, #ffffff);
    color: var(--text, #0f172a);
    border: 1px solid var(--line, #e2e8f0);
    border-radius: var(--radius-md, 10px);
    box-shadow: var(--shadow-md);
    text-align: start;
  }
  .cm-autocomplete-pop[hidden] { display: none; }

  .cm-autocomplete-option {
    padding-block: 8px;
    padding-inline: 10px;
    border-radius: var(--radius-md, 10px);
    color: var(--text, #0f172a);
    font-size: .9rem;
    line-height: 1.3;
    text-align: start;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: background var(--dur-fast, 120ms) var(--ease-std, ease),
                color var(--dur-fast, 120ms) var(--ease-std, ease);
  }
  .cm-autocomplete-option.is-active,
  .cm-autocomplete-option:hover {
    background: var(--brand-50, #eff6ff);
    color: var(--brand, #2563eb);
  }
  .cm-autocomplete-option mark {
    background: transparent;
    color: inherit;
    font-weight: 700;
    padding: 0;
  }

  .cm-autocomplete-empty {
    padding-block: 10px;
    padding-inline: 10px;
    color: var(--text-3, #94a3b8);
    font-size: .875rem;
    text-align: start;
  }

  @media (prefers-reduced-motion: reduce) {
    .cm-autocomplete-option { transition: none; }
  }
}