/* Shared preference controls and top-layer menus, including embedded pages. */
.preference-dropdown { display:inline-flex; min-width:0; }
.preference-dropdown select[hidden] { display:none !important; }
.tools .preference-trigger {
  display:inline-flex; align-items:center; justify-content:space-between; gap:8px;
  min-height:36px; max-width:156px; padding:7px 10px; margin:0;
  border:1px solid var(--line); border-radius:9px;
  background:var(--surface); color:var(--ink); font:inherit; font-size:11px;
  cursor:pointer; white-space:nowrap; box-shadow:0 1px 2px #162c1f06;
  transition:border-color .16s, background .16s;
}
.tools .preference-trigger:hover,.tools .preference-trigger[aria-expanded="true"] { border-color:var(--gold); background:var(--surface-soft); }
.preference-trigger:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
.preference-value { overflow:hidden; text-overflow:ellipsis; }
.preference-trigger svg { flex:none; width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; }
.preference-symbol { color:var(--gold); }
.preference-trigger .preference-chevron { width:12px; height:12px; transition:transform .16s; }
.preference-trigger[aria-expanded="true"] .preference-chevron { transform:rotate(180deg); }
.preference-menu {
  position:fixed; inset:auto; margin:0; box-sizing:border-box; padding:7px;
  border:1px solid var(--line); border-radius:13px; background:var(--surface); color:var(--ink);
  box-shadow:0 12px 36px #10251b26,0 2px 6px #10251b12; overflow:auto;
  font-family:inherit; font-size:12px; text-align:left;
}
.preference-menu::backdrop { background:transparent; pointer-events:none; }
.preference-menu-title { padding:6px 9px 9px; margin-bottom:4px; border-bottom:1px solid var(--line); font-size:10px; letter-spacing:.1em; color:var(--muted); }
.preference-option { position:relative; min-height:38px; box-sizing:border-box; display:flex; align-items:center; padding:8px 32px 8px 10px; border-radius:7px; cursor:pointer; }
.preference-option.is-active { background:var(--surface-soft); }
.preference-option[aria-selected="true"] { color:var(--gold); font-weight:600; }
.preference-option[aria-disabled="true"] { opacity:.45; cursor:default; }
@media(max-width:760px) {
  .tools .preference-trigger { min-height:36px; max-width:125px; padding:7px 8px; gap:5px; font-size:10px; }
  .preference-trigger .preference-symbol { display:none; }
  .preference-option { min-height:42px; }
}
@media(prefers-reduced-motion:reduce) { .preference-trigger,.preference-trigger svg { transition:none !important; } }

.preference-trigger .preference-routine { flex:none; width:14px; height:14px; margin:0; opacity:.85; }
@media(max-width:760px) {
  .preference-trigger .preference-routine { display:block; width:12px; height:12px; }
}

.preference-trigger .preference-chevron { display:block; width:14px; height:14px; margin:0; flex:none; }
.preference-check { position:absolute; right:11px; top:50%; transform:translateY(-50%); width:14px; height:14px; margin:0; }
