.root { position: relative; min-width: 0; } .selector { min-width: 0; padding: 0; display: inline-flex; align-items: center; justify-content: flex-start; gap: var(--space-2); border: 0; background: transparent; color: var(--color-text); text-align: left; transition: background-color 180ms var(--easing-standard), color 180ms var(--easing-standard); } .selectorOpen { .meta, .icon { color: var(--color-text-subtle); } } .selector:hover { .value { color: var(--color-text); } .meta, .icon { color: var(--color-text-subtle); } } .selector:focus-visible { outline: none; border-radius: var(--radius-sm); box-shadow: 0 0 0 0.12rem color-mix(in srgb, var(--color-accent-soft) 14%, transparent); } .value { @include text-title; color: var(--color-text); font-weight: var(--font-weight-title); } .meta { color: var(--color-text-muted); } .icon { flex: 0 0 auto; color: var(--color-text-muted); transition: transform 180ms var(--easing-standard), color 180ms var(--easing-standard); } .iconOpen { transform: rotate(180deg); } .menu { position: absolute; top: calc(100% + var(--space-2)); left: 0; min-width: min(18rem, calc(100vw - (var(--space-4) * 2))); display: grid; gap: var(--space-2); padding: var(--space-2); border: 1px solid var(--color-border-strong); border-radius: var(--radius-md); background: var(--color-surface-muted); box-shadow: 0 16px 32px color-mix(in srgb, black 18%, transparent); z-index: 20; } .menuSection { display: grid; gap: 0.15rem; } .menuSectionLabel { @include text-caption; display: block; color: var(--color-text-muted); letter-spacing: 0.05em; text-transform: uppercase; padding-inline: var(--space-1); margin-bottom: var(--space-2); } .menuDivider { height: 1px; background: var(--color-border); } .menuItem { min-width: 0; min-height: 2.75rem; display: flex; align-items: center; width: 100%; padding: var(--space-2) var(--space-2); border: 1px solid transparent; border-radius: var(--radius-sm); background: var(--color-surface-muted); color: var(--color-text); text-align: left; transition: background-color 160ms var(--easing-standard), border-color 160ms var(--easing-standard); } .menuItem:hover { border-color: var(--color-border); background: var(--color-surface); } .menuItemActive { border-color: var(--color-accent-soft); background: var(--color-surface); } .menuItemCopy { min-width: 0; display: grid; gap: 0; } .menuItemValue { @include text-label; color: var(--color-text); font-weight: var(--font-weight-semibold); } .menuItemMeta { @include text-caption; color: var(--color-text-muted); } .submenuItem { min-width: 0; min-height: 2.5rem; display: flex; align-items: center; width: 100%; gap: var(--space-2); padding: var(--space-2) var(--space-2) var(--space-2) var(--space-3); border: 1px solid transparent; border-radius: var(--radius-sm); background: var(--color-surface-muted); color: var(--color-text); text-align: left; transition: background-color 160ms var(--easing-standard), border-color 160ms var(--easing-standard); } .submenuItem:hover { border-color: var(--color-border); background: var(--color-surface); } .submenuItemActive { border-color: var(--color-accent-soft); background: var(--color-surface); } .submenuIndicator { width: 0.35rem; height: 0.35rem; flex: 0 0 auto; border-radius: 999px; background: var(--color-accent-soft); } @include respond-down(mobile) { .menu { min-width: min(16rem, calc(100vw - (var(--space-4) * 2))); } }