/* Shared pill / dot-to-surface / horizontal text exchange. No hitbox motion. */
body .nxl-hover-button {
  --action-bg: var(--tile-inset,#152338);
  --action-text: var(--tile-text,#f3f4f1);
  --action-fill: var(--lime,#dfff38);
  --action-ink: #0a1018;
  --action-ease: cubic-bezier(.2,.7,.2,1);
  isolation: isolate;
  overflow: hidden;
  box-sizing: border-box;
  border: 1px solid var(--tile-line,#526172)!important;
  border-radius: 999px!important;
  background: var(--action-bg)!important;
  color: var(--action-text)!important;
  box-shadow: none!important;
  display: inline-grid;
  grid-template-columns: minmax(0,1fr);
  align-items: center;
  justify-items: center;
  gap: 0!important;
  min-height: 46px;
  max-width: 100%;
  padding: 13px 40px!important;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  transform: none!important;
  transition: border-color 180ms,opacity 180ms!important;
}
/* Preserve fixed/absolute positioning of exit, flight and dialog controls. */
body .nxl-hover-button:not(.explore-exit) { position: relative; }
body .nxl-hover-button::before,body .nxl-hover-button::after { content: none!important; }
body .nxl-hover-button .nxl-button-label {
  grid-area: 1/1;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 7px;
  max-width: 100%;
  position: relative;
  z-index: 2;
  color: var(--action-text)!important;
  transform: translateX(3px);
  opacity: 1;
  transition: transform 300ms var(--action-ease),opacity 300ms var(--action-ease);
  pointer-events: none;
}
body .nxl-hover-button .nxl-button-label > [aria-hidden=true] { display: none!important; }
body .nxl-hover-button .nxl-button-hover {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 10px 18px;
  z-index: 2;
  color: var(--action-ink)!important;
  opacity: 0;
  transform: translateX(36px);
  transition: transform 300ms var(--action-ease),opacity 300ms var(--action-ease);
  pointer-events: none;
}
body .nxl-hover-button .nxl-button-copy { min-width: 0;color: inherit!important;font:inherit; }
body .nxl-hover-button .nxl-button-copy * { color: inherit!important; }
body .nxl-hover-button .nxl-button-arrow { display: inline-flex;flex-shrink:0;width:18px;height:18px;color:inherit!important; }
body .nxl-button-arrow svg { width:18px;height:18px; }
body .nxl-hover-button .nxl-button-fill {
  position: absolute;
  left: 18px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--action-fill);
  transform: translateY(-50%);
  z-index: 1;
  pointer-events: none;
  transition: width 300ms var(--action-ease),height 300ms var(--action-ease),left 300ms var(--action-ease),border-radius 300ms var(--action-ease);
}
body .nxl-hover-button:focus-visible { outline:2px solid var(--lime,#dfff38)!important;outline-offset:4px; }
body .nxl-hover-button:is(:focus-visible,:active):not(:disabled) .nxl-button-fill,
body .nxl-hover-card:focus-visible .nxl-button-fill { left:-10%;width:120%;height:500%; }
body .nxl-hover-button:is(:focus-visible,:active):not(:disabled) .nxl-button-label,
body .nxl-hover-card:focus-visible .nxl-button-label { opacity:0;transform:translateX(40px); }
body .nxl-hover-button:is(:focus-visible,:active):not(:disabled) .nxl-button-hover,
body .nxl-hover-card:focus-visible .nxl-button-hover { opacity:1;transform:translateX(-2px); }
@media(hover:hover) and (pointer:fine) {
  body .nxl-hover-button:hover:not(:disabled) .nxl-button-fill,body .nxl-hover-card:hover .nxl-button-fill {left:-10%;width:120%;height:500%;}
  body .nxl-hover-button:hover:not(:disabled) .nxl-button-label,body .nxl-hover-card:hover .nxl-button-label {opacity:0;transform:translateX(40px);}
  body .nxl-hover-button:hover:not(:disabled) .nxl-button-hover,body .nxl-hover-card:hover .nxl-button-hover {opacity:1;transform:translateX(-2px);}
}
body .nxl-hover-button:disabled { opacity:.5;cursor:wait; }
body .nxl-hover-button:disabled .nxl-button-fill { opacity:.4; }
body .header-contact.nxl-hover-button { font-size:12px;min-height:46px; }
body .product-actions .nxl-hover-button { font-size:11px;min-height:44px;padding:11px 30px!important; }
body .product-actions .nxl-button-fill { left:12px;width:6px;height:6px; }
body .product-actions [data-product].nxl-hover-button { --action-fill:#ff8750;--action-ink:#191e1b; }
body .product-actions [data-product].nxl-hover-button:focus-visible { outline-color:var(--action-fill)!important; }
body .product-actions { flex-wrap:wrap;gap:8px; }
body .journal-door-bottom.nxl-hover-button { font-size:12px;margin-top:30px;width:max-content; }
body .post-read.nxl-hover-button { width:fit-content;margin-top:20px; }
body .footer-bottom .nxl-hover-button { font-size:11px; }
body .world-control-row .nxl-hover-button { font-size:10px; }

/* Instrument controls retain their original meaning, text and DOM shape. */
body .nxl-button-surface {
  --action-fill:var(--lime,#dfff38);
  border-radius:999px!important;
  background-color:var(--tile-inset,#152338)!important;
  color:var(--tile-text,#f3f4f1)!important;
  border:1px solid var(--tile-line,#526172)!important;
  background-image:radial-gradient(circle,var(--action-fill) 68%,transparent 72%)!important;
  background-size:0 0!important;
  background-repeat:no-repeat!important;
  background-position:20% 50%!important;
  transition:background-size 300ms cubic-bezier(.2,.7,.2,1),color 180ms,border-color 180ms!important;
}
body .nxl-button-surface:is(:focus-visible,:active):not(:disabled) {background-size:600% 600%!important;color:#0a1018!important;border-color:var(--action-fill)!important;}
@media(hover:hover) and (pointer:fine) {
 body .nxl-button-surface:hover:not(:disabled) {background-size:600% 600%!important;color:#0a1018!important;border-color:var(--action-fill)!important;}
}
body .nxl-button-surface[aria-pressed=true] {border-color:var(--action-fill)!important;box-shadow:inset 0 0 0 1px var(--action-fill);}
body .nxl-button-surface:focus-visible {outline:2px solid var(--lime,#dfff38)!important;outline-offset:3px;}
body .nxl-button-icon { width:44px;min-width:44px;height:44px;min-height:44px; }
body #world-reset.nxl-button-icon { display:grid;place-items:center;padding:0; }
body .world-place-label.nxl-button-surface {border-color:#dfff3861!important;}
body .world-place-label.nxl-button-surface::before {background:currentColor;}
body .discovery-points .nxl-button-surface {padding:10px 18px!important;margin:5px 0;min-height:66px;}
body .discovery-points .nxl-button-surface * {color:inherit!important;}
body .discovery-points .nxl-button-surface small,body .discovery-points .nxl-button-surface .discovery-topic {opacity:.75;}
/* Quiet at rest; only the hovered or keyboard-focused control gains Lime. */
body #discovery-points .nxl-button-surface,
body #entdecken .discovery-filter .nxl-select-trigger.nxl-button-surface {
  background:transparent!important;
  border-color:var(--tile-line,#526172)!important;
  color:var(--tile-text,#f3f4f1)!important;
}
@media(hover:hover) and (pointer:fine) {
 body #discovery-points .nxl-button-surface:hover:not(:disabled),
 body #entdecken .discovery-filter .nxl-select-trigger.nxl-button-surface:hover:not(:disabled) {border-color:var(--lime,#dfff38)!important;}
}
body #discovery-points .nxl-button-surface:focus-visible,
body #entdecken .discovery-filter .nxl-select-trigger.nxl-button-surface:focus-visible {border-color:var(--lime,#dfff38)!important;}
body #entdecken .discovery-filter .nxl-select-trigger .nxl-ripple-layer {display:none;}
body .nxl-select-trigger {padding-left:18px;}
body #menu-toggle.nxl-button-surface .navigation-bar {background:currentColor;}
body #motion-toggle.nxl-button-surface {padding-inline:12px;min-height:40px;}
body .cart-quantity .nxl-button-icon {min-width:36px;width:36px;height:36px;min-height:36px;}
@media(max-width:700px) {
 body .nxl-hover-button {font-size:12px;min-height:46px;padding-inline:34px!important;}
 body .blog-header .nxl-hover-button {font-size:10px;padding-inline:25px!important;}
 body .blog-header .nxl-button-fill {left:10px;width:6px;height:6px;}
 body .blog-header .nxl-button-hover {padding-inline:10px;gap:5px;}
 body .journal-knowledge .nxl-hover-button {width:100%;}
 body .header-actions {gap:12px;}
}
body.motion-off :is(.nxl-hover-button,.nxl-button-surface),
body.motion-off .nxl-hover-button :is(.nxl-button-label,.nxl-button-hover,.nxl-button-fill) {transition:none!important;}
@media(prefers-reduced-motion:reduce) {
 body :is(.nxl-hover-button,.nxl-button-surface),body .nxl-hover-button :is(.nxl-button-label,.nxl-button-hover,.nxl-button-fill) {transition:none!important;}
}

/* Legacy icon-span rules must not resize the new text layers. */
body .nxl-hover-button :is(.nxl-button-label,.nxl-button-hover,.nxl-button-copy) {font-size:inherit!important;line-height:inherit!important;font-weight:inherit!important;}
body .cart-quantity .remove-item.nxl-hover-button {width:auto;height:auto;min-height:36px;min-width:0;padding:8px 28px!important;font-size:10px;margin-left:8px;}
body .cart-quantity .remove-item .nxl-button-fill {left:10px;width:6px;height:6px;}
body .world-place-label.nxl-button-surface::before {background:var(--lime,#dfff38);}
body .world-place-label.nxl-button-surface:is(:hover,:focus-visible)::before {background:currentColor;}
body .nxl-button-hover .cart-inline-count {background:transparent;color:inherit!important;border:1px solid currentColor;}
/* Keep text and count on one row in both states; a grid badge must not
   become a full-width block inside the cloned hover label. */
body .shop-cart-link.nxl-hover-button .nxl-button-copy { display:inline-flex;align-items:center;gap:7px; }
body .shop-cart-link.nxl-hover-button .cart-inline-count { display:inline-grid;flex:0 0 auto;min-width:23px;width:auto;padding-inline:5px; }
body .shop-cart-link.nxl-hover-button .nxl-button-hover .cart-inline-count { background:transparent;color:inherit!important; }
body .world-place-label.nxl-button-surface.is-active {background-size:600% 600%!important;color:#0a1018!important;border-color:var(--lime,#dfff38)!important;}
body .world-place-label.nxl-button-surface.is-active::before {background:currentColor;}
body .nxl-select-trigger.nxl-button-surface[aria-expanded=true] {border-color:var(--lime,#dfff38)!important;}
body .nxl-hover-button :is(.nxl-button-label,.nxl-button-copy) > span:not(.cart-inline-count) {font-size:inherit!important;line-height:inherit!important;}
body .blog-tags .nxl-button-surface {padding:10px 16px!important;min-height:44px;}
body .blog-tags .nxl-button-surface::after {content:none!important;}
@media(max-width:700px) {body .header-contact.nxl-hover-button {display:none;}}
