diff --git a/src/lib/components/Tooltip.svelte b/src/lib/components/Tooltip.svelte
index 245179ef..74f44fe8 100644
--- a/src/lib/components/Tooltip.svelte
+++ b/src/lib/components/Tooltip.svelte
@@ -77,26 +77,8 @@
break;
}
- // Clamp horizontal position to keep tooltip within viewport
- if (finalPosition === 'bottom' || finalPosition === 'top') {
- const halfWidth = tooltipMaxWidth / 2;
- if (x - halfWidth < padding) {
- x = padding + halfWidth;
- } else if (x + halfWidth > window.innerWidth - padding) {
- x = window.innerWidth - padding - halfWidth;
- }
- }
-
- // Clamp vertical position for left/right tooltips
- if (finalPosition === 'left' || finalPosition === 'right') {
- const halfHeight = tooltipHeight / 2;
- if (y - halfHeight < padding) {
- y = padding + halfHeight;
- } else if (y + halfHeight > window.innerHeight - padding) {
- y = window.innerHeight - padding - halfHeight;
- }
- }
-
+ // Viewport clamping happens in the component after render,
+ // where the actual tooltip dimensions can be measured.
tooltipStore.set({ text, shortcut, maxWidth, x, y, visible: true, position: finalPosition });
}, 50);
}
@@ -152,21 +134,51 @@
-{#if state.visible}
+{#if tip.visible}
- {state.text}
- {#if state.shortcut}
- {state.shortcut}
+ {tip.text}
+ {#if tip.shortcut}
+ {tip.shortcut}
{/if}
{/if}
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index 9f93dc74..028d05a5 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -1366,11 +1366,6 @@
-
-
-
@@ -1840,27 +1835,6 @@
.editor-nav .brand { margin-right: var(--space-xs); }
/* Push the top-anchored floating overlays below the fixed nav. */
.app.has-nav .subsystem-breadcrumb { top: calc(var(--space-md) + var(--header-height)); }
- .app.has-nav .logo-overlay { top: calc(var(--space-md) + var(--header-height)); }
-
- /* Logo overlay — stays over the canvas, below the fixed nav. */
- .logo-overlay {
- position: fixed;
- top: var(--space-md);
- left: var(--space-md);
- z-index: 100;
- background: none;
- border: none;
- padding: 0;
- cursor: pointer;
- }
- .logo-overlay img {
- height: 44px;
- width: auto;
- transition: opacity var(--transition-fast);
- }
- .logo-overlay:hover img {
- opacity: 0.8;
- }
.toolbar-btn {
width: var(--header-height);
@@ -2064,7 +2038,6 @@
pointer-events: none;
}
- /* Logo overlay */
/* Subsystem breadcrumb navigation */
.subsystem-breadcrumb {
position: fixed;