@font-face { font-family: 'Electrolize'; src: url('../fonts/Electrolize-Regular.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; }
.npwa-fs {
    --npwa-fs-gap: 8px;
    --npwa-fs-icon: 20px;
    --npwa-fs-x: 20px;
    --npwa-fs-y: 20px;
    --npwa-fs-sticky: 16px;
    --npwa-fs-z: 100;
    --npwa-fs-intensity: 5;
    --npwa-fs-lift: 5px;
    --npwa-fs-angle: 5deg;
    --npwa-fs-glow: 5px;
    --npwa-fs-safe-top: 0px;
    --npwa-fs-safe-right: 0px;
    --npwa-fs-safe-bottom: 0px;
    --npwa-fs-safe-left: 0px;
    display: flex;
    position: relative;
    justify-content: flex-start;
    align-items: center;
    max-width: 100%;
    z-index: var(--npwa-fs-z);
    opacity: 1;
    transition: opacity 160ms ease;
}
.npwa-fs[hidden], .npwa-fs [hidden] { display: none !important; }
.npwa-fs--safe {
    --npwa-fs-safe-top: env(safe-area-inset-top, 0px);
    --npwa-fs-safe-right: env(safe-area-inset-right, 0px);
    --npwa-fs-safe-bottom: env(safe-area-inset-bottom, 0px);
    --npwa-fs-safe-left: env(safe-area-inset-left, 0px);
}
.npwa-fs .npwa-fs-button {
    display: inline-flex;
    flex-shrink: 1;
    justify-content: center;
    align-items: center;
    gap: var(--npwa-fs-gap);
    box-sizing: border-box;
    width: var(--npwa-fs-width, auto);
    height: var(--npwa-fs-height, auto);
    min-width: 44px;
    min-height: 44px;
    max-width: 100%;
    padding: 12px 18px;
    margin: 0;
    border: 1px solid transparent;
    border-radius: 12px;
    background: var(--npwa-fs-normal-background, #92171b);
    color: var(--npwa-fs-normal-text, #ffffff);
    font: inherit;
    font-family: 'Electrolize', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    line-height: 1.3;
    text-decoration: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: background-color var(--npwa-fs-transition, 180ms), color var(--npwa-fs-transition, 180ms), transform var(--npwa-fs-animation-duration, 180ms) var(--npwa-fs-easing, ease), filter var(--npwa-fs-animation-duration, 180ms) var(--npwa-fs-easing, ease);
}
.npwa-fs .npwa-fs-button:disabled { cursor: default; opacity: .65; }
.npwa-fs .npwa-fs-button:focus-visible { outline: 3px solid #92171b; outline-offset: 4px; }
.npwa-fs .npwa-fs-button:is(:hover, :focus-visible) { background: var(--npwa-fs-hover-background, #741216); color: var(--npwa-fs-hover-text, var(--npwa-fs-normal-text, #ffffff)); }
.npwa-fs .npwa-fs-icon { display: inline-flex; flex: 0 0 auto; width: var(--npwa-fs-icon); height: var(--npwa-fs-icon); font-size: var(--npwa-fs-icon); line-height: 1; color: var(--npwa-fs-normal-icon, currentColor); transition: color var(--npwa-fs-transition, 180ms); }
.npwa-fs .npwa-fs-icon svg { width: 100%; height: 100%; fill: currentColor; }
.npwa-fs .npwa-fs-icon svg[fill="none"] { fill: none; }
.npwa-fs .npwa-fs-button:is(:hover, :focus-visible) .npwa-fs-icon { color: var(--npwa-fs-hover-icon, var(--npwa-fs-normal-icon, currentColor)); }
.npwa-fs--icon-after .npwa-fs-button { flex-direction: row-reverse; }
.npwa-fs--icon .npwa-fs-text { display: none; }
.npwa-fs--fixed { position: fixed; width: max-content; max-width: calc(100vw - 32px); }
.npwa-fs--fixed.npwa-fs--left { left: calc(var(--npwa-fs-x) + var(--npwa-fs-safe-left)); }
.npwa-fs--fixed.npwa-fs--right { right: calc(var(--npwa-fs-x) + var(--npwa-fs-safe-right)); }
.npwa-fs--fixed.npwa-fs--top { top: calc(var(--npwa-fs-y) + var(--npwa-fs-safe-top)); }
.npwa-fs--fixed.npwa-fs--bottom { bottom: calc(var(--npwa-fs-y) + var(--npwa-fs-safe-bottom)); }
.npwa-fs--sticky { width: max-content; }
.npwa-fs--sticky.npwa-fs--right { margin-left: auto; margin-right: var(--npwa-fs-x); }
.npwa-fs--sticky.npwa-fs--left { margin-right: auto; margin-left: var(--npwa-fs-x); }
.npwa-fs-host--sticky { position: sticky !important; align-self: flex-start; }
.npwa-fs--animate-scale .npwa-fs-button:is(:hover, :focus-visible) { transform: scale(calc(1 + var(--npwa-fs-intensity) / 100)); }
.npwa-fs--animate-glow .npwa-fs-button:is(:hover, :focus-visible) { filter: drop-shadow(0 0 var(--npwa-fs-glow) var(--npwa-fs-hover-icon, #92171b)); }
.npwa-fs--animate-rotate .npwa-fs-button:is(:hover, :focus-visible) { transform: rotate(var(--npwa-fs-angle)); }
.npwa-fs--animate-lift .npwa-fs-button:is(:hover, :focus-visible) { transform: translateY(calc(-1 * var(--npwa-fs-lift))); }
/* Opacity preserves the tab stop. Focus makes an inactive control visible again. */
.npwa-fs.npwa-fs--idle { opacity: 0; pointer-events: none; }
.npwa-fs.npwa-fs--idle:has(:focus-visible) { opacity: 1; pointer-events: auto; }
.npwa-fs .npwa-fs-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
/* Keep the editor selectable without overriding the live position or offsets. */
.npwa-fs.npwa-fs--editor { display: flex !important; opacity: 1 !important; pointer-events: auto; }
/* Narrow portal shells have no box, hit area, transforms, or duplicate widget IDs. */
.npwa-fs-portal, .npwa-fs-portal .npwa-fs-portal-context { display: contents !important; transform: none !important; filter: none !important; perspective: none !important; contain: none !important; content-visibility: visible !important; overflow: visible !important; }
@media (prefers-reduced-motion: reduce) {
    .npwa-fs, .npwa-fs .npwa-fs-button, .npwa-fs .npwa-fs-icon { transition: none !important; }
    .npwa-fs .npwa-fs-button:is(:hover, :focus-visible) { transform: none !important; }
}
