.desktop-context-menu, .context-submenu {
  position: fixed; z-index: 20000; width: 204px; padding: 2px;
  background: #c0c0c0; color: #000; font: 11px Tahoma, Arial, sans-serif;
  border: 1px solid #000; box-shadow: inset 1px 1px #fff, inset -1px -1px #808080, 1px 1px #000;
}
.desktop-context-menu { outline: none; max-height: calc(100dvh - 44px); }
.desktop-context-menu button {
  position: relative; display: flex; align-items: center; gap: 6px;
  width: 100%; min-height: 23px; border: 0; padding: 4px 7px 4px 24px;
  background: transparent; color: #000; text-align: left; font: inherit;
}
.desktop-context-menu button:hover, .desktop-context-menu button:focus-visible { outline: none; color: #fff; background: #000080; }
.desktop-context-menu button:disabled { background: transparent; color: #808080; text-shadow: 1px 1px #fff; }
.desktop-context-menu .default-command { font-weight: bold; }
.context-divider { height: 2px; margin: 3px 1px; border-top: 1px solid #808080; border-bottom: 1px solid #fff; }
.desktop-context-branch { position: relative; }
.context-arrow { margin-left: auto; border-top: 3px solid transparent; border-bottom: 3px solid transparent; border-left: 4px solid currentColor; }
.context-submenu { display: none; position: absolute; left: calc(100% - 2px); top: -3px; width: 215px; }
.desktop-context-branch.is-open > .context-submenu { display: block; }
.context-submenu.opens-left { left: auto; right: calc(100% - 2px); }
.context-submenu.opens-up { top: auto; bottom: -3px; }
.desktop-context-menu button[aria-checked="true"]::before { content: '✓'; position: absolute; left: 7px; font-weight: bold; }
.empty-folder { min-height: 120px; padding: 12px; background: white; border: 2px inset #eee; }
@media (min-width: 1101px) {
  .desktop-icons { max-height: calc(100dvh - 56px); overflow-y: auto; scrollbar-width: thin; }
}
@media print { .desktop-context-menu { display: none !important; } }
