/* Search modal: a dialog over a scrim, 640px wide, top-aligned. Tokens only. */
.ds-search-scrim { position: fixed; inset: 0; z-index: 80; background: var(--ds-text-primary); opacity: 0.32; }
.ds-search-modal { position: fixed; z-index: 81; top: 10vh; left: 50%; transform: translateX(-50%); width: min(640px, calc(100vw - 32px)); max-height: 76vh; display: flex; flex-direction: column; background: var(--ds-surface-raised); color: var(--ds-text-primary); border: 1px solid var(--ds-border-subtle); border-radius: var(--ds-r-xl); box-shadow: var(--ds-elevation-sm); overflow: hidden; font-family: var(--ds-font); }
.ds-search-box { display: flex; align-items: center; gap: 8px; padding: 12px 16px; border-bottom: 1px solid var(--ds-border-divider); }
.ds-search-box input { flex: 1; min-width: 0; border: 0; background: transparent; color: inherit; font: 400 17px/1.4 var(--ds-font); outline: none; }
.ds-search-box kbd, .ds-search-count { color: var(--ds-text-tertiary); font-size: 12px; }
.ds-search-chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 16px 0; }
.ds-search-chips button { padding: 4px 10px; border: 1px solid var(--ds-border-default); border-radius: var(--ds-r-button); background: var(--ds-surface-base); color: var(--ds-text-secondary); font: 500 13px/1.3 var(--ds-font); cursor: pointer; }
.ds-search-chips button[aria-pressed="true"] { background: var(--ds-brand-subtle); border-color: var(--ds-brand-border); color: var(--ds-brand-fg); }
.ds-search-count { margin: 0; padding: 8px 16px; }
.ds-search-results { overflow-y: auto; padding: 0 8px 12px; }
.ds-search-results h3, .ds-search-results p { margin: 10px 8px 4px; color: var(--ds-text-tertiary); font: 600 11px/1.3 var(--ds-font); text-transform: uppercase; letter-spacing: 0.04em; }
.ds-search-results [role=option] { display: block; width: 100%; padding: 8px; border: 0; border-radius: var(--ds-r-input); background: none; color: inherit; text-align: left; text-decoration: none; font: inherit; cursor: pointer; }
.ds-search-results [role=option]:hover, .ds-search-results [aria-selected="true"] { background: var(--ds-surface-subtle); }
.ds-search-results b { display: block; font-weight: 600; }
.ds-search-results i { display: block; font-style: normal; color: var(--ds-text-secondary); font-size: 13px; }
.ds-search-results span { display: block; color: var(--ds-text-secondary); font-size: 13px; overflow-wrap: anywhere; }
.ds-search-results mark { background: var(--ds-warning-subtle); color: inherit; }
.ds-search-ask { margin: 8px; padding: 8px 14px; border: 0; border-radius: var(--ds-r-button); background: var(--ds-brand); color: var(--ds-on-agency); font: 600 14px/1.3 var(--ds-font); cursor: pointer; }
.ds-search-modal :focus-visible { outline: 2px solid var(--ds-focus); outline-offset: 2px; }
