diff --git a/docs/plan-redesign.md b/docs/plan-redesign.md
index 8fa10dd..d236c01 100644
--- a/docs/plan-redesign.md
+++ b/docs/plan-redesign.md
@@ -309,9 +309,10 @@ src/routes/preview/tools/[id]/+page.svelte
- [x] **[C6]** Примитивы batch 2: `Panel`, `PanelHeading`, `SettingGroup`,
`SettingsFooter`, `MetaRow`/`MetaList`, `Segmented`, `Badge`, `StepCard`,
`ToolCard`, `ImageCard`/`PreviewTile`.
-- [ ] **[C7]** Контролы: `Icon`, `IconButton`, `Button`, `Field`, `SliderField`,
+- [x] **[C7]** Контролы: `Icon`, `IconButton`, `Button`, `Field`, `SliderField`,
`ColorField`, `TextField`, `SelectField`, `CheckboxField`, `Toggle`,
- `SegmentedControl`, `EmptyState`, `CodeBlock`, `DownloadButton`.
+ `SegmentedControl` (= `Segmented` из C6), `EmptyState`, `CodeBlock`,
+ `DownloadButton`.
### Шаг 2. Витрина kit (проверка компонентов)
diff --git a/web/src/lib/components/kit/Button.svelte b/web/src/lib/components/kit/Button.svelte
new file mode 100644
index 0000000..e052f1c
--- /dev/null
+++ b/web/src/lib/components/kit/Button.svelte
@@ -0,0 +1,69 @@
+
+
+
+
+
diff --git a/web/src/lib/components/kit/CheckboxField.svelte b/web/src/lib/components/kit/CheckboxField.svelte
new file mode 100644
index 0000000..57f17dd
--- /dev/null
+++ b/web/src/lib/components/kit/CheckboxField.svelte
@@ -0,0 +1,32 @@
+
+
+
+
+
diff --git a/web/src/lib/components/kit/CodeBlock.svelte b/web/src/lib/components/kit/CodeBlock.svelte
new file mode 100644
index 0000000..e072598
--- /dev/null
+++ b/web/src/lib/components/kit/CodeBlock.svelte
@@ -0,0 +1,50 @@
+
+
+
+ {#if lang}
{lang}{/if}
+
{code}
+ {#if copyable}
+
+ oncopy?.()} />
+
+ {/if}
+
+
+
diff --git a/web/src/lib/components/kit/ColorField.svelte b/web/src/lib/components/kit/ColorField.svelte
new file mode 100644
index 0000000..59de9ac
--- /dev/null
+++ b/web/src/lib/components/kit/ColorField.svelte
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/web/src/lib/components/kit/DownloadButton.svelte b/web/src/lib/components/kit/DownloadButton.svelte
new file mode 100644
index 0000000..d933243
--- /dev/null
+++ b/web/src/lib/components/kit/DownloadButton.svelte
@@ -0,0 +1,23 @@
+
+
+
+
+
diff --git a/web/src/lib/components/kit/EmptyState.svelte b/web/src/lib/components/kit/EmptyState.svelte
new file mode 100644
index 0000000..5ece40c
--- /dev/null
+++ b/web/src/lib/components/kit/EmptyState.svelte
@@ -0,0 +1,42 @@
+
+
+
+ {#if icon}
{/if}
+
{title}
+ {#if description}
{description}{/if}
+ {#if children}
{@render children()}
{/if}
+
+
+
diff --git a/web/src/lib/components/kit/Field.svelte b/web/src/lib/components/kit/Field.svelte
new file mode 100644
index 0000000..4a47d9c
--- /dev/null
+++ b/web/src/lib/components/kit/Field.svelte
@@ -0,0 +1,35 @@
+
+
+
+
{label}
+
{@render children()}
+ {#if hint}
{hint}{/if}
+
+
+
diff --git a/web/src/lib/components/kit/Icon.svelte b/web/src/lib/components/kit/Icon.svelte
new file mode 100644
index 0000000..aa23c8c
--- /dev/null
+++ b/web/src/lib/components/kit/Icon.svelte
@@ -0,0 +1,11 @@
+
+
+
diff --git a/web/src/lib/components/kit/IconButton.svelte b/web/src/lib/components/kit/IconButton.svelte
new file mode 100644
index 0000000..6726e5b
--- /dev/null
+++ b/web/src/lib/components/kit/IconButton.svelte
@@ -0,0 +1,64 @@
+
+
+
+
+
diff --git a/web/src/lib/components/kit/SelectField.svelte b/web/src/lib/components/kit/SelectField.svelte
new file mode 100644
index 0000000..1995251
--- /dev/null
+++ b/web/src/lib/components/kit/SelectField.svelte
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
diff --git a/web/src/lib/components/kit/SliderField.svelte b/web/src/lib/components/kit/SliderField.svelte
new file mode 100644
index 0000000..8a9b9d8
--- /dev/null
+++ b/web/src/lib/components/kit/SliderField.svelte
@@ -0,0 +1,54 @@
+
+
+
+
+
+ {value}{suffix}
+
+
+
+
diff --git a/web/src/lib/components/kit/TextField.svelte b/web/src/lib/components/kit/TextField.svelte
new file mode 100644
index 0000000..be8ab0f
--- /dev/null
+++ b/web/src/lib/components/kit/TextField.svelte
@@ -0,0 +1,47 @@
+
+
+
+
+
diff --git a/web/src/lib/components/kit/Toggle.svelte b/web/src/lib/components/kit/Toggle.svelte
new file mode 100644
index 0000000..5da111c
--- /dev/null
+++ b/web/src/lib/components/kit/Toggle.svelte
@@ -0,0 +1,56 @@
+
+
+
+
+