/* One menu presentation for native single-select form controls throughout the app. */
.single-select { position: relative; display: grid; width: 100%; min-width: 0; max-width: 100%; }
.single-select > select.single-select-native { grid-area: 1 / 1 / 2 / 2; width: 100%; min-width: 0; max-width: 100%; margin: 0; opacity: 0; pointer-events: none; }
.single-select-trigger { position: absolute; grid-area: 1 / 1 / 2 / 2; inset: 0; display: flex; align-items: center; justify-content: space-between; gap: .6rem; width: 100%; min-width: 0; min-height: 0; margin: 0; padding: .65rem .8rem; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background: var(--surface, var(--ink-900)); color: var(--paper-100); font: inherit; font-size: .85rem; font-weight: 400; line-height: 1.4; text-align: left; cursor: pointer; }
.single-select-trigger:hover { border-color: var(--muted); }
.single-select-trigger:focus-visible { outline: 2px solid var(--blue-300); outline-offset: 2px; }
.single-select-value { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.single-select-chevron { flex: 0 0 1rem; width: 1rem; height: 1rem; color: var(--paper-400); }
.single-select.is-open .single-select-chevron { transform: rotate(180deg); }
.single-select.is-disabled .single-select-trigger { opacity: .55; cursor: not-allowed; }
.single-select.is-invalid .single-select-trigger { border-color: var(--red-300); }
.single-select-error { grid-column: 1; margin-top: .3rem; color: var(--red-300); font-size: .78rem; line-height: 1.4; }
.single-select-error[hidden] { display: none; }
.card-search .filter-field > .single-select > select { height: 2.85rem; font-size: .85rem; }
.deck-grouping-select .single-select, .deck-tag-cards-control .single-select { width: auto; }

.single-select-menu { position: fixed; inset: auto; z-index: 100; box-sizing: border-box; max-width: calc(100vw - 1.5rem); max-height: 20rem; margin: 0; padding: .5rem; overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background: var(--surface, var(--ink-800)); color: var(--paper-100); box-shadow: var(--shadow-lg); font-family: inherit; }
.single-select-menu[hidden] { display: none; }
.single-select[hidden], .single-select-option[hidden], .single-select-group[hidden] { display: none; }
.single-select-heading { display: flex; align-items: center; min-height: calc(2.55rem + 1px); padding: .15rem .35rem .4rem; border-bottom: 1px solid var(--line); font-size: .8rem; font-weight: 700; }
.single-select-options { display: grid; gap: .15rem; padding-top: .35rem; }
.single-select-option { display: grid; grid-template-columns: 1.1rem minmax(0, 1fr); align-items: center; gap: .6rem; min-height: 2.75rem; padding: .4rem .5rem; border-radius: .3rem; font-size: .85rem; font-weight: 400; line-height: 1.4; text-align: start; cursor: pointer; }
.single-select-option:hover, .single-select-option.is-active { background: var(--blue-soft, rgba(116,195,255,.12)); }
.single-select-option[aria-disabled=true] { opacity: .5; cursor: not-allowed; }
.single-select-option[aria-disabled=true]:hover { background: transparent; }
.single-select-option-label { grid-column: 2; grid-row: 1; min-width: 0; overflow-wrap: anywhere; }
.single-select-check { grid-column: 1; grid-row: 1; display: grid; place-items: center; width: 1.1rem; height: 1.1rem; visibility: hidden; color: var(--green-300); }
.single-select-option[aria-selected=true] .single-select-check { visibility: visible; }
.single-select-group { padding: .5rem .5rem .2rem; font-size: .78rem; font-weight: 700; color: var(--paper-400); }
@media (max-width: 35.99rem) { .single-select-trigger { font-size: 1rem; } }
