details.dropdown { summary::marker { content: '' !important; } &[open] > summary + ul { transform: scaleY(1); opacity: 1; } &[open][direction=up] > summary + ul { transform: translateY(calc(-100% + -3.5rem)); } &[open] > summary { &::before { display: block; z-index: 1; position: fixed; width: 100vw; height: 100vh; inset: 0; background: none; content: ""; cursor: default; } } ul { z-index: 10; position: absolute; display: flex; flex-direction: column; min-width: fit-content; min-height: fit-content; width: 100%; padding: 0; color: var(--color); border: 1px solid var(--secondary-border); border-radius: var(--border-radius); background-color: var(--secondary-background); box-shadow: var(--box-shadow); opacity: 0; li:has(a) { padding: 0; a { margin: 0; } } li { &[role="button"] { margin: unset; border-radius: unset; } &.divider { border-bottom: 1px solid var(--secondary-border); padding: 0 !important; } &:not(:has(a)), &> a { width: 100%; display: flex; flex-direction: row; align-items: center; justify-content: space-between; padding: .5rem .75rem !important; } &:first-of-type { margin-top: 0 !important; } &:last-of-type { margin-bottom: 0 !important; } &:first-of-type:hover { border-radius: calc(var(--border-radius) * 0.8) calc(var(--border-radius) * 0.8) 0 0; } &:last-of-type:hover { border-radius: 0 0 calc(var(--border-radius) * 0.8) calc(var(--border-radius) * 0.8); } } } .active, .action:hover { transition: background-color var(--transition), color var(--transition), text-decoration var(--transition), box-shadow var(--transition); background-color: #ffffff0b; cursor: pointer; } }