.nightshade-menu {
position: relative;
display: inline-flex;
}
.nightshade-menu-list {
position: absolute;
top: calc(100% + 4px);
left: 0;
z-index: 120;
min-width: 180px;
padding: 4px;
border: 1px solid var(--nightshade-panel-border);
border-radius: 9px;
background: var(--nightshade-panel);
box-shadow: var(--nightshade-shadow);
}
.nightshade-menu-item,
.nightshade-context-menu-item {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 6px 9px;
border-radius: 6px;
color: var(--nightshade-text);
cursor: pointer;
white-space: nowrap;
}
.nightshade-menu-item:hover,
.nightshade-context-menu-item:hover {
background: var(--nightshade-hover);
}
.nightshade-menu-item .shortcut {
color: var(--nightshade-text-dim);
font-size: 11px;
}
.nightshade-context-menu {
position: fixed;
z-index: 240;
min-width: 160px;
padding: 4px;
border: 1px solid var(--nightshade-panel-border);
border-radius: 9px;
background: var(--nightshade-panel);
box-shadow: var(--nightshade-shadow);
}
.nightshade-tab-bar {
display: flex;
gap: 2px;
border-bottom: 1px solid var(--nightshade-panel-border);
}
.nightshade-tab {
padding: 7px 14px;
border: none;
border-bottom: 2px solid transparent;
background: transparent;
color: var(--nightshade-text-dim);
font: inherit;
cursor: pointer;
transition: color 0.12s ease, border-color 0.12s ease;
}
.nightshade-tab:hover {
color: var(--nightshade-text);
}
.nightshade-tab.active {
color: var(--nightshade-text);
border-bottom-color: var(--nightshade-accent);
}
.nightshade-menu-item:focus-visible,
.nightshade-tab:focus-visible {
outline: 2px solid var(--nightshade-accent);
outline-offset: -2px;
}
.nightshade-menu-item[aria-disabled="true"] {
color: var(--nightshade-text-dim);
opacity: 0.5;
cursor: not-allowed;
}
.nightshade-menu-label {
flex: 1;
text-align: left;
}
.nightshade-menu-check {
display: inline-flex;
width: 14px;
justify-content: center;
color: var(--nightshade-accent);
opacity: 0;
}
.nightshade-menu-check.on {
opacity: 1;
}
.nightshade-menu-arrow {
color: var(--nightshade-text-dim);
}
.nightshade-menu-separator {
height: 1px;
margin: 4px 6px;
background: var(--nightshade-panel-border);
}
.nightshade-submenu {
position: relative;
}
.nightshade-menu-list.submenu {
top: -4px;
left: 100%;
margin-left: 2px;
}
.nightshade-context-scrim {
position: fixed;
inset: 0;
z-index: 240;
}