diff --git a/apps/manacore/apps/web/src/lib/components/page-carousel/PageCarousel.svelte b/apps/manacore/apps/web/src/lib/components/page-carousel/PageCarousel.svelte index 6e5f0499a..8ac19f5ce 100644 --- a/apps/manacore/apps/web/src/lib/components/page-carousel/PageCarousel.svelte +++ b/apps/manacore/apps/web/src/lib/components/page-carousel/PageCarousel.svelte @@ -235,7 +235,7 @@ /* Minimized tabs */ .minimized-tabs { position: fixed; - bottom: 4.5rem; + bottom: var(--bottom-chrome-height, 4.5rem); left: 50%; transform: translateX(-50%); z-index: 91; diff --git a/apps/manacore/apps/web/src/routes/(app)/+layout.svelte b/apps/manacore/apps/web/src/routes/(app)/+layout.svelte index 259f5aea0..397c15d9d 100644 --- a/apps/manacore/apps/web/src/routes/(app)/+layout.svelte +++ b/apps/manacore/apps/web/src/routes/(app)/+layout.svelte @@ -66,6 +66,17 @@ let isCollapsed = $state(false); let showShortcuts = $state(false); let showOnboarding = $state(false); + let bottomStackHeight = $state(0); + + // Expose bottom stack height as CSS custom property for components outside the stack + $effect(() => { + if (typeof document !== 'undefined') { + document.documentElement.style.setProperty( + '--bottom-chrome-height', + `${bottomStackHeight}px` + ); + } + }); // ── Theme ─────────────────────────────────────────────── let isDark = $derived(theme.isDark); @@ -376,7 +387,7 @@
-
+
-
+
{@render children()}
@@ -483,7 +494,7 @@ {#if guestMode && guestMode.notifications.length > 0} -
+
{/if} @@ -570,4 +581,13 @@ .pill-nav-toggle-icon.collapsed { transform: rotate(180deg); } + + .notification-float { + position: fixed; + bottom: var(--bottom-chrome-height, 8rem); + left: 50%; + transform: translateX(-50%); + z-index: 100; + pointer-events: auto; + }