/* GENERATED FROM priviot-shared/design/context-menu.css; run Arbeitsmaterial/Website-Audit/sync-feedback-select.mjs. */
/* Gemeinsames Priviot-Kontextmenü für PDF, Write, Paste, Notes und Tasks. */
[data-priviot-context-menu] {
  /* Bewusst deckend: Dokumente und Seiteninhalte dürfen nicht durch das Menü scheinen. */
  --priviot-context-bg: color-mix(in srgb, var(--bg-app, #121019) 94%, var(--brand-primary, #7c3aed) 6%);
  position: fixed;
  z-index: 12000;
  min-width: 208px;
  max-width: min(320px, calc(100vw - 16px));
  --priviot-menu-ease: cubic-bezier(.4, 0, .2, 1);
  --priviot-menu-radius: 14px;
  --priviot-menu-tint: color-mix(in srgb, var(--brand-primary, var(--accent, #7c35ff)) 12%, transparent);
  padding: 0;
  overflow: visible;
  border: 1px solid var(--brand-primary, var(--accent, #7c35ff));
  border-radius: var(--priviot-menu-radius);
  color: var(--text-primary, var(--text, #f7f4ff));
  background: var(--priviot-context-bg);
  box-shadow:
    0 20px 55px rgba(0, 0, 0, .42),
    0 4px 14px rgba(0, 0, 0, .22),
    inset 0 1px 0 rgba(255, 255, 255, .055);
  transform-origin: var(--priviot-context-origin-x, left) var(--priviot-context-origin-y, top);
  animation: priviot-context-menu-in 260ms var(--priviot-menu-ease) backwards;
  isolation: isolate;
}

[data-priviot-context-menu][data-priviot-native-open],
[data-priviot-context-menu][hidden],
[data-priviot-context-menu].hidden {
  display: none !important;
}

[data-priviot-context-menu] :is(
  button,
  [role="menuitem"],
  [role="menuitemcheckbox"],
  [role="menuitemradio"]
) {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;
  width: 100%;
  min-height: 36px;
  margin: 0;
  padding: 7px 14px;
  border: 0;
  border-radius: 0;
  color: inherit;
  background: transparent;
  box-shadow: none;
  font: 550 14px/1.35 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-align: left;
  white-space: nowrap;
  cursor: default;
  transition: background-color 160ms ease, color 160ms ease;
  animation: priviot-context-item-in 260ms var(--priviot-menu-ease) backwards;
  animation-delay: 0ms;
}

/* Trennlinien zwischen den Zeilen, abgerundete Ecken oben und unten. */
[data-priviot-context-menu] > :is(button, [role^="menuitem"]) + :is(button, [role^="menuitem"]) {
  border-top: 1px solid var(--border-subtle, var(--line, rgba(255, 255, 255, .1)));
}
[data-priviot-context-menu] > :first-child:is(button, [role^="menuitem"]) {
  border-top-left-radius: calc(var(--priviot-menu-radius) - 1px);
  border-top-right-radius: calc(var(--priviot-menu-radius) - 1px);
}
[data-priviot-context-menu] > :last-child:is(button, [role^="menuitem"]) {
  border-bottom-left-radius: calc(var(--priviot-menu-radius) - 1px);
  border-bottom-right-radius: calc(var(--priviot-menu-radius) - 1px);
}

[data-priviot-context-menu] :is(
  button,
  [role="menuitem"],
  [role="menuitemcheckbox"],
  [role="menuitemradio"]
):is(:hover, :focus-visible, [data-highlighted="true"]) {
  color: var(--text-primary, var(--text, #fff));
  background: var(--priviot-menu-tint);
  outline: none;
}

[data-priviot-context-menu] :is(button, [role^="menuitem"]):active {
  background: color-mix(in srgb, var(--pv-violet-600, #7c35ff) 24%, transparent);
}

[data-priviot-context-menu] :is(button, [role^="menuitem"]):is(:disabled, [aria-disabled="true"]) {
  color: var(--text-disabled, var(--quiet, #696472));
  opacity: .55;
  pointer-events: none;
}

[data-priviot-context-menu] :is(
  .dropdown-menu-gefahr,
  .kontext-gefahr,
  .ist-gefaehrlich,
  .danger,
  [data-variant="destructive"]
) {
  color: #fca5a5;
  background: rgba(239, 68, 68, .16);
}

[data-priviot-context-menu] :is(
  .dropdown-menu-gefahr,
  .kontext-gefahr,
  .ist-gefaehrlich,
  .danger,
  [data-variant="destructive"]
):is(:hover, :focus-visible) {
  color: #ffc4c4;
  background: rgba(239, 68, 68, .25);
}

[data-priviot-context-menu] :is(
  [role="separator"],
  .kontext-trenner,
  .kontextmenu-trenner,
  [data-priviot-context-separator]
) {
  height: 1px;
  margin: 0;
  border: 0;
  background: var(--border-subtle, var(--line, rgba(255, 255, 255, .1)));
}

[data-priviot-context-menu] :is(
  .kontext-rechtschreibung-titel,
  [data-priviot-context-label]
) {
  display: block;
  padding: 9px 14px 5px;
  overflow: hidden;
  color: var(--text-muted, var(--muted, #a39dab));
  font: 650 10px/1.3 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: .065em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

[data-priviot-context-menu] :is(kbd, .priviot-context-shortcut) {
  min-width: max-content;
  margin-left: auto;
  padding: 0;
  border: 0;
  color: var(--text-muted, var(--muted, #9d97a6));
  background: transparent;
  box-shadow: none;
  font: 500 10.5px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: .01em;
}

[data-priviot-context-menu] [role="menuitemcheckbox"]::before,
[data-priviot-context-menu] [role="menuitemradio"]::before {
  width: 13px;
  color: var(--pv-violet-600, #7c35ff);
  content: "";
}

[data-priviot-context-menu] [role="menuitemcheckbox"][aria-checked="true"]::before {
  content: "✓";
}

[data-priviot-context-menu] [role="menuitemradio"][aria-checked="true"]::before {
  content: "●";
  font-size: 9px;
}

[data-priviot-context-sub] {
  position: relative;
}

[data-priviot-context-sub] > [data-priviot-context-subtrigger]::after {
  margin-left: auto;
  content: "›";
  color: var(--text-muted, var(--muted, #9d97a6));
  font-size: 16px;
}

[data-priviot-context-subcontent] {
  position: absolute;
  top: -5px;
  left: calc(100% + 6px);
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translateX(-4px) scale(.97);
}

[data-priviot-context-sub]:is(:hover, :focus-within) > [data-priviot-context-subcontent],
[data-priviot-context-sub][data-open="true"] > [data-priviot-context-subcontent] {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0) scale(1);
  animation: priviot-context-submenu-in 130ms cubic-bezier(.16, 1, .3, 1) both;
}

/* Aufklappen wie im Priviot-Konto: Fläche fährt auf, Zeilen gleiten gestaffelt nach. */
@keyframes priviot-context-menu-in {
  from { opacity: 0; clip-path: inset(0 0 100% 0 round var(--priviot-menu-radius)); }
  to { opacity: 1; clip-path: inset(0 0 0 0 round var(--priviot-menu-radius)); }
}
[data-priviot-context-menu][data-placement="above"] { animation-name: priviot-context-menu-in-up; }
@keyframes priviot-context-menu-in-up {
  from { opacity: 0; clip-path: inset(100% 0 0 0 round var(--priviot-menu-radius)); }
  to { opacity: 1; clip-path: inset(0 0 0 0 round var(--priviot-menu-radius)); }
}
@keyframes priviot-context-item-in {
  from { opacity: 0; transform: translateY(-.45rem); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes priviot-context-submenu-in {
  from { opacity: 0; transform: translateX(-5px) scale(.97); }
  to { opacity: 1; transform: translateX(0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  [data-priviot-context-menu],
  [data-priviot-context-subcontent],
  [data-priviot-context-menu] :is(button, [role^="menuitem"]) {
    animation-duration: .01ms !important;
    animation-delay: 0ms !important;
    transition-duration: .01ms !important;
  }
}

:root[data-reduced-motion="true"] [data-priviot-context-menu],
:root[data-reduced-motion="true"] [data-priviot-context-menu] :is(button, [role^="menuitem"]),
:root[data-reduced-motion="true"] [data-priviot-context-subcontent] {
  animation-duration: .01ms !important;
  animation-delay: 0ms !important;
  transition-duration: .01ms !important;
}

/* Closing mirrors opening; replacing a menu cancels this animation immediately. */
[data-priviot-context-menu][data-context-closing] { animation:priviot-context-menu-out 180ms var(--priviot-menu-ease) forwards;pointer-events:none; }
[data-priviot-context-menu][data-context-closing] :is(button,[role^="menuitem"]) { animation:none; }
[data-priviot-context-menu][data-context-closing][data-placement="above"] { animation-name:priviot-context-menu-out-up; }
@keyframes priviot-context-menu-out { to { opacity:0;clip-path:inset(0 0 100% 0 round var(--priviot-menu-radius)); } }
@keyframes priviot-context-menu-out-up { to { opacity:0;clip-path:inset(100% 0 0 0 round var(--priviot-menu-radius)); } }

/* Temporäre Flächen: eine Akzentkontur; Formularfokus liegt auf derselben Kante.
   Wichtig, weil ältere Apps zusätzlich globale Outline- und Shadow-Ringe setzen. */
dialog {
  border-color: var(--brand-primary, var(--accent, #7c35ff)) !important;
}
dialog:not(.command-palette) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]), textarea, select):focus {
  border-color: var(--brand-primary, var(--accent, #7c35ff)) !important;
  outline: 2px solid var(--brand-primary, var(--accent, #7c35ff)) !important;
  outline-offset: -2px !important;
  box-shadow: none !important;
}
