/* The floating context menu (islands/context-menu.js): the registry's `.menu` markup in one `#xw-ctx` that the
   island positions (fixed, clamped to the viewport, scrolling inside its max-height). Its submenus are fixed too,
   placed by the island, so the container's scroll never clips them. The skeleton is the one-frame placeholder
   while the body is fetched. */
.menu.ctx{position:fixed;top:0;left:0;z-index:80;overflow:auto;overscroll-behavior:contain;outline:none;scrollbar-width:thin}
.menu.ctx[hidden]{display:none}
.menu.ctx .menu.sub{position:fixed;top:0;left:0;right:auto;z-index:81;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.menu.ctx:focus-visible{box-shadow:var(--shadow-menu),0 0 0 1px var(--line-2)}
.menu.ctx .it.skel{min-width:200px;pointer-events:none}
.menu.ctx .it.skel b,.menu.ctx .it.skel small{display:block;height:11px;border-radius:4px;background:var(--raised-2);width:62%}
.menu.ctx .it.skel small{width:40%;height:8px;margin-top:4px}
@media (prefers-reduced-motion:no-preference){
  .menu.ctx:not([hidden]){animation:xw-ctx-in .08s ease-out}
  @keyframes xw-ctx-in{from{opacity:0}to{opacity:1}}
}
