diff --git a/web/src/lib/components/kit/TopBar.svelte b/web/src/lib/components/kit/TopBar.svelte
new file mode 100644
index 0000000..4e53dd1
--- /dev/null
+++ b/web/src/lib/components/kit/TopBar.svelte
@@ -0,0 +1,81 @@
+
+
+
+
+
diff --git a/web/src/lib/styles/design2.css b/web/src/lib/styles/design2.css
index bef2530..5e2d89b 100644
--- a/web/src/lib/styles/design2.css
+++ b/web/src/lib/styles/design2.css
@@ -17,6 +17,15 @@ body {
padding: 0;
}
+/* Форм-контролы не наследуют шрифт семьи по умолчанию (браузер ставит Arial). */
+button,
+input,
+select,
+textarea,
+optgroup {
+ font-family: inherit;
+}
+
/* Новый дизайн: токены (§2 плана redesign).
Файл грузится только layout'ом новой ветки (preview/+layout), поэтому
глобально не конфликтует со старым app.css. */
diff --git a/web/src/routes/preview/+layout.svelte b/web/src/routes/preview/+layout.svelte
index 731946d..c74f21e 100644
--- a/web/src/routes/preview/+layout.svelte
+++ b/web/src/routes/preview/+layout.svelte
@@ -2,12 +2,12 @@
import "$lib/styles/design2.css";
import type { Snippet } from "svelte";
import AppShell from "$lib/components/kit/AppShell.svelte";
- import IconButton from "$lib/components/kit/IconButton.svelte";
- import { Sun, Moon } from "@lucide/svelte";
+ import TopBar from "$lib/components/kit/TopBar.svelte";
interface Props {
children: Snippet;
}
+
let { children }: Props = $props();
let theme = $state<"light" | "dark">("light");
@@ -17,24 +17,6 @@
+
{@render children()}
-
-
-
-
-
diff --git a/web/src/routes/preview/demo/+page.svelte b/web/src/routes/preview/demo/+page.svelte
index 149427d..910dfc0 100644
--- a/web/src/routes/preview/demo/+page.svelte
+++ b/web/src/routes/preview/demo/+page.svelte
@@ -1,12 +1,5 @@