/* Optional single-book enhancement, loaded after ebooknara-pilot.css. */
#enr-floating-nav[data-enr-draggable] {
  --enr-float-size: 74px;
  --enr-safe-top: env(safe-area-inset-top, 0px);
  --enr-safe-right: env(safe-area-inset-right, 0px);
  --enr-safe-bottom: env(safe-area-inset-bottom, 0px);
  --enr-safe-left: env(safe-area-inset-left, 0px);
  position: fixed;
  left: var(--enr-float-x, calc(50vw - 37px));
  top: var(--enr-float-y, calc(50vh - 37px));
  right: auto;
  bottom: auto;
  width: var(--enr-float-size);
  height: var(--enr-float-size);
  margin: 0;
}
#enr-floating-nav[data-enr-draggable] .enr-menu-toggle {
  position: relative;
  flex-direction: column;
  gap: 0;
  width: var(--enr-float-size);
  height: var(--enr-float-size);
  min-height: var(--enr-float-size);
  padding: 6px 5px;
  border: 1px solid #d6e4df;
  border-radius: 50%;
  color: #204c45;
  background: #ffffff;
  box-shadow: 0 6px 22px #153c3b26, 0 2px 5px #153c3b14, inset 0 0 0 3px #f5f8f6;
  cursor: grab;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  transition: background .18s ease, box-shadow .18s ease;
}
#enr-floating-nav[data-enr-draggable] .enr-menu-toggle:hover,
#enr-floating-nav[data-enr-draggable] .enr-menu-toggle[aria-expanded="true"] {
  background: #ffffff;
  box-shadow: 0 7px 26px #153c3b36, 0 2px 5px #153c3b1f, inset 0 0 0 3px #f4f8f6;
}
#enr-floating-nav[data-enr-draggable] .enr-brand-icon { width: 26px; height: 26px; flex-shrink: 0; color: #3c7468; pointer-events: none; }
#enr-floating-nav[data-enr-draggable] .enr-menu-toggle > span { display: block; margin: 0; font-size: 9px; font-weight: 700; line-height: 13px; letter-spacing: -.2px; pointer-events: none; }
#enr-floating-nav[data-enr-draggable] .enr-menu-toggle > .enr-mascot-visual { display: grid; place-items: center; flex: 0 0 46px; width: 50px; height: 46px; transform-origin: 50% 85%; pointer-events: none; }
#enr-floating-nav[data-enr-draggable] .enr-mascot-image { display: none; grid-area: 1 / 1; width: 50px; height: 46px; object-fit: contain; pointer-events: none; user-select: none; -webkit-user-drag: none; }
#enr-floating-nav[data-enr-draggable] .enr-mascot-visual .enr-brand-icon { grid-area: 1 / 1; width: 36px; height: 36px; }
#enr-floating-nav[data-enr-mascot-ready] .enr-mascot-image { display: block; }
#enr-floating-nav[data-enr-mascot-ready] .enr-mascot-visual .enr-brand-icon { display: none; }
#enr-floating-nav[data-enr-mascot-motion="greet"] .enr-mascot-visual { animation: enr-mascot-greet 1.7s ease-in-out 2; }
#enr-floating-nav[data-enr-mascot-motion="hello"] .enr-mascot-visual { animation: enr-mascot-hello 1.1s ease-in-out 1; }
#enr-floating-nav[data-enr-draggable] .enr-menu-toggle > .enr-mascot-sparkles { display: none; position: absolute; inset: -15px; z-index: 1; margin: 0; overflow: visible; pointer-events: none; }
#enr-floating-nav[data-enr-mascot-motion="greet"] .enr-menu-toggle > .enr-mascot-sparkles { display: block; }
#enr-floating-nav .enr-mascot-sparkles::before { content: ""; position: absolute; inset: 8px; border: 1px solid #e4cb84; border-radius: 50%; box-shadow: 0 0 16px 3px #eedca35c; opacity: 0; pointer-events: none; }
#enr-floating-nav .enr-mascot-sparkles::after { content: ""; position: absolute; inset: 15px; border-radius: 50%; background: linear-gradient(115deg, transparent 32%, #f5df9b6b 48%, transparent 64%); background-size: 240% 100%; background-position: 110% 0; opacity: 0; pointer-events: none; }
#enr-floating-nav .enr-mascot-star { position: absolute; display: block; width: 12px; height: 12px; background: linear-gradient(135deg, #eedda0, #c29b43); clip-path: polygon(50% 0, 63% 37%, 100% 50%, 63% 63%, 50% 100%, 37% 63%, 0 50%, 37% 37%); opacity: 0; pointer-events: none; }
#enr-floating-nav .enr-mascot-star-one { top: 5px; left: 17px; }
#enr-floating-nav .enr-mascot-star-two { top: 31px; right: 3px; width: 10px; height: 10px; }
#enr-floating-nav .enr-mascot-star-three { bottom: 24px; left: 1px; width: 9px; height: 9px; }
#enr-floating-nav[data-enr-mascot-motion="greet"] .enr-mascot-sparkles::before { animation: enr-mascot-halo 3.4s ease-in-out 1; }
#enr-floating-nav[data-enr-mascot-motion="greet"] .enr-mascot-sparkles::after { animation: enr-mascot-sheen 3.4s ease-in-out 1; }
#enr-floating-nav[data-enr-mascot-motion="greet"] .enr-mascot-star { animation: enr-mascot-starlight 2.7s ease-in-out 1 both; }
#enr-floating-nav[data-enr-mascot-motion="greet"] .enr-mascot-star-two { animation-delay: .25s; }
#enr-floating-nav[data-enr-mascot-motion="greet"] .enr-mascot-star-three { animation-delay: .55s; }
#enr-floating-nav[data-enr-dragging] .enr-menu-toggle > .enr-mascot-sparkles,
#enr-floating-nav[data-enr-motion-paused] .enr-menu-toggle > .enr-mascot-sparkles,
#enr-floating-nav .enr-menu-toggle[aria-expanded="true"] > .enr-mascot-sparkles { display: none !important; }
#enr-floating-nav[data-enr-dragging] .enr-mascot-visual,
#enr-floating-nav[data-enr-motion-paused] .enr-mascot-visual,
#enr-floating-nav .enr-menu-toggle[aria-expanded="true"] .enr-mascot-visual { animation: none !important; transform: none !important; }
#enr-floating-nav[data-enr-draggable] .enr-toggle-chevron { display: none; }
#enr-floating-nav[data-enr-dragging] .enr-menu-toggle { cursor: grabbing; transition: none; box-shadow: 0 9px 30px #153c3b36, inset 0 0 0 3px #f4f8f6; }
#enr-floating-nav[data-enr-draggable] .enr-menu-panel { position: fixed; right: auto; bottom: auto; margin: 0; max-width: none; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; touch-action: pan-y; background: #ffffff; }
#enr-floating-nav[data-enr-draggable] .enr-floating-reset { margin-top: 5px; border-top: 1px solid #e7ece4; border-radius: 0 0 10px 10px; color: #60766a; font-size: 12px !important; }
#enr-floating-nav[data-enr-draggable] .enr-floating-help { margin: 8px 10px 3px; color: #65776c; font-size: 10px; line-height: 1.7; }
#enr-floating-nav .enr-floating-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@keyframes enr-mascot-greet { 0%, 100% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-3px) rotate(-5deg); } 55% { transform: translateY(-2px) rotate(4deg); } 78% { transform: translateY(-1px) rotate(-2deg); } }
@keyframes enr-mascot-hello { 0%, 100% { transform: translateY(0) rotate(0); } 30% { transform: translateY(-3px) rotate(-6deg); } 65% { transform: translateY(-1px) rotate(4deg); } }
@keyframes enr-mascot-halo { 0%, 100% { opacity: 0; transform: scale(.97); } 30% { opacity: .5; transform: scale(1.03); } 65% { opacity: .2; transform: scale(1.07); } }
@keyframes enr-mascot-sheen { 0%, 100% { opacity: 0; } 20% { opacity: .45; background-position: 110% 0; } 65% { opacity: .18; background-position: -110% 0; } }
@keyframes enr-mascot-starlight { 0%, 100% { opacity: 0; transform: scale(.55) rotate(-8deg); } 38% { opacity: .86; transform: scale(1) rotate(5deg); } 70% { opacity: .3; transform: scale(.8) rotate(10deg); } }
@media (prefers-reduced-motion: reduce) { #enr-floating-nav[data-enr-draggable] .enr-menu-toggle, #enr-floating-nav[data-enr-draggable] .enr-mascot-visual { transition: none !important; animation: none !important; transform: none !important; } #enr-floating-nav .enr-menu-toggle > .enr-mascot-sparkles { display: none !important; } #enr-floating-nav .enr-mascot-star, #enr-floating-nav .enr-mascot-sparkles::before, #enr-floating-nav .enr-mascot-sparkles::after { animation: none !important; } }
