e.stopPropagation()} onkeydown={(e) => { if (e.key === 'Escape') reject(); }}>
+
+
+
{ if (e.key === 'Escape') reject(); }}>
@@ -70,20 +70,34 @@
.overlay {
position: fixed;
inset: 0;
- background: rgba(0, 0, 0, 0.6);
display: flex;
align-items: center;
justify-content: center;
z-index: 100;
+ }
+ .backdrop {
+ position: absolute;
+ inset: 0;
+ background: rgba(0, 0, 0, 0.6);
backdrop-filter: blur(2px);
+ border: none;
+ padding: 0;
+ margin: 0;
+ cursor: pointer;
+ }
+ .backdrop:focus-visible {
+ outline: 2px solid var(--accent);
+ outline-offset: -4px;
}
.panel {
+ position: relative;
background: var(--bg-surface);
border: 1px solid var(--warning);
border-radius: 4px;
width: 90%;
max-width: 520px;
box-shadow: 0 0 30px color-mix(in srgb, var(--warning) 20%, transparent);
+ overscroll-behavior: contain;
}
.panel-header {
padding: 1rem 1.25rem;
@@ -145,9 +159,10 @@
font-size: 0.8125rem;
line-height: 1.5;
resize: vertical;
- outline: none;
}
- .state-editor:focus {
+ .state-editor:focus-visible {
+ outline: 2px solid var(--accent);
+ outline-offset: 2px;
border-color: var(--accent-dim);
box-shadow: 0 0 6px var(--border-glow);
}
@@ -175,7 +190,7 @@
text-transform: uppercase;
letter-spacing: 1px;
cursor: pointer;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, text-shadow 0.2s ease;
}
.btn-reject {
background: color-mix(in srgb, var(--error) 10%, transparent);
diff --git a/ui/src/lib/components/orchestration/StateInspector.svelte b/ui/src/lib/components/orchestration/StateInspector.svelte
index e2c4a44..1240784 100644
--- a/ui/src/lib/components/orchestration/StateInspector.svelte
+++ b/ui/src/lib/components/orchestration/StateInspector.svelte
@@ -130,7 +130,7 @@
text-transform: uppercase;
letter-spacing: 0.5px;
cursor: pointer;
- transition: all 0.15s ease;
+ transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease, transform 0.15s ease, text-shadow 0.15s ease;
}
.diff-toggle:hover {
background: var(--bg-hover);
diff --git a/ui/src/routes/+page.svelte b/ui/src/routes/+page.svelte
index 19688db..9429707 100644
--- a/ui/src/routes/+page.svelte
+++ b/ui/src/routes/+page.svelte
@@ -91,7 +91,7 @@
font-weight: bold;
text-transform: uppercase;
letter-spacing: 1px;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
text-shadow: var(--text-glow);
}
.install-btn:hover {
@@ -148,7 +148,7 @@
font-weight: bold;
text-transform: uppercase;
letter-spacing: 1px;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
text-shadow: var(--text-glow);
}
diff --git a/ui/src/routes/channels/+page.svelte b/ui/src/routes/channels/+page.svelte
index 69ed0d2..fdef9b3 100644
--- a/ui/src/routes/channels/+page.svelte
+++ b/ui/src/routes/channels/+page.svelte
@@ -529,7 +529,7 @@
font-size: 0.875rem;
font-family: var(--font-mono);
outline: none;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
}
@@ -669,7 +669,7 @@
text-transform: uppercase;
letter-spacing: 1px;
cursor: pointer;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
text-shadow: var(--text-glow);
}
@@ -705,7 +705,7 @@
text-transform: uppercase;
letter-spacing: 1px;
cursor: pointer;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
text-shadow: var(--text-glow);
}
@@ -771,7 +771,7 @@
text-transform: uppercase;
letter-spacing: 1px;
font-size: 0.875rem;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
}
.link-btn:hover {
@@ -811,7 +811,7 @@
background: var(--bg-surface);
border: 1px solid var(--border);
border-radius: 2px;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.5);
}
.toggle-slider::before {
@@ -823,7 +823,7 @@
top: 3px;
background: var(--fg-dim);
border-radius: 2px;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
}
.toggle input:checked + .toggle-slider {
background: color-mix(in srgb, var(--accent) 20%, transparent);
diff --git a/ui/src/routes/dashboard/+page.svelte b/ui/src/routes/dashboard/+page.svelte
index 6361c1e..d25fc25 100644
--- a/ui/src/routes/dashboard/+page.svelte
+++ b/ui/src/routes/dashboard/+page.svelte
@@ -415,7 +415,7 @@
text-transform: uppercase;
letter-spacing: 1px;
cursor: pointer;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
}
.window-selector button:hover {
color: var(--fg);
diff --git a/ui/src/routes/instances/[component]/[name]/+page.svelte b/ui/src/routes/instances/[component]/[name]/+page.svelte
index 9f3c84f..4ec298b 100644
--- a/ui/src/routes/instances/[component]/[name]/+page.svelte
+++ b/ui/src/routes/instances/[component]/[name]/+page.svelte
@@ -1954,7 +1954,7 @@
text-transform: uppercase;
letter-spacing: 1px;
cursor: pointer;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
text-shadow: var(--text-glow);
text-decoration: none;
}
@@ -1997,7 +1997,7 @@
text-transform: uppercase;
letter-spacing: 1px;
cursor: pointer;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
}
.tabs button:hover {
color: var(--accent);
@@ -2026,7 +2026,7 @@
border: 1px solid var(--border);
border-radius: 4px;
backdrop-filter: blur(4px);
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
}
.info-card:hover {
border-color: color-mix(in srgb, var(--accent) 50%, transparent);
@@ -2264,7 +2264,7 @@
background: var(--bg-surface);
border: none;
border-radius: 2px;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.5);
}
.toggle-thumb {
@@ -2275,7 +2275,7 @@
height: 14px;
background: var(--fg-dim);
border-radius: 2px;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
}
.toggle-btn.on .toggle-track {
background: color-mix(in srgb, var(--accent) 20%, transparent);
diff --git a/ui/src/routes/orchestration/+page.svelte b/ui/src/routes/orchestration/+page.svelte
index 30a1417..7d76f62 100644
--- a/ui/src/routes/orchestration/+page.svelte
+++ b/ui/src/routes/orchestration/+page.svelte
@@ -187,7 +187,7 @@
font-weight: bold;
text-transform: uppercase;
letter-spacing: 1px;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
text-shadow: var(--text-glow);
}
.action-btn:hover {
@@ -326,7 +326,7 @@
font-weight: bold;
text-transform: uppercase;
letter-spacing: 1px;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
text-shadow: var(--text-glow);
}
.empty-state .btn:hover {
diff --git a/ui/src/routes/orchestration/runs/[id]/+page.svelte b/ui/src/routes/orchestration/runs/[id]/+page.svelte
index a715688..71dffd8 100644
--- a/ui/src/routes/orchestration/runs/[id]/+page.svelte
+++ b/ui/src/routes/orchestration/runs/[id]/+page.svelte
@@ -235,7 +235,7 @@
text-transform: uppercase;
letter-spacing: 1px;
cursor: pointer;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
text-shadow: var(--text-glow);
text-decoration: none;
}
diff --git a/ui/src/routes/orchestration/runs/[id]/fork/+page.svelte b/ui/src/routes/orchestration/runs/[id]/fork/+page.svelte
index aaaf5fd..f3a5803 100644
--- a/ui/src/routes/orchestration/runs/[id]/fork/+page.svelte
+++ b/ui/src/routes/orchestration/runs/[id]/fork/+page.svelte
@@ -202,7 +202,7 @@
text-transform: uppercase;
letter-spacing: 1px;
cursor: pointer;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
text-shadow: var(--text-glow);
}
.fork-btn:hover:not(:disabled) {
diff --git a/ui/src/routes/orchestration/store/+page.svelte b/ui/src/routes/orchestration/store/+page.svelte
index 7824c9a..69d8236 100644
--- a/ui/src/routes/orchestration/store/+page.svelte
+++ b/ui/src/routes/orchestration/store/+page.svelte
@@ -364,7 +364,7 @@
letter-spacing: 1px;
cursor: pointer;
white-space: nowrap;
- transition: all 0.15s ease;
+ transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease, transform 0.15s ease, text-shadow 0.15s ease;
}
.btn-primary:hover:not(:disabled) {
background: color-mix(in srgb, var(--accent) 25%, transparent);
@@ -504,7 +504,7 @@
text-transform: uppercase;
letter-spacing: 0.5px;
cursor: pointer;
- transition: all 0.15s ease;
+ transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease, transform 0.15s ease, text-shadow 0.15s ease;
}
.btn-danger-sm:hover {
background: color-mix(in srgb, var(--error) 20%, transparent);
diff --git a/ui/src/routes/orchestration/workflows/+page.svelte b/ui/src/routes/orchestration/workflows/+page.svelte
index 1b2e15a..6c0ed98 100644
--- a/ui/src/routes/orchestration/workflows/+page.svelte
+++ b/ui/src/routes/orchestration/workflows/+page.svelte
@@ -126,7 +126,7 @@
font-weight: bold;
text-transform: uppercase;
letter-spacing: 1px;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
text-shadow: var(--text-glow);
}
.action-btn:hover {
@@ -149,7 +149,7 @@
background: var(--bg-surface);
border: 1px solid var(--border);
border-radius: 4px;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
}
.wf-card:hover {
border-color: var(--accent-dim);
@@ -202,7 +202,7 @@
text-transform: uppercase;
letter-spacing: 1px;
cursor: pointer;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
}
.btn-edit {
background: var(--bg-surface);
@@ -290,7 +290,7 @@
font-weight: bold;
text-transform: uppercase;
letter-spacing: 1px;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
text-shadow: var(--text-glow);
}
.empty-state .btn:hover {
diff --git a/ui/src/routes/orchestration/workflows/[id]/+page.svelte b/ui/src/routes/orchestration/workflows/[id]/+page.svelte
index 15d19c5..5e6ce50 100644
--- a/ui/src/routes/orchestration/workflows/[id]/+page.svelte
+++ b/ui/src/routes/orchestration/workflows/[id]/+page.svelte
@@ -235,7 +235,7 @@
text-transform: uppercase;
letter-spacing: 1px;
cursor: pointer;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
text-shadow: var(--text-glow);
}
.tool-btn:hover:not(:disabled) {
diff --git a/ui/src/routes/providers/+page.svelte b/ui/src/routes/providers/+page.svelte
index 21679cb..97f8738 100644
--- a/ui/src/routes/providers/+page.svelte
+++ b/ui/src/routes/providers/+page.svelte
@@ -529,7 +529,7 @@
font-size: 0.875rem;
font-family: var(--font-mono);
outline: none;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
}
@@ -667,7 +667,7 @@
text-transform: uppercase;
letter-spacing: 1px;
cursor: pointer;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
text-shadow: var(--text-glow);
}
@@ -703,7 +703,7 @@
text-transform: uppercase;
letter-spacing: 1px;
cursor: pointer;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
text-shadow: var(--text-glow);
}
@@ -808,7 +808,7 @@
font-size: 0.75rem;
font-family: var(--font-mono);
cursor: pointer;
- transition: all 0.15s ease;
+ transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease, transform 0.15s ease, text-shadow 0.15s ease;
}
.model-chip:hover {
diff --git a/ui/src/routes/report/+page.svelte b/ui/src/routes/report/+page.svelte
index 0157570..e502ba2 100644
--- a/ui/src/routes/report/+page.svelte
+++ b/ui/src/routes/report/+page.svelte
@@ -343,7 +343,7 @@
font-size: 0.875rem;
font-family: var(--font-mono);
outline: none;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
}
@@ -426,7 +426,7 @@
text-transform: uppercase;
letter-spacing: 2px;
cursor: pointer;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
text-shadow: var(--text-glow);
box-shadow: inset 0 0 10px color-mix(in srgb, var(--accent) 30%, transparent);
}
@@ -453,7 +453,7 @@
text-transform: uppercase;
letter-spacing: 1px;
cursor: pointer;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
}
.btn:hover {
diff --git a/ui/src/routes/settings/+page.svelte b/ui/src/routes/settings/+page.svelte
index d64ec34..287526c 100644
--- a/ui/src/routes/settings/+page.svelte
+++ b/ui/src/routes/settings/+page.svelte
@@ -282,7 +282,7 @@
font-size: 0.875rem;
font-family: var(--font-mono);
outline: none;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
}
@@ -412,7 +412,7 @@
text-transform: uppercase;
letter-spacing: 1px;
cursor: pointer;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
margin-top: 0.75rem;
text-shadow: var(--text-glow);
}
@@ -475,7 +475,7 @@
text-transform: uppercase;
letter-spacing: 2px;
cursor: pointer;
- transition: all 0.2s ease;
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease, text-shadow 0.2s ease;
text-shadow: var(--text-glow);
box-shadow: inset 0 0 10px
color-mix(in srgb, var(--accent) 30%, transparent);