/* The transparent select retains the original responsive field dimensions. */
.nv-select { position: relative; display: inline-grid; grid-template-columns: minmax(0,1fr); min-width: min(112px,100%); max-width: 100%; vertical-align: middle; }
.nv-select > select { grid-area: 1 / 1; opacity: 0; pointer-events: none; margin: 0; min-width: 0; max-width: 100%; }
button.nv-select-trigger { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 13px; background: var(--panel); border: 1px solid var(--line); border-radius: 10px; color: var(--text); font: inherit; font-size: .875rem; line-height: 1.4; text-align: left; cursor: pointer; }
.nv-select-value { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.nv-select-trigger svg { width: 18px; height: 18px; flex-shrink: 0; fill: none; stroke: var(--muted); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; transition: transform .15s; }
button.nv-select-trigger:hover:not(:disabled) { background: var(--panel2); border-color: #74866a; }
button.nv-select-trigger:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.nv-select.is-open > .nv-select-trigger { border-color: var(--gold); background: var(--panel2); }
.nv-select.is-open > .nv-select-trigger svg { transform: rotate(180deg); stroke: var(--gold); }
button.nv-select-trigger:disabled { opacity: .5; cursor: not-allowed; }
.nv-select-menu { position: fixed; z-index: 150; margin: 0; padding: 5px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #637857 transparent; background: #1d2921; color: var(--text); border: 1px solid #667b51; border-radius: 10px; box-shadow: 0 12px 30px #0006; font: 400 .875rem/1.4 'DM Sans',sans-serif; animation: nv-dropdown-in .12s ease-out; }
.nv-select-option { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 9px; min-height: 42px; padding: 10px 9px; border: 1px solid transparent; border-radius: 6px; cursor: pointer; overflow-wrap: anywhere; }
.nv-select-option > span:first-child { min-width: 0; }
.nv-select-option[aria-selected=true] { color: #e5efcc; background: #34452b; font-weight: 550; }
.nv-select-option.is-active { background: #3b5030; border-color: #a9bd7c; }
.nv-select-option[aria-disabled=true] { opacity: .45; cursor: not-allowed; }
.nv-select-check { width: 15px; flex-shrink: 0; font-weight: 700; color: var(--gold); }
.study-options .nv-select { min-width: 190px; }
@keyframes nv-dropdown-in { from { opacity: 0; } to { opacity: 1; } }
@media(max-width:650px) { .study-options .nv-select { width: 100%; } #main[data-page=cards] .study-options > .inline { width: 100%; } .nv-select-option { min-height: 44px; } }
@media(prefers-reduced-motion:reduce) { .nv-select-menu { animation: none; } .nv-select-trigger svg { transition: none; } }
