/* The Studio leaf opts in; the shared shell and its control handlers stay unchanged. */
.ns-studio-host-menu { position: absolute; right: 12px; top: 52px; z-index: 25; }
.ns-studio-host-menu > summary { display: grid; place-items: center; width: 36px; height: 36px; list-style: none; cursor: pointer; border-radius: 8px; background: var(--ns-surface); color: var(--ns-text); opacity: 0; }
.ns-studio-host-menu > summary::-webkit-details-marker { display: none; }
[data-ns-stage-plane="host"]:is(:hover, :focus-within, [data-studio-menu-shown]) .ns-studio-host-menu > summary,
.ns-studio-host-menu[open] > summary { opacity: 1; }
.ns-studio-host-menu > summary:focus-visible { outline: 2px solid var(--ns-gold-light); outline-offset: 2px; }
.ns-studio-host-menu:not([open]) [data-ns-stage-bar] { display: none !important; }
.ns-studio-host-menu[open] [data-ns-stage-bar] { position: absolute; inset: 42px 0 auto auto; display: flex; flex-direction: column; align-items: stretch; width: 220px; max-width: calc(100vw - 32px); max-height: min(calc(100dvh - 140px), var(--studio-menu-room, 300px)); overflow-y: auto; padding: 6px; border: 1px solid var(--ns-border-strong); border-radius: 12px; background: var(--ns-surface); color: var(--ns-text); }
.ns-studio-host-menu [data-ns-stage-bar] button { flex-direction: row; justify-content: flex-start; min-height: 44px; width: 100%; font-size: 14px; }
.ns-studio-host-menu [data-ns-stage-btn="talk"] { display: none !important; }

#ns-host-plane .ns-studio-host-menu .ns-bar button span { position: static; width: auto; height: auto; overflow: visible; clip: auto; }
