/* The compact site menu owns the viewport while it is open. Keep the guide
   out of the menu's hit targets, then restore it with the existing menu state. */
@media (max-width: 620px) {
  body.miki-pulse.pulse-nav-open .miki-ai-guide {
    visibility: hidden;
    pointer-events: none;
  }
}

/* Public guide entry belongs to the existing header action row, not page text.
   Preserve the original body-level panel and the separate catalogue/player tools. */
body.miki-pulse.miki-page-public .pulse-top-actions > .miki-guide-header-proxy {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  flex:0 0 44px;
  width:44px;
  min-width:44px;
  max-width:44px;
  height:44px;
  min-height:44px;
  padding:8px;
  line-height:1;
}
body.miki-pulse.miki-page-public .miki-guide-header-proxy:focus-visible {
  outline:2px solid var(--accent,#9d75f5);
  outline-offset:3px;
}
body.miki-pulse.miki-page-public #miki-ai-guide > [data-guide-header-proxied] {
  display:none!important;
}
/* Retain the existing ellipsis/name semantics when the fourth action is added.
   The anonymous and compact icon-only account controls keep their own widths. */
body.miki-pulse.miki-page-public .pulse-top-actions:has(> .miki-guide-header-proxy) .pulse-account-menu,
body.miki-pulse.miki-page-public .pulse-top-actions:has(> .miki-guide-header-proxy) .pulse-account-menu > .top-login {
  max-width:240px;
}
/* The compact shell's hidden/auto overflow pair made body a non-scrolling
   sticky ancestor while the document scrolled. Clip horizontal overflow
   without creating that scroll container, preserving the existing sticky
   header and keeping its entry usable down the page. Overlay owners retain
   their original scroll locking while a menu/native dialog is open. */
html:has(> body.miki-pulse.miki-page-public):has(.miki-guide-header-proxy):not(:has(body.pulse-nav-open)):not(:has(dialog[open])),
body.miki-pulse.miki-page-public:has(.miki-guide-header-proxy):not(.pulse-nav-open):not(:has(dialog[open])) {
  overflow-x:clip!important;
  overflow-y:visible!important;
}
