feat: prepare 2.2.0 with UI and execution fixes
Add dark theme, richer Markdown and readable plugin results. Improve Android input evidence, response integrity and diagnostics. Unify lifecycle, guidance receipts and evidence sources across clients. Keep direct action dispatch without an added AI quota approval layer. Align version metadata at 2.2.0 and bundle Helper 1.2.2. Validation: 3063 backend tests before the version bump; 44 after. Frontend: 317 tests and production build passed.
This commit is contained in:
1 parent
83bcfd54d5
commit
fac4ccb760
146 files changed
+5689
-2033
No files matched your search
+111
-111
@@ -32,12 +32,12 @@
|
||||
width: 400px;
|
||||
max-width: calc(100vw - 32px);
|
||||
max-height: calc(100dvh - var(--player-top, 60px) - 12px);
|
||||
background: rgba(255, 255, 255, 0.84);
|
||||
background: rgb(var(--app-surface-rgb, 255 255 255) / 0.84);
|
||||
backdrop-filter: blur(24px) saturate(180%);
|
||||
-webkit-backdrop-filter: blur(24px) saturate(180%);
|
||||
border: 1px solid rgba(255, 255, 255, 0.85);
|
||||
border: 1px solid rgb(var(--app-border-rgb, 255 255 255) / 0.85);
|
||||
border-radius: 16px;
|
||||
box-shadow: 0 20px 50px -10px rgba(15, 23, 42, 0.22), 0 0 0 1px rgba(226, 232, 240, 0.6), inset 0 1px 1px rgba(255, 255, 255, 0.9);
|
||||
box-shadow: 0 20px 50px -10px rgba(15, 23, 42, 0.22), 0 0 0 1px rgba(226, 232, 240, 0.6), inset 0 1px 1px rgb(var(--app-highlight-rgb, 255 255 255) / 0.9);
|
||||
z-index: 1050;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
@@ -80,9 +80,9 @@
|
||||
/* --- Window Header (Draggable Handle) --- */
|
||||
.window-header {
|
||||
height: 44px;
|
||||
background: rgba(255, 255, 255, 0.75);
|
||||
background: rgb(var(--app-surface-rgb, 255 255 255) / 0.75);
|
||||
backdrop-filter: blur(16px);
|
||||
border-bottom: 1px solid rgba(226, 232, 240, 0.75);
|
||||
border-bottom: 1px solid rgb(var(--app-border-rgb, 226 232 240) / 0.75);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
@@ -104,14 +104,14 @@
|
||||
|
||||
.header-icon {
|
||||
font-size: 18px;
|
||||
color: #2563eb;
|
||||
color: var(--app-primary-text, #2563eb);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.header-title {
|
||||
font-size: 13px;
|
||||
font-weight: 600;
|
||||
color: #0f172a;
|
||||
color: var(--app-text-strong, #0f172a);
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
@@ -121,9 +121,9 @@
|
||||
.mode-switcher-group {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
background: rgba(241, 245, 249, 0.65);
|
||||
background: rgb(var(--app-surface-soft-rgb, 241 245 249) / 0.65);
|
||||
backdrop-filter: blur(12px);
|
||||
border: 1px solid rgba(226, 232, 240, 0.8);
|
||||
border: 1px solid rgb(var(--app-border-rgb, 226 232 240) / 0.8);
|
||||
border-radius: 8px;
|
||||
padding: 2px;
|
||||
margin-left: 4px;
|
||||
@@ -132,7 +132,7 @@
|
||||
.mode-btn {
|
||||
border: none;
|
||||
background: transparent;
|
||||
color: #475569;
|
||||
color: var(--app-text-secondary, #475569);
|
||||
font-size: 10px;
|
||||
font-weight: 700;
|
||||
padding: 2px 7px;
|
||||
@@ -152,8 +152,8 @@
|
||||
}
|
||||
|
||||
&:hover:not(:disabled) {
|
||||
color: #0f172a;
|
||||
background: rgba(255, 255, 255, 0.6);
|
||||
color: var(--app-text-strong, #0f172a);
|
||||
background: rgb(var(--app-surface-rgb, 255 255 255) / 0.6);
|
||||
}
|
||||
|
||||
&.active {
|
||||
@@ -180,9 +180,9 @@
|
||||
.mode-toggle-group {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
background: rgba(241, 245, 249, 0.7);
|
||||
background: rgb(var(--app-surface-soft-rgb, 241 245 249) / 0.7);
|
||||
backdrop-filter: blur(12px);
|
||||
border: 1px solid rgba(226, 232, 240, 0.85);
|
||||
border: 1px solid rgb(var(--app-border-rgb, 226 232 240) / 0.85);
|
||||
border-radius: 8px;
|
||||
padding: 2px;
|
||||
margin-right: 4px;
|
||||
@@ -194,7 +194,7 @@
|
||||
gap: 3px;
|
||||
border: none;
|
||||
background: transparent;
|
||||
color: #475569;
|
||||
color: var(--app-text-secondary, #475569);
|
||||
font-size: 11px;
|
||||
font-weight: 600;
|
||||
padding: 2px 7px;
|
||||
@@ -207,8 +207,8 @@
|
||||
}
|
||||
|
||||
&:hover:not(.active) {
|
||||
color: #0f172a;
|
||||
background: rgba(255, 255, 255, 0.8);
|
||||
color: var(--app-text-strong, #0f172a);
|
||||
background: rgb(var(--app-surface-rgb, 255 255 255) / 0.8);
|
||||
}
|
||||
|
||||
&.active {
|
||||
@@ -222,9 +222,9 @@
|
||||
.speed-pill-group {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
background: rgba(241, 245, 249, 0.65);
|
||||
background: rgb(var(--app-surface-soft-rgb, 241 245 249) / 0.65);
|
||||
backdrop-filter: blur(12px);
|
||||
border: 1px solid rgba(226, 232, 240, 0.8);
|
||||
border: 1px solid rgb(var(--app-border-rgb, 226 232 240) / 0.8);
|
||||
border-radius: 8px;
|
||||
padding: 2px;
|
||||
margin-right: 4px;
|
||||
@@ -232,7 +232,7 @@
|
||||
.speed-btn {
|
||||
border: none;
|
||||
background: transparent;
|
||||
color: #334155;
|
||||
color: var(--app-text-control, #334155);
|
||||
font-size: 11px;
|
||||
font-weight: 700;
|
||||
padding: 2px 6px;
|
||||
@@ -241,8 +241,8 @@
|
||||
transition: all 0.15s ease;
|
||||
|
||||
&:hover {
|
||||
color: #0f172a;
|
||||
background: #cbd5e1;
|
||||
color: var(--app-text-strong, #0f172a);
|
||||
background: var(--app-surface-raised, #cbd5e1);
|
||||
}
|
||||
|
||||
&.active {
|
||||
@@ -255,11 +255,11 @@
|
||||
}
|
||||
|
||||
.header-btn {
|
||||
background: rgba(241, 245, 249, 0.75);
|
||||
background: rgb(var(--app-surface-soft-rgb, 241 245 249) / 0.75);
|
||||
backdrop-filter: blur(12px);
|
||||
-webkit-backdrop-filter: blur(12px);
|
||||
border: 1px solid rgba(226, 232, 240, 0.85);
|
||||
color: #1e293b;
|
||||
border: 1px solid rgb(var(--app-border-rgb, 226 232 240) / 0.85);
|
||||
color: var(--app-text-control, #1e293b);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@@ -267,21 +267,21 @@
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
border-radius: 7px;
|
||||
box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), inset 0 1px 1px rgba(255, 255, 255, 0.8);
|
||||
box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), inset 0 1px 1px rgb(var(--app-highlight-rgb, 255 255 255) / 0.8);
|
||||
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
|
||||
&:hover {
|
||||
background: rgba(255, 255, 255, 0.95);
|
||||
color: #0f172a;
|
||||
border-color: rgba(203, 213, 225, 0.95);
|
||||
background: rgb(var(--app-surface-rgb, 255 255 255) / 0.95);
|
||||
color: var(--app-text-strong, #0f172a);
|
||||
border-color: rgb(var(--app-border-control-rgb, 203 213 225) / 0.95);
|
||||
transform: translateY(-0.5px);
|
||||
box-shadow: 0 2px 6px rgba(15, 23, 42, 0.08);
|
||||
}
|
||||
|
||||
&.close-btn:hover {
|
||||
background: rgba(254, 226, 226, 0.95);
|
||||
color: #dc2626;
|
||||
border-color: rgba(252, 165, 165, 0.9);
|
||||
background: rgb(var(--app-error-soft-rgb, 254 226 226) / 0.95);
|
||||
color: var(--app-error-text, #dc2626);
|
||||
border-color: rgb(var(--app-error-border-rgb, 252 165 165) / 0.9);
|
||||
box-shadow: 0 2px 6px rgba(220, 38, 38, 0.15);
|
||||
}
|
||||
|
||||
@@ -301,7 +301,7 @@
|
||||
.video-body {
|
||||
min-height: 0;
|
||||
position: relative;
|
||||
background: #ffffff;
|
||||
background: var(--app-surface, #ffffff);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: stretch;
|
||||
@@ -314,16 +314,16 @@
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
background: #ffffff;
|
||||
background: var(--app-surface, #ffffff);
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
color: #475569;
|
||||
color: var(--app-text-secondary, #475569);
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
|
||||
.spinning-icon {
|
||||
font-size: 28px;
|
||||
color: #2563eb;
|
||||
color: var(--app-primary-text, #2563eb);
|
||||
animation: spin 1s linear infinite;
|
||||
}
|
||||
}
|
||||
@@ -336,7 +336,7 @@
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background: #ffffff;
|
||||
background: var(--app-surface, #ffffff);
|
||||
min-height: 260px;
|
||||
overflow: hidden;
|
||||
|
||||
@@ -346,7 +346,7 @@
|
||||
display: block;
|
||||
object-fit: contain;
|
||||
user-select: none;
|
||||
background: #ffffff;
|
||||
background: var(--app-surface, #ffffff);
|
||||
}
|
||||
|
||||
.live-status-overlay {
|
||||
@@ -363,9 +363,9 @@
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
background: #fef2f2;
|
||||
border: 1px solid #fca5a5;
|
||||
color: #dc2626;
|
||||
background: var(--app-error-soft, #fef2f2);
|
||||
border: 1px solid var(--app-error-border, #fca5a5);
|
||||
color: var(--app-error-text, #dc2626);
|
||||
font-size: 10.5px;
|
||||
font-weight: 700;
|
||||
padding: 3px 9px;
|
||||
@@ -384,10 +384,10 @@
|
||||
|
||||
.live-refresh-btn {
|
||||
pointer-events: auto;
|
||||
background: rgba(255, 255, 255, 0.95);
|
||||
background: rgb(var(--app-surface-rgb, 255 255 255) / 0.95);
|
||||
backdrop-filter: blur(6px);
|
||||
border: 1px solid #cbd5e1;
|
||||
color: #1e293b;
|
||||
border: 1px solid var(--app-border-control, #cbd5e1);
|
||||
color: var(--app-text-control, #1e293b);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@@ -399,9 +399,9 @@
|
||||
transition: all 0.15s ease;
|
||||
|
||||
&:hover {
|
||||
background: #f1f5f9;
|
||||
color: #0f172a;
|
||||
border-color: #94a3b8;
|
||||
background: var(--app-surface-soft, #f1f5f9);
|
||||
color: var(--app-text-strong, #0f172a);
|
||||
border-color: var(--app-border-control, #94a3b8);
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
|
||||
@@ -415,7 +415,7 @@
|
||||
.step-replay-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background: #ffffff;
|
||||
background: var(--app-surface, #ffffff);
|
||||
position: relative;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
@@ -424,16 +424,16 @@
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
background: #fffbeb;
|
||||
color: #b45309;
|
||||
background: var(--app-warning-soft, #fffbeb);
|
||||
color: var(--app-warning-text, #b45309);
|
||||
padding: 6px 12px;
|
||||
font-size: 11.5px;
|
||||
font-weight: 500;
|
||||
border-bottom: 1px solid #fde68a;
|
||||
border-bottom: 1px solid var(--app-warning-border, #fde68a);
|
||||
|
||||
.notice-icon {
|
||||
font-size: 14px;
|
||||
color: #d97706;
|
||||
color: var(--app-warning-text, #d97706);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
}
|
||||
@@ -443,7 +443,7 @@
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
background: #f8fafc;
|
||||
background: var(--app-surface-soft, #f8fafc);
|
||||
min-height: 280px;
|
||||
max-height: 520px;
|
||||
overflow: hidden;
|
||||
@@ -458,21 +458,21 @@
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 8px;
|
||||
background: #f8fafc;
|
||||
color: #64748b;
|
||||
background: var(--app-surface-soft, #f8fafc);
|
||||
color: var(--app-text-muted, #64748b);
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
z-index: 5;
|
||||
|
||||
.spinning-icon {
|
||||
font-size: 24px;
|
||||
color: #0284c7;
|
||||
color: var(--app-info-text, #0284c7);
|
||||
animation: spin 1s linear infinite;
|
||||
}
|
||||
|
||||
.broken-icon {
|
||||
font-size: 28px;
|
||||
color: #94a3b8;
|
||||
color: var(--app-text-faint, #94a3b8);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -495,7 +495,7 @@
|
||||
cursor: pointer;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.14), 0 0 0 1px rgba(226, 232, 240, 0.9);
|
||||
background: #ffffff;
|
||||
background: var(--app-surface, #ffffff);
|
||||
transition: opacity 0.15s ease;
|
||||
|
||||
&:hover {
|
||||
@@ -532,7 +532,7 @@
|
||||
background: rgba(15, 23, 42, 0.88);
|
||||
backdrop-filter: blur(14px) saturate(180%);
|
||||
-webkit-backdrop-filter: blur(14px) saturate(180%);
|
||||
border: 1px solid rgba(255, 255, 255, 0.2);
|
||||
border: 1px solid rgb(var(--app-border-rgb, 255 255 255) / 0.2);
|
||||
border-radius: 10px;
|
||||
padding: 6px 10px;
|
||||
color: #ffffff;
|
||||
@@ -580,7 +580,7 @@
|
||||
|
||||
.action-type-icon {
|
||||
font-size: 15px;
|
||||
color: #38bdf8;
|
||||
color: var(--app-info-text, #38bdf8);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
}
|
||||
@@ -595,8 +595,8 @@
|
||||
.pre-post-toggle {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
background: rgba(255, 255, 255, 0.12);
|
||||
border: 1px solid rgba(255, 255, 255, 0.15);
|
||||
background: rgb(var(--app-surface-rgb, 255 255 255) / 0.12);
|
||||
border: 1px solid rgb(var(--app-border-rgb, 255 255 255) / 0.15);
|
||||
border-radius: 6px;
|
||||
padding: 2px;
|
||||
gap: 2px;
|
||||
@@ -614,7 +614,7 @@
|
||||
|
||||
&:hover {
|
||||
color: #ffffff;
|
||||
background: rgba(255, 255, 255, 0.2);
|
||||
background: rgb(var(--app-surface-rgb, 255 255 255) / 0.2);
|
||||
}
|
||||
|
||||
&.active {
|
||||
@@ -639,11 +639,11 @@
|
||||
|
||||
&:hover {
|
||||
color: #ffffff;
|
||||
background: rgba(255, 255, 255, 0.15);
|
||||
background: rgb(var(--app-surface-rgb, 255 255 255) / 0.15);
|
||||
}
|
||||
|
||||
&.pinned {
|
||||
color: #38bdf8;
|
||||
color: var(--app-info-text, #38bdf8);
|
||||
background: rgba(56, 189, 248, 0.2);
|
||||
}
|
||||
|
||||
@@ -664,7 +664,7 @@
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background: #ffffff;
|
||||
background: var(--app-surface, #ffffff);
|
||||
|
||||
video {
|
||||
min-height: 0;
|
||||
@@ -674,21 +674,21 @@
|
||||
display: block;
|
||||
object-fit: contain;
|
||||
cursor: pointer;
|
||||
background: #ffffff;
|
||||
background: var(--app-surface, #ffffff);
|
||||
}
|
||||
}
|
||||
|
||||
.video-controls-footer {
|
||||
background: rgba(255, 255, 255, 0.84);
|
||||
background: rgb(var(--app-surface-rgb, 255 255 255) / 0.84);
|
||||
backdrop-filter: blur(20px) saturate(180%);
|
||||
-webkit-backdrop-filter: blur(20px) saturate(180%);
|
||||
border-top: 1px solid rgba(226, 232, 240, 0.75);
|
||||
border-top: 1px solid rgb(var(--app-border-rgb, 226 232 240) / 0.75);
|
||||
padding: 12px 14px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
flex-shrink: 0;
|
||||
box-shadow: 0 -4px 16px rgba(15, 23, 42, 0.04), inset 0 1px 1px rgba(255, 255, 255, 0.9);
|
||||
box-shadow: 0 -4px 16px rgba(15, 23, 42, 0.04), inset 0 1px 1px rgb(var(--app-highlight-rgb, 255 255 255) / 0.9);
|
||||
|
||||
.scrubber-bar-container {
|
||||
position: relative;
|
||||
@@ -714,7 +714,7 @@
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 5px;
|
||||
background: rgba(226, 232, 240, 0.85);
|
||||
background: rgb(var(--app-surface-raised-rgb, 226 232 240) / 0.85);
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
@@ -740,7 +740,7 @@
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
padding: 0;
|
||||
border: 2px solid #fff;
|
||||
border: 2px solid var(--app-border, #fff);
|
||||
border-radius: 50%;
|
||||
background: #64748b;
|
||||
box-shadow: 0 1px 4px rgba(15, 23, 42, 0.25);
|
||||
@@ -775,8 +775,8 @@
|
||||
width: 7px;
|
||||
height: 7px;
|
||||
border-radius: 50%;
|
||||
background: rgba(255, 255, 255, 0.9);
|
||||
border: 1.5px solid #94a3b8;
|
||||
background: rgb(var(--app-surface-rgb, 255 255 255) / 0.9);
|
||||
border: 1.5px solid var(--app-border-control, #94a3b8);
|
||||
transform: translate(-50%, 0);
|
||||
pointer-events: auto;
|
||||
cursor: pointer;
|
||||
@@ -785,17 +785,17 @@
|
||||
&:hover {
|
||||
transform: translate(-50%, 0) scale(1.4);
|
||||
border-color: #0284c7;
|
||||
background: #ffffff;
|
||||
background: var(--app-surface, #ffffff);
|
||||
}
|
||||
|
||||
&.passed {
|
||||
background: #0284c7;
|
||||
border-color: #ffffff;
|
||||
border-color: var(--app-border, #ffffff);
|
||||
}
|
||||
|
||||
&.active {
|
||||
background: #38bdf8;
|
||||
border-color: #ffffff;
|
||||
border-color: var(--app-border, #ffffff);
|
||||
transform: translate(-50%, 0) scale(1.3);
|
||||
box-shadow: 0 0 6px rgba(56, 189, 248, 0.8);
|
||||
}
|
||||
@@ -815,12 +815,12 @@
|
||||
}
|
||||
|
||||
.ctrl-btn {
|
||||
background: rgba(241, 245, 249, 0.75);
|
||||
background: rgb(var(--app-surface-soft-rgb, 241 245 249) / 0.75);
|
||||
backdrop-filter: blur(12px);
|
||||
-webkit-backdrop-filter: blur(12px);
|
||||
border: 1px solid rgba(226, 232, 240, 0.85);
|
||||
box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), inset 0 1px 1px rgba(255, 255, 255, 0.85);
|
||||
color: #0f172a;
|
||||
border: 1px solid rgb(var(--app-border-rgb, 226 232 240) / 0.85);
|
||||
box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), inset 0 1px 1px rgb(var(--app-highlight-rgb, 255 255 255) / 0.85);
|
||||
color: var(--app-text-strong, #0f172a);
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 8px;
|
||||
@@ -831,9 +831,9 @@
|
||||
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
|
||||
&:hover {
|
||||
background: rgba(255, 255, 255, 0.95);
|
||||
border-color: rgba(191, 219, 254, 0.9);
|
||||
color: #0284c7;
|
||||
background: rgb(var(--app-surface-rgb, 255 255 255) / 0.95);
|
||||
border-color: rgb(var(--app-primary-border-rgb, 191 219 254) / 0.9);
|
||||
color: var(--app-info-text, #0284c7);
|
||||
transform: translateY(-0.5px);
|
||||
box-shadow: 0 3px 8px rgba(15, 23, 42, 0.08);
|
||||
}
|
||||
@@ -843,8 +843,8 @@
|
||||
}
|
||||
|
||||
&.active {
|
||||
color: #0284c7;
|
||||
background: rgba(224, 242, 254, 0.85);
|
||||
color: var(--app-info-text, #0284c7);
|
||||
background: rgb(var(--app-info-soft-rgb, 224 242 254) / 0.85);
|
||||
border-color: rgba(56, 189, 248, 0.8);
|
||||
box-shadow: 0 2px 6px rgba(2, 132, 199, 0.15);
|
||||
}
|
||||
@@ -853,16 +853,16 @@
|
||||
background: linear-gradient(135deg, rgba(2, 132, 199, 0.92), rgba(37, 99, 235, 0.88));
|
||||
backdrop-filter: blur(14px) saturate(180%);
|
||||
-webkit-backdrop-filter: blur(14px) saturate(180%);
|
||||
border: 1px solid rgba(255, 255, 255, 0.35);
|
||||
border: 1px solid rgb(var(--app-border-rgb, 255 255 255) / 0.35);
|
||||
color: #ffffff;
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
border-radius: 50%;
|
||||
box-shadow: 0 4px 14px rgba(2, 132, 199, 0.35), inset 0 1px 1px rgba(255, 255, 255, 0.5);
|
||||
box-shadow: 0 4px 14px rgba(2, 132, 199, 0.35), inset 0 1px 1px rgb(var(--app-highlight-rgb, 255 255 255) / 0.5);
|
||||
|
||||
&:hover {
|
||||
background: linear-gradient(135deg, rgba(2, 132, 199, 1), rgba(37, 99, 235, 0.95));
|
||||
box-shadow: 0 6px 18px rgba(2, 132, 199, 0.45), inset 0 1px 1px rgba(255, 255, 255, 0.6);
|
||||
box-shadow: 0 6px 18px rgba(2, 132, 199, 0.45), inset 0 1px 1px rgb(var(--app-highlight-rgb, 255 255 255) / 0.6);
|
||||
transform: translateY(-1px) scale(1.04);
|
||||
}
|
||||
|
||||
@@ -883,18 +883,18 @@
|
||||
font-size: 11px;
|
||||
font-weight: 700;
|
||||
font-family: 'JetBrains Mono', 'Roboto Mono', monospace;
|
||||
color: #334155;
|
||||
color: var(--app-text-control, #334155);
|
||||
letter-spacing: -0.2px;
|
||||
|
||||
&:hover {
|
||||
color: #0284c7;
|
||||
border-color: rgba(191, 219, 254, 0.9);
|
||||
color: var(--app-info-text, #0284c7);
|
||||
border-color: rgb(var(--app-primary-border-rgb, 191 219 254) / 0.9);
|
||||
}
|
||||
}
|
||||
|
||||
.material-symbols-outlined {
|
||||
font-size: 18px;
|
||||
color: #1e293b;
|
||||
color: var(--app-text-control, #1e293b);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -902,7 +902,7 @@
|
||||
font-size: 12px;
|
||||
font-weight: 700;
|
||||
font-family: 'JetBrains Mono', 'Roboto Mono', monospace;
|
||||
color: #1e293b;
|
||||
color: var(--app-text-control, #1e293b);
|
||||
margin-left: 4px;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
@@ -911,7 +911,7 @@
|
||||
|
||||
/* --- Clean, Minimal High-Contrast Empty State --- */
|
||||
.empty-video-fallback {
|
||||
background: #ffffff;
|
||||
background: var(--app-surface, #ffffff);
|
||||
padding: 36px 20px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@@ -924,8 +924,8 @@
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
border-radius: 50%;
|
||||
background: #fef2f2;
|
||||
border: 1px solid #fee2e2;
|
||||
background: var(--app-error-soft, #fef2f2);
|
||||
border: 1px solid var(--app-error-border, #fee2e2);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
@@ -933,7 +933,7 @@
|
||||
|
||||
.fallback-icon {
|
||||
font-size: 24px;
|
||||
color: #ef4444;
|
||||
color: var(--app-error-text, #ef4444);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -941,13 +941,13 @@
|
||||
margin: 0 0 6px 0;
|
||||
font-size: 13.5px;
|
||||
font-weight: 600;
|
||||
color: #0f172a;
|
||||
color: var(--app-text-strong, #0f172a);
|
||||
}
|
||||
|
||||
.fallback-desc {
|
||||
margin: 0 0 12px 0;
|
||||
font-size: 12px;
|
||||
color: #64748b;
|
||||
color: var(--app-text-muted, #64748b);
|
||||
line-height: 1.4;
|
||||
max-width: 240px;
|
||||
}
|
||||
@@ -1026,25 +1026,25 @@
|
||||
gap: 8px;
|
||||
align-items: center;
|
||||
padding: 8px 12px;
|
||||
background: #f8fafc;
|
||||
border-bottom: 1px solid #e2e8f0;
|
||||
background: var(--app-surface-soft, #f8fafc);
|
||||
border-bottom: 1px solid var(--app-border, #e2e8f0);
|
||||
font-size: 12px;
|
||||
color: #475569;
|
||||
color: var(--app-text-secondary, #475569);
|
||||
|
||||
select {
|
||||
min-width: 0;
|
||||
flex: 1;
|
||||
border: 1px solid #cbd5e1;
|
||||
border: 1px solid var(--app-border-control, #cbd5e1);
|
||||
border-radius: 6px;
|
||||
padding: 4px;
|
||||
background: white;
|
||||
background: var(--app-surface, white);
|
||||
}
|
||||
}
|
||||
|
||||
.recording-notice {
|
||||
padding: 8px 12px;
|
||||
background: #fffbeb;
|
||||
color: #92400e;
|
||||
background: var(--app-warning-soft, #fffbeb);
|
||||
color: var(--app-warning-text, #92400e);
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
@@ -1055,8 +1055,8 @@
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 24px;
|
||||
color: #475569;
|
||||
background: #f1f5f9;
|
||||
color: var(--app-text-secondary, #475569);
|
||||
background: var(--app-surface-soft, #f1f5f9);
|
||||
text-align: center;
|
||||
z-index: 2;
|
||||
}
|
||||
@@ -1066,13 +1066,13 @@
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
gap: 4px 12px;
|
||||
color: #64748b;
|
||||
color: var(--app-text-muted, #64748b);
|
||||
font-size: 11px;
|
||||
line-height: 16px;
|
||||
}
|
||||
|
||||
.recording-skip-notice {
|
||||
color: #64748b;
|
||||
color: var(--app-text-muted, #64748b);
|
||||
font-size: 11px;
|
||||
line-height: 16px;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user