.dropdown { position:relative; }
.dropdown-trigger { display:inline-flex; align-items:center; gap:8px; cursor:pointer; }
.dropdown-trigger > svg,.dropdown-chevron svg { display:block; width:20px; height:20px; flex-shrink:0; }
.dropdown-chevron { display:flex; margin-left:auto; }
.dropdown-trigger[aria-expanded=true] .dropdown-chevron { rotate:180deg; }
.dropdown-trigger:hover { background:var(--color-primary-soft); }
.dropdown-trigger:active { translate:0 1px; box-shadow:inset 0 2px 4px #23183524; }
.dropdown-menu { position:fixed; inset:auto; box-sizing:border-box; width:min(310px,calc(100vw - 32px)); margin:0; padding:6px; overflow-y:auto; border:1px solid var(--color-border); border-radius:10px; background:var(--color-surface,#fff); color:var(--color-text); box-shadow:0 12px 32px #23183524; }
.dropdown-menu .dropdown-item { display:flex; align-items:center; gap:10px; box-sizing:border-box; width:100%; min-height:44px; padding:10px; border:0; border-radius:6px; background:transparent; color:inherit; font:inherit; font-size:14px; text-align:left; text-decoration:none; cursor:pointer; }
.dropdown-menu .dropdown-item[hidden] { display:none; }
.dropdown-item > svg { flex-shrink:0; width:22px; height:22px; color:var(--color-primary); }
.dropdown-item-copy { display:block; min-width:0; }
.dropdown-item-copy strong,.dropdown-item-copy small { display:block; }
.dropdown-item-copy strong { font-weight:600; }
.dropdown-item-copy small { margin-top:2px; color:var(--color-text-muted); font-size:12px; }
.dropdown-menu .dropdown-item:hover,.dropdown-menu .dropdown-item:focus-visible { background:var(--color-primary-soft); }
.dropdown-menu .dropdown-item:active { translate:0 1px; box-shadow:inset 0 2px 4px #23183524; }
.dropdown-trigger:focus-visible,.dropdown-item:focus-visible { outline:2px solid var(--color-primary); outline-offset:2px; }

/* Match the mobile practice menu's entrance and exit. */
.dropdown-menu { opacity:0; transform:translateY(32px); transition:opacity 240ms ease,transform 280ms cubic-bezier(.22,1,.36,1),display 280ms allow-discrete,overlay 280ms allow-discrete; }
.dropdown-menu:popover-open { opacity:1; transform:translateY(0); }
@starting-style { .dropdown-menu:popover-open { opacity:0; transform:translateY(32px); } }
@media (prefers-reduced-motion:reduce) { .dropdown-menu { transition:none; } }
.dropdown-trigger[hidden] { display:none; }
