/* Lantern's right-click menu (js/context-menu.js): one look in every part of Lantern, on a dark page or a light one.
   A white card in Lantern's navy, the item under the pointer in a pale blue, shortcuts in grey at the right, and
   anything that removes something in red. Self-contained: a page need load nothing else for it. */
.lan-menu {
    position: fixed; z-index: 2147483000; box-sizing: border-box; min-width: 216px; max-width: 340px; overflow-y: auto;
    padding: 4px; background: #fff; color: #0F2844;
    border: 1px solid rgba(15, 40, 68, 0.14); border-radius: 8px;
    box-shadow: 0 14px 34px rgba(15, 40, 68, 0.24), 0 2px 6px rgba(15, 40, 68, 0.12);
    font: 13px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    user-select: none; -webkit-user-select: none; outline: none;
}
.lan-menu-item {
    display: grid; grid-template-columns: 18px 1fr auto 10px; align-items: center; column-gap: 9px;
    height: 28px; padding: 0 8px; border-radius: 5px; cursor: default; white-space: nowrap;
}
.lan-menu-item.active { background: #eef4fb; }
.lan-menu-item[aria-expanded="true"] { background: #eef4fb; }
.lan-menu-item[aria-disabled="true"] { color: #9aa6b6; }
.lan-menu-item[aria-disabled="true"].active { background: #f6f8fb; }
.lan-menu-item.danger:not([aria-disabled="true"]) { color: #9b2c2c; }
.lan-menu-item.danger.active:not([aria-disabled="true"]) { background: #fdf1f1; }
.lan-menu-item.strong .lan-menu-label { font-weight: 600; }
.lan-menu-icon { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; color: #3a5577; }
.lan-menu-item.danger:not([aria-disabled="true"]) .lan-menu-icon { color: inherit; }
.lan-menu-item[aria-disabled="true"] .lan-menu-icon { color: inherit; opacity: 0.7; }
.lan-menu-icon svg { display: block; width: 16px; height: 16px; }
.lan-menu-label { overflow: hidden; text-overflow: ellipsis; }
.lan-menu-keys { color: #7a889b; font-size: 12px; font-variant-numeric: tabular-nums; padding-left: 14px; }
.lan-menu-keys:empty { padding-left: 0; }
.lan-menu-more { color: #7a889b; font-size: 15px; line-height: 1; text-align: right; }
.lan-menu-sep { height: 1px; margin: 4px 8px; background: #e6edf5; }
.lan-menu-heading { padding: 7px 10px 3px; font-size: 10.5px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: #7a889b; }
@media (prefers-reduced-motion: no-preference) { .lan-menu { animation: lan-menu-in 90ms ease-out; } }
@keyframes lan-menu-in { from { opacity: 0; transform: translateY(-2px); } to { opacity: 1; transform: none; } }
