/* The look of every themed <select> (select-controls.js): the button that replaces it (.v-control) and its menu
   (.v-options). Plain class selectors, loaded before the pages' own CSS: a page restyles a control with its own selector and wins. */
.v-control{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;max-width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);font:inherit;font-size:14px;line-height:1.3;text-align:left;cursor:pointer;transition:border-color .18s,background-color .18s,box-shadow .18s}
.v-control:hover,.v-control[aria-expanded="true"]{border-color:var(--focus)}
.v-control:focus-visible{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px var(--focus-soft)}
.v-control:disabled{opacity:.55;cursor:not-allowed}
.v-control svg{width:16px;height:16px;flex:none;color:var(--muted)}
.v-control-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v-popup{position:fixed;inset:auto;margin:0;width:max-content;max-width:min(420px,calc(100vw - 24px));padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);font-family:var(--font-body,inherit);box-shadow:0 12px 32px #0003;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.v-popup::backdrop{background:transparent}
.v-options button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:36px;padding:8px 12px;border:0;border-radius:7px;background:transparent;color:var(--text);font:inherit;font-size:14px;text-align:left;overflow-wrap:anywhere;cursor:pointer}
.v-options button:hover:not(:disabled),.v-options button:focus-visible{background:var(--panel-2)}
.v-options button[aria-selected="true"]{background:var(--accent-soft);font-weight:600}
.v-options button[aria-selected="true"]::after{content:'✓';flex:none;font-size:12px}
.v-options button:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--focus)}
.v-options button:disabled{opacity:.48;cursor:not-allowed}
@media(prefers-reduced-motion:reduce){.v-control{transition:none}}
@media(max-width:560px){.v-options button{min-height:44px}}
