diff --git a/src/components/chrome/Layout.svelte b/src/components/chrome/Layout.svelte
index c97773d..5e55b5d 100644
--- a/src/components/chrome/Layout.svelte
+++ b/src/components/chrome/Layout.svelte
@@ -11,32 +11,38 @@
import Tracking from "../pages/Tracking.svelte";
-
-
-
- {#if store.activeManga}
-
- {:else if store.navPage === "home"}
-
- {:else if store.navPage === "library"}
-
- {:else if store.navPage === "search"}
-
- {:else if store.navPage === "history"}
-
- {:else if store.navPage === "downloads"}
-
- {:else if store.navPage === "extensions"}
-
- {:else if store.navPage === "tracking"}
-
- {:else}
-
- {/if}
-
+
+
+
+
+ {#if store.activeManga}
+
+ {:else if store.navPage === "home"}
+
+ {:else if store.navPage === "library"}
+
+ {:else if store.navPage === "search"}
+
+ {:else if store.navPage === "history"}
+
+ {:else if store.navPage === "downloads"}
+
+ {:else if store.navPage === "extensions"}
+
+ {:else if store.navPage === "tracking"}
+
+ {:else}
+
+ {/if}
+
+
\ No newline at end of file
+ :global(*, *::before, *::after) { scrollbar-width: none; }
+ :global(*::-webkit-scrollbar) { display: none; }
+
+ .frame { display: flex; padding: 0 10px 10px; width: 100%; height: 100%; box-sizing: border-box; overflow: hidden; }
+ .shell { display: flex; flex: 1; border-radius: 14px; overflow: hidden; border: 1px solid var(--border-dim); background: var(--bg-base); min-height: 0; min-width: 0; }
+ .main { flex: 1; overflow: hidden; background: var(--bg-surface); transform: translateZ(0); contain: layout style; min-width: 0; }
+
diff --git a/src/components/chrome/Sidebar.svelte b/src/components/chrome/Sidebar.svelte
index 34a6e92..b9c656c 100644
--- a/src/components/chrome/Sidebar.svelte
+++ b/src/components/chrome/Sidebar.svelte
@@ -13,8 +13,12 @@
{ id: "tracking", label: "Tracking", icon: ChartLineUp },
];
+ const TAB_SIZE = 36;
+ const TAB_GAP = 4;
+
const anims = $derived(store.settings.qolAnimations ?? true);
const activeIndex = $derived(TABS.findIndex(t => t.id === store.navPage));
+ const indicatorY = $derived(activeIndex * (TAB_SIZE + TAB_GAP));
function navigate(id: NavPage) {
store.navPage = id;
@@ -38,7 +42,7 @@
{:else if isWindows}
-