53 lines
1.2 KiB
CSS
53 lines
1.2 KiB
CSS
/*
|
||||
|
|
* Anchored to .omniBoxContainer, which is position: relative for this reason.
|
|||
|
|
*
|
|||
|
|
* Every colour is a token, so the dropdown follows the theme. The dark theme
|
|||
|
|
* redefines --bg-card, --border, --text-muted and --shadow-soft, and this
|
|||
|
|
* inherits all four without a second rule.
|
|||
|
|
*/
|
|||
|
|
.list {
|
|||
|
|
position: absolute;
|
|||
|
|
top: calc(100% + 4px);
|
|||
|
|
left: 0;
|
|||
|
|
right: 0;
|
|||
|
|
/* Above the sticky filter bar (10) and the hero layers (0–2), below the
|
|||
|
|
skip-link (10000) and the modal overlay (1000). */
|
|||
|
|
z-index: 40;
|
|||
|
|
margin: 0;
|
|||
|
|
padding: 4px;
|
|||
|
|
list-style: none;
|
|||
|
|
max-height: 320px;
|
|||
|
|
overflow-y: auto;
|
|||
|
|
background: var(--bg-card);
|
|||
|
|
border: 1px solid var(--border);
|
|||
|
|
border-radius: var(--radius-md);
|
|||
|
|
box-shadow: var(--shadow-soft);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.option {
|
|||
|
|
display: flex;
|
|||
|
|
align-items: baseline;
|
|||
|
|
justify-content: space-between;
|
|||
|
|
gap: 12px;
|
|||
|
|
padding: 10px 12px;
|
|||
|
|
border-radius: var(--radius-sm);
|
|||
|
|
cursor: pointer;
|
|||
|
|
color: var(--text-primary);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/* Hover and keyboard share one style: the active option is the active option
|
|||
|
|
however it became active. Two rules would drift. */
|
|||
|
|
.option:hover,
|
|||
|
|
.active {
|
|||
|
|
background: var(--bg-secondary);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.name {
|
|||
|
|
font-weight: 500;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.meta {
|
|||
|
|
font-size: 0.85em;
|
|||
|
|
color: var(--text-muted);
|
|||
|
|
white-space: nowrap;
|
|||
|
|
}
|