feat(*): 模型能力配置 - 支持模型级视频限制校验与协议管理
This commit is contained in:
@@ -303,16 +303,20 @@
|
||||
--motion-panel: 240ms;
|
||||
--ease-aceternity: var(--motion-ease-out);
|
||||
--ease-product-enter: cubic-bezier(0.16, 1, 0.3, 1);
|
||||
--workspace-canvas: #ffffff;
|
||||
--workspace-surface: rgba(255, 255, 255, 0.82);
|
||||
--workspace-canvas: var(--background);
|
||||
/* 页面、导航和内容区共用同一底色;卡片/浮层才允许使用 surface token。 */
|
||||
--workspace-page: var(--workspace-canvas);
|
||||
--workspace-navigation: var(--workspace-page);
|
||||
--workspace-content: var(--workspace-page);
|
||||
--workspace-surface: #ffffff;
|
||||
--workspace-surface-strong: #ffffff;
|
||||
--workspace-border: rgba(15, 23, 42, 0.14);
|
||||
--workspace-border-strong: rgba(15, 23, 42, 0.18);
|
||||
--workspace-grid-line: rgba(51, 65, 85, 0.045);
|
||||
--workspace-nav: rgba(255, 255, 255, 0.88);
|
||||
--workspace-sidebar: #f5f6f8;
|
||||
--workspace-accent: #2563eb;
|
||||
--workspace-accent-soft: #eaf1ff;
|
||||
--workspace-border: rgba(17, 17, 17, 0.14);
|
||||
--workspace-border-strong: rgba(17, 17, 17, 0.22);
|
||||
--workspace-grid-line: rgba(17, 17, 17, 0.045);
|
||||
--workspace-nav: var(--workspace-navigation);
|
||||
--workspace-sidebar: var(--workspace-navigation);
|
||||
--workspace-accent: #171717;
|
||||
--workspace-accent-soft: rgba(17, 17, 17, 0.07);
|
||||
|
||||
/* --- Semantic 层(引用 Primitive,随主题切换)--- */
|
||||
/* 通用语义色(引用 Primitive neutral 色板)*/
|
||||
@@ -423,16 +427,19 @@
|
||||
--accent-foreground: oklch(0.985 0 0);
|
||||
--destructive: oklch(0.704 0.191 22.216);
|
||||
--input: oklch(1 0 0 / 15%);
|
||||
--workspace-canvas: #0b0c0d;
|
||||
--workspace-surface: rgba(20, 21, 22, 0.72);
|
||||
--workspace-surface-strong: rgba(25, 26, 27, 0.9);
|
||||
--workspace-canvas: var(--background);
|
||||
--workspace-page: var(--workspace-canvas);
|
||||
--workspace-navigation: var(--workspace-page);
|
||||
--workspace-content: var(--workspace-page);
|
||||
--workspace-surface: #181818;
|
||||
--workspace-surface-strong: #181818;
|
||||
--workspace-border: rgba(255, 255, 255, 0.085);
|
||||
--workspace-border-strong: rgba(255, 255, 255, 0.16);
|
||||
--workspace-grid-line: rgba(255, 255, 255, 0.038);
|
||||
--workspace-nav: rgba(11, 12, 13, 0.82);
|
||||
--workspace-sidebar: #101112;
|
||||
--workspace-accent: #7da2ff;
|
||||
--workspace-accent-soft: rgba(80, 125, 230, 0.16);
|
||||
--workspace-nav: var(--workspace-navigation);
|
||||
--workspace-sidebar: var(--workspace-navigation);
|
||||
--workspace-accent: #f5f5f5;
|
||||
--workspace-accent-soft: rgba(255, 255, 255, 0.09);
|
||||
--chart-1: oklch(0.87 0 0);
|
||||
--chart-2: oklch(0.556 0 0);
|
||||
--chart-3: oklch(0.439 0 0);
|
||||
@@ -569,6 +576,7 @@
|
||||
/* Prompt 面板(对应 #98 决策2 渐进式三区)*/
|
||||
--prompt-panel-max-height: min(70vh, 640px);
|
||||
--prompt-panel-input-min-height: 72px;
|
||||
--prompt-panel-input-max-height: 224px;
|
||||
--prompt-panel-section-fs: var(--fs-body); /* 14px A区 */
|
||||
--prompt-panel-caption-fs: var(--fs-caption); /* 12px B区 */
|
||||
--prompt-panel-label-fs: var(--fs-label); /* 11px 标签 */
|
||||
@@ -610,10 +618,11 @@
|
||||
border: 0;
|
||||
overflow: hidden;
|
||||
overscroll-behavior: none;
|
||||
background: var(--background);
|
||||
background: var(--workspace-page);
|
||||
}
|
||||
body {
|
||||
@apply bg-background text-foreground;
|
||||
background: var(--workspace-page);
|
||||
color: var(--foreground);
|
||||
}
|
||||
#root {
|
||||
position: fixed;
|
||||
@@ -686,14 +695,17 @@
|
||||
|
||||
@layer utilities {
|
||||
.app-spatial-workspace {
|
||||
--workspace-canvas: #f5f5f5;
|
||||
--workspace-canvas: var(--background);
|
||||
--workspace-page: var(--workspace-canvas);
|
||||
--workspace-navigation: var(--workspace-page);
|
||||
--workspace-content: var(--workspace-page);
|
||||
--workspace-surface: rgba(255, 255, 255, 0.74);
|
||||
--workspace-surface-strong: rgba(255, 255, 255, 0.94);
|
||||
--workspace-border: rgba(17, 17, 17, 0.1);
|
||||
--workspace-border-strong: rgba(17, 17, 17, 0.2);
|
||||
--workspace-grid-line: rgba(17, 17, 17, 0.035);
|
||||
--workspace-nav: rgba(250, 250, 250, 0.86);
|
||||
--workspace-sidebar: rgba(250, 250, 250, 0.72);
|
||||
--workspace-nav: var(--workspace-navigation);
|
||||
--workspace-sidebar: var(--workspace-navigation);
|
||||
--workspace-accent: #171717;
|
||||
--workspace-accent-soft: rgba(17, 17, 17, 0.065);
|
||||
background-color: var(--workspace-canvas);
|
||||
@@ -704,22 +716,25 @@
|
||||
}
|
||||
|
||||
.dark .app-spatial-workspace {
|
||||
--workspace-canvas: #080808;
|
||||
--workspace-canvas: var(--background);
|
||||
--workspace-page: var(--workspace-canvas);
|
||||
--workspace-navigation: var(--workspace-page);
|
||||
--workspace-content: var(--workspace-page);
|
||||
--workspace-surface: rgba(18, 18, 18, 0.76);
|
||||
--workspace-surface-strong: rgba(22, 22, 22, 0.94);
|
||||
--workspace-border: rgba(255, 255, 255, 0.09);
|
||||
--workspace-border-strong: rgba(255, 255, 255, 0.18);
|
||||
--workspace-grid-line: rgba(255, 255, 255, 0.026);
|
||||
--workspace-nav: rgba(10, 10, 10, 0.88);
|
||||
--workspace-sidebar: rgba(12, 12, 13, 0.72);
|
||||
--workspace-nav: var(--workspace-navigation);
|
||||
--workspace-sidebar: var(--workspace-navigation);
|
||||
--workspace-accent: #f5f5f5;
|
||||
--workspace-accent-soft: rgba(255, 255, 255, 0.08);
|
||||
}
|
||||
|
||||
.app-workspace-shell.is-spatial {
|
||||
position: relative;
|
||||
gap: 12px;
|
||||
padding: 12px;
|
||||
gap: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.app-workspace-sidebar-scrim {
|
||||
@@ -732,24 +747,17 @@
|
||||
}
|
||||
|
||||
.app-workspace-shell.is-spatial .app-workspace-sidebar {
|
||||
border: 1px solid color-mix(in srgb, var(--foreground) 16%, transparent);
|
||||
border-radius: 8px;
|
||||
background:
|
||||
linear-gradient(145deg, color-mix(in srgb, white 10%, transparent), transparent 24%, transparent 76%, color-mix(in srgb, var(--foreground) 3%, transparent)),
|
||||
var(--workspace-sidebar);
|
||||
box-shadow:
|
||||
0 26px 70px rgba(0, 0, 0, 0.12),
|
||||
inset 0 1px 0 color-mix(in srgb, white 24%, transparent),
|
||||
inset 1px 0 0 color-mix(in srgb, white 7%, transparent);
|
||||
backdrop-filter: blur(28px) saturate(132%);
|
||||
-webkit-backdrop-filter: blur(28px) saturate(132%);
|
||||
border: 0;
|
||||
border-right: 1px solid var(--workspace-border);
|
||||
border-radius: 0;
|
||||
background: var(--workspace-navigation);
|
||||
box-shadow: none;
|
||||
backdrop-filter: none;
|
||||
-webkit-backdrop-filter: none;
|
||||
}
|
||||
|
||||
.dark .app-workspace-shell.is-spatial .app-workspace-sidebar {
|
||||
box-shadow:
|
||||
0 28px 80px rgba(0, 0, 0, 0.46),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.18),
|
||||
inset 1px 0 0 rgba(255, 255, 255, 0.055);
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
body.app-spatial-overlays {
|
||||
@@ -902,8 +910,8 @@
|
||||
}
|
||||
|
||||
.app-workspace-shell.is-spatial .app-workspace-stage {
|
||||
border-radius: 8px;
|
||||
background: color-mix(in srgb, var(--workspace-canvas) 92%, transparent);
|
||||
border-radius: 0;
|
||||
background: var(--workspace-content);
|
||||
}
|
||||
|
||||
/* 工作区保留滚轮与触控板滚动,只隐藏会形成额外竖向分割的浏览器轨道。 */
|
||||
@@ -1159,15 +1167,33 @@
|
||||
}
|
||||
|
||||
.app-user-workspace {
|
||||
background-color: var(--workspace-canvas);
|
||||
background-color: var(--workspace-page);
|
||||
}
|
||||
|
||||
.app-workspace-shell {
|
||||
background: var(--workspace-page);
|
||||
}
|
||||
|
||||
.app-workspace-sidebar {
|
||||
border-right: 1px solid var(--workspace-border);
|
||||
background: var(--workspace-sidebar);
|
||||
background: var(--workspace-navigation);
|
||||
transition: width var(--motion-state) var(--ease-aceternity);
|
||||
}
|
||||
|
||||
.app-workspace-stage,
|
||||
.app-user-content,
|
||||
.app-workspace-grid {
|
||||
background: var(--workspace-content);
|
||||
}
|
||||
|
||||
.app-workspace-page {
|
||||
background: var(--workspace-content);
|
||||
}
|
||||
|
||||
.app-workspace-navigation {
|
||||
background: var(--workspace-navigation);
|
||||
}
|
||||
|
||||
.app-workspace-nav-link.is-active {
|
||||
background: color-mix(in srgb, var(--foreground) 6%, transparent);
|
||||
color: var(--foreground);
|
||||
@@ -1260,12 +1286,12 @@
|
||||
|
||||
.app-workspace-sidebar-scroll-area.has-top-fade::before {
|
||||
top: 0;
|
||||
background: linear-gradient(to bottom, var(--workspace-surface-strong) 0%, transparent 100%);
|
||||
background: var(--workspace-navigation);
|
||||
}
|
||||
|
||||
.app-workspace-sidebar-scroll-area.has-bottom-fade::after {
|
||||
bottom: 0;
|
||||
background: linear-gradient(to top, var(--workspace-surface-strong) 0%, transparent 100%);
|
||||
background: var(--workspace-navigation);
|
||||
}
|
||||
|
||||
.workspace-signal-icon {
|
||||
@@ -1299,14 +1325,9 @@
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.app-user-content,
|
||||
.app-workspace-grid {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.creation-home {
|
||||
--creation-accent: #04a9cd;
|
||||
--creation-bg: rgba(246, 248, 251, .78);
|
||||
--creation-accent: var(--workspace-accent);
|
||||
--creation-bg: var(--workspace-page);
|
||||
--creation-surface: rgba(255, 255, 255, .68);
|
||||
--creation-surface-muted: rgba(238, 241, 245, .68);
|
||||
--creation-surface-hover: rgba(228, 232, 237, .7);
|
||||
@@ -1324,8 +1345,8 @@
|
||||
}
|
||||
|
||||
.dark .creation-home {
|
||||
--creation-accent: #06b6d4;
|
||||
--creation-bg: rgba(10, 11, 13, .86);
|
||||
--creation-accent: var(--workspace-accent);
|
||||
--creation-bg: var(--workspace-page);
|
||||
--creation-surface: rgba(27, 29, 34, .72);
|
||||
--creation-surface-muted: rgba(35, 38, 44, .68);
|
||||
--creation-surface-hover: rgba(47, 50, 58, .72);
|
||||
@@ -2301,7 +2322,7 @@
|
||||
|
||||
/* 创作首页使用独立的“编辑面 + 操作 Dock”结构,避免继承画布的面板语言。 */
|
||||
.creation-home {
|
||||
--creation-bg: #0d0e10;
|
||||
--creation-bg: var(--workspace-page);
|
||||
--creation-surface: #131519;
|
||||
--creation-surface-muted: #1e2127;
|
||||
--creation-surface-hover: #262a31;
|
||||
@@ -2317,7 +2338,7 @@
|
||||
}
|
||||
|
||||
html:not(.dark) .creation-home {
|
||||
--creation-bg: #f8f9fb;
|
||||
--creation-bg: var(--workspace-page);
|
||||
--creation-surface: #ffffff;
|
||||
--creation-surface-muted: #f0f2f5;
|
||||
--creation-surface-hover: #e9edf1;
|
||||
@@ -3735,11 +3756,11 @@
|
||||
}
|
||||
|
||||
.app-workspace-canvas {
|
||||
background: transparent;
|
||||
background: var(--workspace-content);
|
||||
}
|
||||
|
||||
.dark .app-workspace-canvas {
|
||||
background: transparent;
|
||||
background: var(--workspace-content);
|
||||
}
|
||||
|
||||
.app-spatial-surface {
|
||||
@@ -4837,8 +4858,8 @@ html[data-theme-switching="true"] :where(.canvas-node-shell, .aceternity-comet-c
|
||||
|
||||
/* 创作页是工作舞台,不使用管理台的边框、卡片和分段控件语言。 */
|
||||
.creation-home {
|
||||
--creation-accent: #dce4e9;
|
||||
--creation-bg: #0d0e10;
|
||||
--creation-accent: var(--workspace-accent);
|
||||
--creation-bg: var(--workspace-page);
|
||||
--creation-surface: #191b20;
|
||||
--creation-surface-raised: #22252b;
|
||||
--creation-text: #f2f3f4;
|
||||
@@ -4872,7 +4893,7 @@ html:not(.dark) .creation-scrollbar::-webkit-scrollbar-thumb { background-color:
|
||||
html:not(.dark) .creation-scrollbar::-webkit-scrollbar-thumb:hover { background-color: rgba(35, 41, 49, .38); }
|
||||
|
||||
html:not(.dark) .creation-home {
|
||||
--creation-bg: #f7f7f5;
|
||||
--creation-bg: var(--workspace-page);
|
||||
--creation-surface: #ffffff;
|
||||
--creation-surface-raised: #f0f1ee;
|
||||
--creation-text: #1d2024;
|
||||
@@ -5534,13 +5555,13 @@ html:not(.dark) .creation-model-picker-menu .canvas-model-picker-option > span:f
|
||||
.app-workspace-shell.is-creation-workspace,
|
||||
.app-workspace-shell.is-creation-workspace .app-workspace-sidebar,
|
||||
.app-workspace-shell.is-creation-workspace .app-workspace-stage {
|
||||
background: #0d0e10 !important;
|
||||
background: var(--workspace-page) !important;
|
||||
}
|
||||
|
||||
html:not(.dark) .app-workspace-shell.is-creation-workspace,
|
||||
html:not(.dark) .app-workspace-shell.is-creation-workspace .app-workspace-sidebar,
|
||||
html:not(.dark) .app-workspace-shell.is-creation-workspace .app-workspace-stage {
|
||||
background: #f7f7f5 !important;
|
||||
background: var(--workspace-page) !important;
|
||||
}
|
||||
|
||||
.creation-empty-workspace {
|
||||
@@ -6297,3 +6318,81 @@ html:not(.dark) .creation-history-drawer-root {
|
||||
.creation-history-drawer-root .ant-drawer-content-wrapper { width: 100vw !important; max-width: 100vw; }
|
||||
.creation-history-timeline { padding-right: 12px; padding-left: 18px; }
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------------
|
||||
Monochrome product surfaces
|
||||
页面级黑白主题收口:焦点用边框表达,浮层使用单一表面,避免渐变、米色和蓝紫光圈在不同页面漂移。
|
||||
------------------------------------------------------------------------- */
|
||||
.creation-home {
|
||||
--creation-accent: var(--workspace-accent);
|
||||
--creation-bg: var(--workspace-page);
|
||||
--creation-surface: color-mix(in srgb, var(--background) 96%, var(--foreground) 4%);
|
||||
--creation-surface-muted: color-mix(in srgb, var(--background) 91%, var(--foreground) 9%);
|
||||
--creation-surface-hover: color-mix(in srgb, var(--background) 86%, var(--foreground) 14%);
|
||||
--creation-surface-selected: color-mix(in srgb, var(--background) 80%, var(--foreground) 20%);
|
||||
--creation-border: color-mix(in srgb, var(--foreground) 14%, transparent);
|
||||
--creation-border-strong: color-mix(in srgb, var(--foreground) 24%, transparent);
|
||||
}
|
||||
|
||||
:where(.ant-input, .ant-input-affix-wrapper, .ant-input-number, .ant-select-selector, .ant-select-multiple .ant-select-selection-search-input) {
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
:where(.ant-input:focus, .ant-input-focused, .ant-input-affix-wrapper-focused, .ant-input-number-focused, .ant-select-focused .ant-select-selector) {
|
||||
border-color: var(--foreground) !important;
|
||||
box-shadow: none !important;
|
||||
outline: none !important;
|
||||
}
|
||||
|
||||
:where(.ant-input:hover, .ant-input-affix-wrapper:hover, .ant-input-number:hover, .ant-select:not(.ant-select-disabled):hover .ant-select-selector) {
|
||||
border-color: color-mix(in srgb, var(--foreground) 42%, var(--border)) !important;
|
||||
}
|
||||
|
||||
:where(.ant-select-dropdown, .ant-dropdown-menu, .ant-popover-inner, .ant-picker-dropdown .ant-picker-panel-container) {
|
||||
border: 1px solid var(--border) !important;
|
||||
border-radius: var(--r-md) !important;
|
||||
background: var(--popover) !important;
|
||||
background-image: none !important;
|
||||
box-shadow: var(--shadow-lg) !important;
|
||||
backdrop-filter: none !important;
|
||||
}
|
||||
|
||||
:where(.ant-select-item-option, .ant-dropdown-menu-item, .ant-cascader-menu-item) {
|
||||
border-radius: var(--r-sm) !important;
|
||||
color: var(--popover-foreground) !important;
|
||||
}
|
||||
|
||||
:where(.ant-select-item-option-active:not(.ant-select-item-option-disabled), .ant-dropdown-menu-item:hover, .ant-cascader-menu-item-active) {
|
||||
background: color-mix(in srgb, var(--popover-foreground) 6%, var(--popover)) !important;
|
||||
}
|
||||
|
||||
:where(.ant-select-item-option-selected:not(.ant-select-item-option-disabled), .ant-dropdown-menu-item-selected) {
|
||||
background: color-mix(in srgb, var(--popover-foreground) 12%, var(--popover)) !important;
|
||||
color: var(--popover-foreground) !important;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
:where(.ant-tag-success, .ant-tag-warning, .ant-tag-processing, .ant-tag-cyan, .ant-tag-blue, .ant-tag-green, .ant-tag-gold, .ant-tag-orange) {
|
||||
border-color: color-mix(in srgb, var(--foreground) 18%, transparent) !important;
|
||||
background: color-mix(in srgb, var(--foreground) 7%, transparent) !important;
|
||||
color: color-mix(in srgb, var(--foreground) 76%, transparent) !important;
|
||||
}
|
||||
|
||||
body.app-spatial-overlays :where(.ant-dropdown-menu, .ant-select-dropdown, .ant-popover-inner, .ant-modal-content, .ant-drawer-content, .ant-message-notice-content, .ant-notification-notice) {
|
||||
background: var(--popover) !important;
|
||||
background-image: none !important;
|
||||
box-shadow: var(--shadow-xl) !important;
|
||||
backdrop-filter: none !important;
|
||||
}
|
||||
|
||||
body.app-spatial-overlays :where(.ant-modal-mask, .ant-drawer-mask) {
|
||||
background: color-mix(in srgb, var(--foreground) 48%, transparent) !important;
|
||||
backdrop-filter: blur(3px) !important;
|
||||
}
|
||||
|
||||
.app-workspace-shell.is-spatial .app-workspace-sidebar {
|
||||
background: var(--workspace-navigation) !important;
|
||||
background-image: none !important;
|
||||
box-shadow: none !important;
|
||||
backdrop-filter: none !important;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user