@mokuyoaxis/dsh-iris 0.2.7 → 0.3.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +143 -1
- package/README.en.md +109 -311
- package/README.md +106 -309
- package/bin/dsh-iris.js +452 -92
- package/docs/AGENT_CORE_QUICKSTART.md +64 -0
- package/docs/AGENT_QUICKSTART.md +2 -0
- package/docs/ARCHITECTURE.md +13 -3
- package/docs/ARTIFACT_MANIFEST.md +4 -0
- package/docs/AUDIO_FLOWS.md +87 -0
- package/docs/BETA_SCOPE.md +42 -0
- package/docs/CONTACT_SHEET.md +62 -0
- package/docs/CORE_CONNECTIONS.md +101 -0
- package/docs/CORE_QUICKSTART.md +110 -0
- package/docs/CORE_RUNTIME_CONTRACT.md +7 -2
- package/docs/CORE_SERVICE.md +101 -0
- package/docs/CORE_SKILLS.md +35 -3
- package/docs/DSH_COMPATIBILITY.md +21 -1
- package/docs/DSH_CORE_MIGRATION.md +6 -0
- package/docs/DSH_RC2_ADAPTATION.md +1 -1
- package/docs/DSH_RUNTIME.md +6 -2
- package/docs/HEADLESS_CLI.md +30 -5
- package/docs/HOST_ADAPTER_CONTRACT.md +5 -3
- package/docs/IMAGE_FLOW.md +4 -0
- package/docs/IMAGE_GENERATION.md +127 -0
- package/docs/LOCAL_API.md +4 -2
- package/docs/LOCAL_API_CONTRACT.md +42 -15
- package/docs/LOCAL_CREATION.md +7 -1
- package/docs/LOCAL_OPERATIONS.md +46 -0
- package/docs/LOCAL_SELECTION.md +57 -0
- package/docs/LOCAL_WEB.md +207 -0
- package/docs/MCP.md +212 -0
- package/docs/MEDIA_SCHEDULING.md +72 -0
- package/docs/MUSIC.md +2 -0
- package/docs/NETWORK_RESOURCES.md +106 -0
- package/docs/NETWORK_ROUTING.md +103 -0
- package/docs/NETWORK_WORKBENCH.md +65 -0
- package/docs/PANEL_EXTENSIONS.md +64 -0
- package/docs/PLUGINS.md +193 -0
- package/docs/PLUGIN_DEVELOPMENT.md +39 -0
- package/docs/PLUGIN_STARTUP.md +113 -0
- package/docs/PROVIDER_ADAPTER_CONTRACT.md +8 -2
- package/docs/PROVIDER_CREDENTIALS.md +67 -0
- package/docs/PROVIDER_EXTENSIONS.md +82 -0
- package/docs/PROVIDER_HEALTH.md +5 -1
- package/docs/PROVIDER_NETWORK.md +45 -0
- package/docs/PROVIDER_PLUGIN_CONTRACT.md +24 -0
- package/docs/PROVIDER_SETTINGS.md +91 -0
- package/docs/PROVIDER_SUBMISSION_CONTRACT.md +8 -0
- package/docs/ROADMAP.md +18 -8
- package/docs/SECURITY.md +1 -1
- package/docs/SYNC_DELIVERY_RECOVERY.md +5 -1
- package/docs/VIDEO_FLOWS.md +89 -0
- package/docs/VISION_CLI.md +1 -1
- package/docs/VISION_MODEL.md +2 -0
- package/docs/WEB_PROTOTYPE.md +21 -6
- package/docs/WEB_RECOVERY.md +46 -0
- package/docs/WORKBENCH_ARTIFACTS.md +6 -0
- package/docs/WORKBENCH_LOGIN.md +63 -0
- package/docs/assets/screenshots/core-connections-preview.webp +0 -0
- package/docs/assets/screenshots/core-model-pools-preview.webp +0 -0
- package/docs/assets/screenshots/core-overview-preview.webp +0 -0
- package/docs/assets/screenshots/core-spectrum-preview.webp +0 -0
- package/docs/assets/screenshots/core-studio-dark-preview.webp +0 -0
- package/docs/assets/screenshots/core-studio-mobile-preview.webp +0 -0
- package/docs/assets/screenshots/core-studio-preview.webp +0 -0
- package/docs/releases/0.3.0-alpha.1.md +51 -0
- package/docs/releases/0.3.0-beta.1.md +34 -0
- package/docs/screenshots.md +41 -1
- package/lib/actions.js +56 -4
- package/lib/adapters.js +75 -49
- package/lib/api.js +23 -13
- package/lib/application-runtime.js +73 -17
- package/lib/application-writer.js +193 -0
- package/lib/audio-flow-input.js +37 -0
- package/lib/client.d.ts +3 -3
- package/lib/client.js +402 -72
- package/lib/comfyui-adapter.js +95 -0
- package/lib/comfyui-client.js +60 -0
- package/lib/comfyui-inspection.js +73 -0
- package/lib/comfyui-workflow.js +94 -0
- package/lib/command-service.js +18 -5
- package/lib/config.js +49 -10
- package/lib/configured-image-runtime.js +69 -0
- package/lib/connection-skill.js +98 -0
- package/lib/connection-template.js +23 -0
- package/lib/core-artifact-store.js +84 -28
- package/lib/core-bridge-selection.js +31 -0
- package/lib/core-bridge-tools.js +85 -0
- package/lib/core-capability-catalog.js +192 -0
- package/lib/core-connection-diagnostics.js +49 -0
- package/lib/core-connection-store.js +277 -0
- package/lib/core-connections.js +225 -0
- package/lib/core-delivery-cache.js +8 -3
- package/lib/core-maintenance.js +9 -3
- package/lib/core-runtime.js +2 -1
- package/lib/core-service-client.js +174 -0
- package/lib/core-tasks.js +113 -21
- package/lib/core-writer-lease.js +16 -0
- package/lib/creation-request-store.js +41 -64
- package/lib/doctor.js +2 -2
- package/lib/dsh-core-adapter.js +61 -9
- package/lib/dsh-host-adapter.js +4 -1
- package/lib/dsh-provider-config.js +1 -1
- package/lib/dsh-service-bridge.js +67 -0
- package/lib/execution-ownership.js +43 -0
- package/lib/flow-store.js +156 -14
- package/lib/generation-input.js +10 -1
- package/lib/headless-vision.js +7 -7
- package/lib/image-edit-input.js +1 -1
- package/lib/image-flow.js +97 -31
- package/lib/index.js +47 -22
- package/lib/local-api-projection.js +15 -6
- package/lib/local-api-token-directory.js +31 -0
- package/lib/local-api.js +861 -71
- package/lib/local-creation.js +96 -24
- package/lib/local-operations.js +36 -0
- package/lib/local-request-root.js +86 -0
- package/lib/local-web-assets.js +39 -0
- package/lib/mcp-bridge.js +58 -0
- package/lib/mcp-check.js +26 -0
- package/lib/mcp-config.js +42 -0
- package/lib/mcp-delivery.js +46 -0
- package/lib/mcp-http.js +174 -0
- package/lib/mcp-server.js +69 -0
- package/lib/media-scheduler.js +194 -0
- package/lib/model-directory-service.js +37 -10
- package/lib/model-directory.js +3 -3
- package/lib/models.js +2 -2
- package/lib/music-transport.js +6 -3
- package/lib/network-config-service.js +123 -0
- package/lib/network-config.js +127 -0
- package/lib/network-doctor.js +94 -0
- package/lib/network-management.js +51 -0
- package/lib/network-policy.js +19 -0
- package/lib/network-route-evidence.js +38 -0
- package/lib/network-routing.js +283 -0
- package/lib/operation-runner.js +281 -0
- package/lib/operation-store.js +216 -0
- package/lib/panel-extension.js +36 -0
- package/lib/plugin-contract.js +194 -0
- package/lib/plugin-execution.js +51 -0
- package/lib/plugin-launch.js +86 -0
- package/lib/plugin-operation-store.js +101 -0
- package/lib/plugin-operations.js +28 -0
- package/lib/plugin-registry.js +109 -0
- package/lib/plugin-selection.js +15 -0
- package/lib/plugin-source-image.js +5 -0
- package/lib/plugin-web-assets.js +54 -0
- package/lib/plugins.d.ts +307 -0
- package/lib/plugins.js +59 -0
- package/lib/provider-adapter.js +7 -3
- package/lib/provider-adapters.js +92 -22
- package/lib/provider-catalog.js +64 -36
- package/lib/provider-config-format.js +51 -0
- package/lib/provider-config-service.js +143 -31
- package/lib/provider-context.d.ts +90 -0
- package/lib/provider-context.js +42 -0
- package/lib/provider-credentials.js +97 -0
- package/lib/provider-diagnostics.js +56 -0
- package/lib/provider-extensions.js +29 -0
- package/lib/provider-health.js +18 -6
- package/lib/provider-monitor.js +81 -0
- package/lib/provider-network.js +52 -0
- package/lib/provider-protocol.js +73 -22
- package/lib/provider-registry.js +128 -0
- package/lib/provider-response.js +38 -0
- package/lib/provider-settings.js +136 -0
- package/lib/provider-task-runner.js +132 -43
- package/lib/provider-transport.js +16 -0
- package/lib/render.js +11 -1
- package/lib/scheduling-policy.js +66 -0
- package/lib/skill-installation.js +23 -11
- package/lib/tasks.js +3 -2
- package/lib/video-flow-input.js +16 -0
- package/lib/video-input.js +12 -5
- package/lib/vision-model-routing.js +5 -0
- package/lib/web/app.js +703 -0
- package/lib/web/appearance.js +111 -0
- package/lib/web/comfyui.js +146 -0
- package/lib/web/connections.js +516 -0
- package/lib/web/creation.js +359 -0
- package/lib/web/flow-view.js +34 -0
- package/lib/web/gallery.js +133 -0
- package/lib/web/index.html +344 -0
- package/lib/web/media-client.js +218 -0
- package/lib/web/network.js +232 -0
- package/lib/web/plugin-panel.js +223 -0
- package/lib/web/plugin-status.js +140 -0
- package/lib/web/plugin-surface.css +17 -0
- package/lib/web/providers.js +513 -0
- package/lib/web/recovery.js +105 -0
- package/lib/web/startup.js +18 -0
- package/lib/web/styles.css +571 -0
- package/lib/web/transport.js +101 -0
- package/lib/web/workbench-login.js +165 -0
- package/lib/workbench-artifacts.js +3 -2
- package/lib/workbench-auth-cli.js +47 -0
- package/lib/workbench-auth.js +200 -0
- package/package.json +24 -6
- package/plugins/contact-sheet/index.d.mts +4 -0
- package/plugins/contact-sheet/index.mjs +33 -0
- package/plugins/contact-sheet/web/board.css +14 -0
- package/plugins/contact-sheet/web/board.mjs +93 -0
- package/skills/iris-core/SKILL.md +8 -4
- package/skills/iris-core/references/cli.md +2 -2
- package/skills/iris-core/references/comfyui.md +69 -0
- package/skills/iris-core/references/tasks.md +2 -0
- package/templates/plugin-starter/LICENSE +21 -0
- package/templates/plugin-starter/README.md +74 -0
- package/templates/plugin-starter/assets/peach.png +0 -0
- package/templates/plugin-starter/assets/violet.png +0 -0
- package/templates/plugin-starter/index.mjs +27 -0
- package/templates/plugin-starter/package.json +18 -0
- package/templates/plugin-starter/scripts/core-cli.mjs +20 -0
- package/templates/plugin-starter/scripts/environment.mjs +65 -0
- package/templates/plugin-starter/scripts/mcp-probe.mjs +22 -0
- package/templates/plugin-starter/scripts/setup.mjs +42 -0
- package/templates/plugin-starter/scripts/smoke.mjs +76 -0
- package/templates/plugin-starter/web/board.css +27 -0
- package/templates/plugin-starter/web/board.mjs +160 -0
- package/templates/plugin-starter/web/png.mjs +23 -0
- package/templates/provider-starter/LICENSE +21 -0
- package/templates/provider-starter/README.md +50 -0
- package/templates/provider-starter/index.d.mts +5 -0
- package/templates/provider-starter/index.mjs +165 -0
- package/templates/provider-starter/package.json +13 -0
- package/templates/provider-starter/scripts/core-cli.mjs +22 -0
- package/templates/provider-starter/scripts/environment.mjs +122 -0
- package/templates/provider-starter/scripts/fixture.mjs +54 -0
- package/templates/provider-starter/scripts/mcp-probe.mjs +21 -0
- package/templates/provider-starter/scripts/protocol-smoke.mjs +48 -0
- package/templates/provider-starter/scripts/setup.mjs +44 -0
- package/templates/provider-starter/scripts/smoke.mjs +145 -0
- package/user_guide.md +5 -1
|
@@ -0,0 +1,571 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
color-scheme: light;
|
|
3
|
+
--iris-gradient:linear-gradient(105deg,#45317D,#6F69B8,#BB78AD,#E59B76,#ED9C91,#F0D09C);
|
|
4
|
+
--page:#fdfcfe; --panel:#fff; --rail:#f8f7fb; --ink:#302a3d; --muted:#70697b;
|
|
5
|
+
--line:#e7e3ec; --soft:#f7f6fa; --accent:#45317D; --on-accent:#fff; --tint:#f0edf8;
|
|
6
|
+
--purple:#6F69B8; --warning:#7c5b1a; --error:#a3332d;
|
|
7
|
+
font:14px/1.6 Inter,-apple-system,BlinkMacSystemFont,"Noto Sans CJK SC","PingFang SC","Microsoft YaHei",sans-serif;
|
|
8
|
+
background:var(--page); color:var(--ink);
|
|
9
|
+
}
|
|
10
|
+
:root[data-theme="dark"] {
|
|
11
|
+
color-scheme:dark; --page:#1d1a24; --panel:#26222e; --rail:#211e29; --ink:#eeeaf5; --muted:#b7aec6;
|
|
12
|
+
--line:#40394c; --soft:#2e2838; --accent:#c5b8ee; --on-accent:#2a1d48; --tint:#382d4c;
|
|
13
|
+
--purple:#b8b2ef; --warning:#edc981; --error:#ffb4ab;
|
|
14
|
+
}
|
|
15
|
+
* { box-sizing:border-box; }
|
|
16
|
+
.network-grid { align-items:stretch; }
|
|
17
|
+
#network-stats { grid-template-columns:repeat(4,minmax(0,1fr)); }
|
|
18
|
+
#network-panel .badge { flex-shrink:0; white-space:nowrap; }
|
|
19
|
+
.network-grid .network-card { --network-color:#45317D; min-width:0; position:relative; padding:20px; background:linear-gradient(135deg,color-mix(in srgb,var(--network-color) 7%,var(--panel)),var(--panel) 80%); }
|
|
20
|
+
.network-card::before { content:""; display:block; width:34px; height:3px; border-radius:3px; background:var(--network-color); margin-bottom:18px; }
|
|
21
|
+
.network-grid [data-network-tone="1"] { --network-color:#6F69B8; }.network-grid [data-network-tone="2"] { --network-color:#BB78AD; }.network-grid [data-network-tone="3"] { --network-color:#E59B76; }.network-grid [data-network-tone="4"] { --network-color:#ED9C91; }.network-grid [data-network-tone="5"] { --network-color:#F0D09C; }
|
|
22
|
+
.network-kicker { color:var(--muted); font-size:12px; letter-spacing:.04em; }
|
|
23
|
+
.network-card h3 { margin:14px 0 6px; font-size:19px; overflow-wrap:anywhere; }
|
|
24
|
+
.network-route { font-weight:550; overflow-wrap:anywhere; margin-bottom:8px; }
|
|
25
|
+
.network-card-action { padding-left:0; margin-top:12px; }
|
|
26
|
+
.network-route-note { display:block; font-size:12px; color:var(--muted); overflow-wrap:anywhere; }
|
|
27
|
+
.network-link { margin-bottom:12px; }
|
|
28
|
+
.network-setup { padding:22px; margin-bottom:20px; }.network-setup button { margin:14px 0; }.network-setup pre { white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; }
|
|
29
|
+
.network-editor { max-width:850px; }.network-editor .field-label { display:flex; flex-direction:column; gap:5px; margin-bottom:12px; }.network-editor h3 { margin:18px 0 10px; }
|
|
30
|
+
.network-node-address { display:grid; grid-template-columns:100px minmax(0,1fr) 110px; gap:12px; }
|
|
31
|
+
.network-editor .mini-check { margin:10px 0; }.network-binding-name { font-size:18px; font-weight:600; margin-bottom:16px; overflow-wrap:anywhere; }
|
|
32
|
+
.network-candidates { display:grid; gap:8px; }.network-candidate { display:flex; align-items:center; flex-wrap:wrap; gap:5px; padding:8px 10px; border:1px solid var(--line); border-radius:9px; }.network-candidate>span { flex:1; min-width:120px; overflow-wrap:anywhere; }.network-candidate button { min-height:36px; padding:5px 8px; font-size:12px; }
|
|
33
|
+
.network-candidate-add { display:flex; gap:8px; margin:12px 0; }.network-candidate-add select { flex:1; }
|
|
34
|
+
#network-doctor { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:20px; }
|
|
35
|
+
.network-doctor-card,.network-probe-card { padding:22px; min-width:0; }.network-facts { display:grid; grid-template-columns:minmax(90px,.65fr) minmax(0,1.4fr); gap:10px 16px; margin:20px 0; }.network-facts dt { color:var(--muted); }.network-facts dd { margin:0; overflow-wrap:anywhere; }
|
|
36
|
+
.network-probe-card .field-label { display:flex; flex-direction:column; gap:5px; margin:16px 0; }.network-probe-result { border-top:1px solid var(--line); padding-top:16px; margin-top:16px; overflow-wrap:anywhere; }.network-probe-result strong { display:block; margin-bottom:8px; }.network-other-row { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin:12px 0; }.network-other-row span { flex:1; overflow-wrap:anywhere; }
|
|
37
|
+
#network-other-bindings { margin-top:20px; padding:18px; }
|
|
38
|
+
@media(max-width:950px) { #network-doctor { grid-template-columns:1fr; } }
|
|
39
|
+
@media(max-width:600px) { #network-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }.network-node-address { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }.network-node-address>label:nth-child(2) { grid-column:1/-1; grid-row:2; }.network-card,.network-doctor-card,.network-probe-card { padding:17px; }.network-facts { grid-template-columns:1fr; gap:3px; }.network-facts dd { margin-bottom:12px; } }
|
|
40
|
+
[hidden] { display:none!important; }
|
|
41
|
+
body,h1,h2,h3,p,figure { margin:0; }
|
|
42
|
+
button,input,select,textarea { font:inherit; min-width:0; }
|
|
43
|
+
button { cursor:pointer; touch-action:manipulation; }
|
|
44
|
+
button,.file-button { border:1px solid transparent; border-radius:8px; min-height:42px; padding:8px 14px; font-weight:550; background:var(--accent); color:var(--on-accent); }
|
|
45
|
+
button:hover:not(:disabled) { filter:brightness(.94); }
|
|
46
|
+
button:disabled { opacity:.5; cursor:default; }
|
|
47
|
+
button.quiet,.secondary { color:var(--ink); background:transparent; }
|
|
48
|
+
.secondary { border-color:var(--line); background:var(--panel); }
|
|
49
|
+
input:not([type="file"]):not([type="checkbox"]):not([type="range"]),select,textarea { color:var(--ink); background:var(--panel); border:1px solid var(--line); border-radius:8px; padding:9px 11px; max-width:100%; min-height:42px; }
|
|
50
|
+
input,select,textarea { accent-color:var(--accent); }
|
|
51
|
+
textarea { width:100%; resize:vertical; line-height:1.7; }
|
|
52
|
+
a { color:var(--accent); }
|
|
53
|
+
:focus-visible { outline:2px solid var(--purple); outline-offset:3px; }
|
|
54
|
+
#main-content:focus-visible { outline:none; }
|
|
55
|
+
button,input,textarea,select,summary { -webkit-tap-highlight-color:transparent; }
|
|
56
|
+
h1 { font-size:25px; font-weight:650; letter-spacing:-.6px; line-height:1.4; }
|
|
57
|
+
h2 { font-size:16px; font-weight:650; } h3 { font-size:14px; }
|
|
58
|
+
.muted,.field-note,.meta { color:var(--muted); }
|
|
59
|
+
.field-note { font-size:12px; margin-top:8px; overflow-wrap:anywhere; }
|
|
60
|
+
.skip-link { position:fixed; top:-90px; left:12px; z-index:10; padding:12px; background:var(--panel); }
|
|
61
|
+
.skip-link:focus { top:8px; }
|
|
62
|
+
.app-shell { display:grid; grid-template-columns:192px minmax(0,1fr); min-height:100dvh; }
|
|
63
|
+
.startup-screen { display:none; }
|
|
64
|
+
:root:is([data-startup="pending"],[data-startup="failed"]) .startup-screen { display:flex; position:fixed; inset:0; flex-direction:column; align-items:center; justify-content:center; gap:10px; background:var(--page); color:var(--muted); }
|
|
65
|
+
:root:is([data-startup="pending"],[data-startup="failed"]) .app-shell { display:none; }
|
|
66
|
+
.startup-brand { color:var(--ink); font-size:34px; font-weight:650; letter-spacing:-1px; }
|
|
67
|
+
.startup-brand span { background:var(--iris-gradient); background-clip:text; color:transparent; }
|
|
68
|
+
.startup-message,.startup-failure { font-size:13px; }
|
|
69
|
+
.startup-failure { display:none; text-align:center; }
|
|
70
|
+
.startup-failure a { display:inline-block; margin-top:12px; }
|
|
71
|
+
:root[data-startup="failed"] .startup-message { display:none; }
|
|
72
|
+
:root[data-startup="failed"] .startup-failure { display:block; }
|
|
73
|
+
body:not(.connected) .app-shell { grid-template-columns:minmax(0,1fr); }
|
|
74
|
+
body.connected .site-header { position:sticky; top:0; z-index:8; }
|
|
75
|
+
.provider-sections { margin-bottom:20px; }
|
|
76
|
+
.provider-pool-panel { padding:20px; max-width:1000px; }
|
|
77
|
+
.provider-pool-panel fieldset { border:0; padding:0; margin:0; min-width:0; }
|
|
78
|
+
.provider-footer { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:18px; }
|
|
79
|
+
.provider-footer .field-note { flex-basis:100%; }
|
|
80
|
+
.provider-spectrum { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:18px 0; }
|
|
81
|
+
.provider-spectrum-card { --spectrum-tone:#45317D; min-width:0; text-align:left; padding:16px; color:var(--ink); background:linear-gradient(125deg,color-mix(in srgb,var(--spectrum-tone) 7%,var(--panel)),var(--panel)); border:1px solid var(--line); border-top:3px solid color-mix(in srgb,var(--spectrum-tone) 65%,var(--line)); border-radius:12px; }
|
|
82
|
+
.provider-spectrum-card[data-tone="1"] { --spectrum-tone:#6F69B8; }.provider-spectrum-card[data-tone="2"] { --spectrum-tone:#BB78AD; }.provider-spectrum-card[data-tone="3"] { --spectrum-tone:#E59B76; }.provider-spectrum-card[data-tone="4"] { --spectrum-tone:#ED9C91; }.provider-spectrum-card[data-tone="5"] { --spectrum-tone:#F0D09C; }
|
|
83
|
+
.provider-spectrum-card strong,.provider-spectrum-card small { display:block; }.provider-spectrum-card small { font-size:11px; color:var(--muted); font-weight:400; margin-top:7px; }
|
|
84
|
+
.provider-health-details { padding:16px 20px; }.provider-health-details>summary { display:flex; justify-content:space-between; cursor:pointer; }
|
|
85
|
+
.provider-health-model { margin-top:14px; padding-top:14px; border-top:1px solid var(--line); min-width:0; }.provider-health-model strong { overflow-wrap:anywhere; }
|
|
86
|
+
.provider-check-heading { margin:26px 0 8px; }
|
|
87
|
+
.provider-monitor { padding:18px; min-width:0; }.provider-monitor h3 { overflow-wrap:anywhere; }.provider-monitor .field-note { margin:10px 0; }
|
|
88
|
+
.provider-monitor-options { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:12px; font-size:12px; }.provider-monitor-options label { display:flex; align-items:center; gap:6px; }
|
|
89
|
+
.provider-rank-row { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }.provider-rank-row label { flex:1; }.provider-rank-row button { font-size:11px; min-height:30px; padding:3px 9px; }
|
|
90
|
+
@media(max-width:640px) { .provider-spectrum { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }.provider-spectrum-card { padding:13px; }.provider-pool-panel { padding:16px; }.provider-sections { gap:3px; }.provider-sections button { padding-inline:9px; } }
|
|
91
|
+
.app-sidebar { position:sticky; top:0; height:100dvh; padding:28px 14px 18px; background:var(--rail); border-right:1px solid var(--line); display:flex; flex-direction:column; min-width:0; }
|
|
92
|
+
.brand { display:flex; align-items:center; gap:9px; color:var(--ink); text-decoration:none; padding:0 9px; font-size:30px; font-weight:700; letter-spacing:-1px; }
|
|
93
|
+
.brand-dot { color:var(--purple); }
|
|
94
|
+
.sidebar-label { color:var(--muted); font-size:12px; margin:32px 12px 9px; }
|
|
95
|
+
.workspace-nav { display:grid; gap:5px; }
|
|
96
|
+
.plugin-navigation { display:grid; gap:5px; border-top:1px solid var(--line); padding-top:8px; margin-top:5px; }
|
|
97
|
+
.plugin-slot { min-width:0; }
|
|
98
|
+
.plugins-panel { max-width:1040px; margin:0 auto 32px; }
|
|
99
|
+
.plugin-status-list { display:grid; gap:14px; margin:18px 0; }
|
|
100
|
+
.plugin-status-card { overflow:hidden; border-top:2px solid color-mix(in srgb,var(--purple) 35%,var(--line)); }
|
|
101
|
+
.plugin-status-card>summary { display:flex; align-items:center; gap:14px; padding:18px 20px; cursor:pointer; list-style:none; }
|
|
102
|
+
.plugin-status-card>summary::-webkit-details-marker { display:none; }
|
|
103
|
+
.plugin-status-mark { display:grid; place-items:center; width:40px; height:40px; border-radius:12px; flex-shrink:0; color:var(--accent); background:var(--tint); font-size:24px; }
|
|
104
|
+
.plugin-status-title { flex:1; min-width:0; }.plugin-status-title strong,.plugin-status-title small { display:block; overflow-wrap:anywhere; }.plugin-status-title small { color:var(--muted); font-size:12px; margin-top:4px; }
|
|
105
|
+
.plugin-state { display:inline-block; color:var(--accent); background:var(--tint); padding:3px 9px; border-radius:20px; font-size:11px; flex-shrink:0; }
|
|
106
|
+
.plugin-status-body { padding:0 20px 20px; }.plugin-identity { font-size:11px; color:var(--muted); overflow-wrap:anywhere; }
|
|
107
|
+
.plugin-contribution-status,.plugin-grants,.plugin-instances { list-style:none; padding:0; margin:12px 0; }
|
|
108
|
+
.plugin-contribution-status { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
|
|
109
|
+
.plugin-contribution-status>li { min-width:0; padding:14px; border:1px solid var(--line); border-radius:10px; }.plugin-contribution-status strong { display:block; overflow-wrap:anywhere; }
|
|
110
|
+
.plugin-kind { display:block; color:var(--muted); font-size:11px; margin-bottom:4px; }.plugin-contribution-status .plugin-identity { margin-top:6px; }
|
|
111
|
+
.plugin-grant { padding:14px 0; border-bottom:1px solid var(--line); }.plugin-grant:last-child { border-bottom:0; }.plugin-grant-heading { margin-bottom:6px; overflow-wrap:anywhere; }.plugin-grant[data-status="version"]>.plugin-state,.plugin-grant[data-status="missing"]>.plugin-state { color:var(--warning); background:var(--soft); }
|
|
112
|
+
.plugin-instances { color:var(--muted); font-size:12px; margin:8px 0 0; }
|
|
113
|
+
.plugin-missing-section { padding:20px; margin:18px 0; }.plugin-status-footer { display:flex; gap:16px; align-items:center; justify-content:space-between; flex-wrap:wrap; margin:20px 0; }.plugin-status-footer p { max-width:650px; margin:0; }.plugin-status-help code { display:block; font-size:11px; overflow-wrap:anywhere; padding:8px 0; }
|
|
114
|
+
@media(max-width:640px) { .plugin-status-card>summary { flex-wrap:wrap; gap:10px; padding:15px; }.plugin-status-title { flex-basis:calc(100% - 60px); }.plugin-status-card>summary>.plugin-state { margin-left:50px; }.plugin-status-card>summary>.disclosure { margin-left:auto; }.plugin-status-body { padding:0 15px 15px; }.plugin-contribution-status { grid-template-columns:minmax(0,1fr); }.plugin-missing-section { padding:15px; } }
|
|
115
|
+
.plugin-slot.card { padding:20px; }
|
|
116
|
+
.plugin-settings-card { margin-bottom:12px; padding:16px; }
|
|
117
|
+
.plugin-history-item { padding:20px; margin:14px 0; }
|
|
118
|
+
.plugin-history-item h2 { overflow-wrap:anywhere; }
|
|
119
|
+
.plugin-history-item img { display:block; max-width:100%; max-height:500px; object-fit:contain; margin:16px 0; }
|
|
120
|
+
.plugin-settings-card>summary { display:flex; justify-content:space-between; align-items:center; cursor:pointer; }
|
|
121
|
+
.plugin-settings-card>.plugin-slot { padding-top:14px; }
|
|
122
|
+
.plugin-preview { margin-top:16px; border-top:1px solid var(--line); padding-top:12px; }
|
|
123
|
+
.plugin-preview-options { display:flex; flex-wrap:wrap; gap:12px; margin:12px 0; }
|
|
124
|
+
.plugin-preview-options label { display:grid; gap:5px; min-width:150px; flex:1; color:var(--muted); font-size:12px; }
|
|
125
|
+
@media(max-width:850px) { .workspace-nav .plugin-navigation { display:contents; } }
|
|
126
|
+
.nav-item { display:flex; align-items:center; gap:10px; width:100%; text-align:left; color:var(--muted); background:transparent; font-size:14px; min-height:44px; }
|
|
127
|
+
.nav-item svg { width:19px; height:19px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
|
|
128
|
+
.nav-item>span:first-child { color:var(--purple); font-size:20px; min-width:21px; text-align:center; }
|
|
129
|
+
.nav-item[aria-current="page"] { color:var(--ink); background:var(--panel); border-color:var(--line); }
|
|
130
|
+
.count { font-size:12px; font-weight:400; color:var(--muted); }
|
|
131
|
+
.recent-panel { margin-top:26px; min-height:0; overflow:auto; }
|
|
132
|
+
.recent-panel>summary { padding-inline:8px; font-size:12px; }
|
|
133
|
+
#history-list { display:grid; gap:4px; }
|
|
134
|
+
.history-item { display:grid; grid-template-columns:18px minmax(0,1fr); gap:2px 6px; text-align:left; width:100%; background:transparent; color:var(--ink); padding:9px 8px; }
|
|
135
|
+
.history-item strong { font-size:12px; font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
|
|
136
|
+
.history-item small { grid-row:span 2; font-size:12px; color:var(--muted); }
|
|
137
|
+
.history-item span { grid-column:2; font-size:12px; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
|
|
138
|
+
.history-item[aria-current="true"] { background:var(--panel); border-color:var(--line); }
|
|
139
|
+
#history-empty { padding:10px 8px; font-size:12px; }
|
|
140
|
+
.sidebar-bottom { margin-top:auto; padding-top:18px; border-top:1px solid var(--line); display:flex; gap:9px; font-size:12px; }
|
|
141
|
+
.sidebar-bottom small { display:block; color:var(--muted); font-size:12px; }
|
|
142
|
+
.workspace-avatar { display:grid; place-items:center; width:32px; height:36px; background:var(--tint); color:var(--accent); border-radius:8px; font:italic 27px Georgia,serif; }
|
|
143
|
+
.main-area { min-width:0; position:relative; isolation:isolate; }
|
|
144
|
+
.main-area::before { content:""; position:fixed; z-index:-1; inset:0; pointer-events:none; background-image:var(--workspace-image,none); background-position:var(--background-position,center); background-size:cover; opacity:var(--background-opacity,.14); filter:blur(var(--background-blur,0px)); }
|
|
145
|
+
.site-header { min-height:60px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 26px; background:var(--panel); }
|
|
146
|
+
.breadcrumb { color:var(--muted); font-size:12px; } .breadcrumb>span { padding:0 10px; opacity:.6; } .breadcrumb strong { color:var(--ink); font-weight:500; }
|
|
147
|
+
.header-actions { display:flex; gap:4px; align-items:center; }
|
|
148
|
+
.badge { font-size:12px; font-weight:550; padding:4px 9px; border-radius:20px; background:var(--tint); color:var(--accent); }
|
|
149
|
+
main { padding:24px 26px 0; max-width:1600px; margin:auto; min-width:0; }
|
|
150
|
+
.card { background:var(--panel); border:1px solid var(--line); border-radius:13px; min-width:0; }
|
|
151
|
+
.eyebrow { font-size:12px; letter-spacing:1.5px; font-weight:500; color:var(--muted); margin-bottom:5px; }
|
|
152
|
+
.page-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:2px 0 22px; }
|
|
153
|
+
.page-heading>.secondary { flex-shrink:0; } .page-heading p.muted { font-size:13px; margin-top:7px; }
|
|
154
|
+
.page-heading>button { flex-shrink:0; white-space:nowrap; }
|
|
155
|
+
.overview-panel { max-width:1120px; margin:0 auto 32px; }
|
|
156
|
+
.overview-welcome { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:26px 28px; position:relative; overflow:hidden; background:linear-gradient(115deg,var(--panel) 65%,var(--soft)); }
|
|
157
|
+
.overview-welcome::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--iris-gradient); }
|
|
158
|
+
.overview-welcome h1 { font-size:27px; letter-spacing:-.6px; }
|
|
159
|
+
.overview-welcome .muted { margin-top:8px; font-size:13px; }
|
|
160
|
+
.overview-welcome-actions { display:flex; flex-shrink:0; gap:8px; }
|
|
161
|
+
.overview-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:18px 0 26px; }
|
|
162
|
+
.overview-stats>div { min-width:0; padding:4px 0 4px 16px; border-left:2px solid var(--line); }
|
|
163
|
+
.overview-stats dt { color:var(--muted); font-size:12px; }.overview-stats dd { margin:3px 0 0; font-size:21px; font-weight:600; line-height:1.5; }
|
|
164
|
+
.overview-stat-note { display:block; color:var(--muted); font-size:11px; margin-top:3px; }
|
|
165
|
+
.overview-section-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
|
|
166
|
+
.overview-section-heading h2 { font-size:17px; }.overview-section-heading p { font-size:12px; margin-top:3px; }
|
|
167
|
+
.overview-section-heading button { flex-shrink:0; font-size:12px; }
|
|
168
|
+
.overview-capabilities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
|
|
169
|
+
.overview-capability { --cap-tone:#45317D; padding:18px; display:flex; flex-direction:column; border-top-color:color-mix(in srgb,var(--cap-tone) 25%,var(--line)); }
|
|
170
|
+
.overview-capability[data-provider-tone="1"] { --cap-tone:#6F69B8; }.overview-capability[data-provider-tone="2"] { --cap-tone:#BB78AD; }
|
|
171
|
+
.overview-capability[data-provider-tone="3"] { --cap-tone:#E59B76; }.overview-capability[data-provider-tone="4"] { --cap-tone:#ED9C91; }.overview-capability[data-provider-tone="5"] { --cap-tone:#F0D09C; }
|
|
172
|
+
.overview-capability-heading { display:flex; gap:9px; align-items:center; }.overview-capability-heading h3 { font-size:15px; font-weight:600; }
|
|
173
|
+
.overview-capability-icon { display:grid; place-items:center; width:34px; height:34px; flex-shrink:0; border-radius:10px; background:color-mix(in srgb,var(--cap-tone) 10%,var(--panel)); color:color-mix(in srgb,var(--cap-tone) 50%,var(--ink)); }
|
|
174
|
+
.overview-capability-icon svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
|
|
175
|
+
.overview-entry { margin-left:auto; font-size:10px; color:var(--muted); background:var(--soft); padding:2px 7px; border-radius:5px; white-space:nowrap; }
|
|
176
|
+
.overview-capability-description { font-size:12px; color:var(--muted); margin:12px 0 14px; }
|
|
177
|
+
.overview-capability-facts { display:grid; grid-template-columns:auto minmax(0,1fr); gap:6px 12px; margin:0 0 14px; font-size:11px; }
|
|
178
|
+
.overview-capability-facts dt { color:var(--muted); }.overview-capability-facts dd { margin:0; overflow-wrap:anywhere; }
|
|
179
|
+
.overview-capability-actions { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:auto; min-height:36px; }
|
|
180
|
+
.overview-capability-actions button { font-size:11px; padding:5px 10px; min-height:34px; }.overview-capability-actions .quiet { color:var(--accent); }
|
|
181
|
+
.overview-action-note { font-size:11px; color:var(--muted); }
|
|
182
|
+
.overview-capability-more { margin-top:12px; border-top:1px solid var(--line); padding-top:10px; }
|
|
183
|
+
.overview-capability-more summary { color:var(--muted); font-size:11px; font-weight:400; }.overview-capability-more p { font-size:11px; margin-top:9px; color:var(--muted); overflow-wrap:anywhere; }
|
|
184
|
+
.overview-command { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; }.overview-evidence-time { display:block; font-size:10px; color:var(--muted); margin-top:9px; }
|
|
185
|
+
.overview-tools { margin-top:18px; padding:15px 18px; }.overview-tools>summary { font-size:13px; font-weight:500; }.overview-tools>summary small { font-size:11px; font-weight:400; color:var(--muted); margin-left:7px; }
|
|
186
|
+
.overview-tool-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; padding:20px 0 3px; }
|
|
187
|
+
.overview-tool-grid h3 { font-size:12px; }.overview-tool-grid p,.overview-tool-grid code { display:block; font-size:11px; color:var(--muted); margin-top:6px; overflow-wrap:anywhere; }
|
|
188
|
+
.overview-notes { margin:16px 3px; }.overview-notes summary { font-size:11px; color:var(--muted); font-weight:400; }.overview-notes p { font-size:11px; color:var(--muted); margin-top:8px; max-width:760px; }
|
|
189
|
+
@media(max-width:1100px) { .overview-capabilities { grid-template-columns:repeat(2,minmax(0,1fr)); }.overview-welcome { padding:22px; flex-wrap:wrap; } }
|
|
190
|
+
@media(max-width:640px) {
|
|
191
|
+
.overview-welcome { padding:22px 18px; gap:18px; }.overview-welcome h1 { font-size:23px; }.overview-welcome-actions { width:100%; }.overview-welcome-actions button { flex:1; font-size:12px; }
|
|
192
|
+
.overview-stats { gap:9px; margin-bottom:22px; }.overview-stats>div { padding-left:9px; }.overview-stats dd { font-size:16px; }.overview-stat-note { font-size:10px; }
|
|
193
|
+
.overview-capabilities { grid-template-columns:1fr; gap:12px; }.overview-capability { padding:16px; }.overview-capability-actions button { min-height:40px; padding-inline:12px; }
|
|
194
|
+
.overview-tool-grid { grid-template-columns:1fr; gap:18px; }.overview-tools>summary small { display:none; }
|
|
195
|
+
}
|
|
196
|
+
.connection { max-width:500px; margin:7vh auto 12vh; padding:36px; position:relative; overflow:hidden; }
|
|
197
|
+
.connection::before { content:""; position:absolute; inset:0 0 auto; height:4px; background:var(--iris-gradient); }
|
|
198
|
+
.brand-dot { background:var(--iris-gradient); background-clip:text; color:transparent; }
|
|
199
|
+
.nav-item[aria-current="page"] { box-shadow:inset 3px 0 var(--accent); }
|
|
200
|
+
.eyebrow::before { content:""; display:inline-block; width:20px; height:3px; vertical-align:middle; margin-right:8px; border-radius:2px; background:var(--iris-gradient); }
|
|
201
|
+
.connection .eyebrow { color:var(--purple); } .connection h1 { font-size:29px; }
|
|
202
|
+
html[data-auth="password"] #login-help,html[data-auth="password"] #paste-panel { display:none; }
|
|
203
|
+
#password-form { display:grid; gap:9px; margin-top:22px; }
|
|
204
|
+
#password-form>label,#password-confirm-row>label { color:var(--ink); font-size:13px; font-weight:550; }
|
|
205
|
+
.password-row { display:flex; align-items:stretch; gap:6px; border:1px solid var(--line); border-radius:10px; padding-right:4px; background:var(--panel); }
|
|
206
|
+
.password-row:focus-within { outline:2px solid var(--purple); outline-offset:2px; }
|
|
207
|
+
.password-row input { min-width:0; flex:1; border:0; background:transparent; box-shadow:none; outline:0; }
|
|
208
|
+
.password-row button { font-size:12px; min-width:46px; }
|
|
209
|
+
#password-confirm-row { display:grid; gap:9px; margin-top:5px; }
|
|
210
|
+
#password-confirm { width:100%; }
|
|
211
|
+
#password-form .password-remember { display:flex; align-items:center; gap:9px; margin:8px 0 9px; font-weight:400; cursor:pointer; }
|
|
212
|
+
.password-remember input { width:16px; height:16px; accent-color:var(--accent); }
|
|
213
|
+
.password-remember small { color:var(--muted); margin-left:5px; font-weight:400; }
|
|
214
|
+
.password-help { margin-top:18px; color:var(--muted); font-size:12px; }
|
|
215
|
+
.password-help p { line-height:1.8; margin:6px 0 10px; }
|
|
216
|
+
.password-help code { display:block; overflow-wrap:anywhere; font-size:11px; }
|
|
217
|
+
.intro { margin:12px 0 24px; color:var(--muted); }
|
|
218
|
+
.file-button { display:block; text-align:center; position:relative; cursor:pointer; }
|
|
219
|
+
.file-button:focus-within,.image-drop:focus-within { outline:2px solid var(--purple); outline-offset:3px; }
|
|
220
|
+
.file-button input,.image-drop input { position:absolute; inset:0; width:100%; opacity:0; cursor:pointer; }
|
|
221
|
+
#token-help { font-size:12px; margin:12px 0 18px; }
|
|
222
|
+
summary { list-style:none; cursor:pointer; min-height:42px; display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:13px; font-weight:550; }
|
|
223
|
+
summary::-webkit-details-marker { display:none; } .disclosure { color:var(--muted); font-size:12px; font-weight:400; white-space:nowrap; }
|
|
224
|
+
#connect-form { margin-top:8px; } #connect-form label { font-size:12px; color:var(--muted); }
|
|
225
|
+
.token-row { display:flex; gap:8px; margin-top:6px; } .token-row input { flex:1; }
|
|
226
|
+
.scope-note { font-size:12px; color:var(--muted); padding-top:18px; margin-top:12px; border-top:1px solid var(--line); }
|
|
227
|
+
#feedback,#creation-feedback,#connections-feedback { padding:10px 14px; border-radius:8px; background:var(--tint); overflow-wrap:anywhere; font-size:13px; }
|
|
228
|
+
#feedback,#connections-feedback { margin-bottom:16px; }
|
|
229
|
+
.error { color:var(--error)!important; }
|
|
230
|
+
.compact-details { padding:4px 15px; }
|
|
231
|
+
.compact-details summary small,.composer summary small { display:block; font-weight:400; color:var(--muted); font-size:12px; }
|
|
232
|
+
.compact-details p,.compact-details ul { font-size:12px; margin:10px 0; overflow-wrap:anywhere; }
|
|
233
|
+
.compact-details ul { padding-left:16px; max-height:180px; overflow:auto; }
|
|
234
|
+
#recovery-panel { margin-bottom:18px; }
|
|
235
|
+
#recovery-list { list-style:none; padding:0; max-height:300px; }
|
|
236
|
+
#recovery-list li { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:8px 0; border-top:1px solid var(--line); }
|
|
237
|
+
.full { width:100%; margin-top:12px; }
|
|
238
|
+
.studio-grid { display:grid; grid-template-columns:minmax(0,1fr) 306px; gap:20px; align-items:start; }
|
|
239
|
+
.composer { grid-column:2; grid-row:1; padding-bottom:14px; }
|
|
240
|
+
.composer>summary { padding:14px 18px; border-bottom:1px solid var(--line); min-height:64px; font-size:14px; }
|
|
241
|
+
#edit-form { padding:0 18px; } fieldset { padding:0; margin:0; min-width:0; border:0; }
|
|
242
|
+
.field-label { display:flex; justify-content:space-between; gap:8px; margin:17px 0 8px; font-size:13px; font-weight:550; }
|
|
243
|
+
.field-label small { font-size:12px; font-weight:400; color:var(--muted); }
|
|
244
|
+
#model,#edit-size { width:100%; }
|
|
245
|
+
.comfy-studio,.comfy-preview { margin-top:14px; padding:12px; border:1px solid var(--line); border-radius:12px; background:var(--panel); min-width:0; }
|
|
246
|
+
.comfy-studio { position:relative; overflow:hidden; border-top:3px solid var(--purple); }
|
|
247
|
+
.comfy-studio::before { content:""; position:absolute; inset:0; pointer-events:none; background:var(--iris-gradient); opacity:0; animation:comfy-arrive .65s ease-out; }
|
|
248
|
+
@keyframes comfy-arrive { 0% { opacity:.14; transform:translateX(-75%); } 100% { opacity:0; transform:translateX(75%); } }
|
|
249
|
+
.comfy-studio h3,.comfy-preview h3 { font-size:13px; }
|
|
250
|
+
.comfy-group { margin-top:10px; border-top:1px solid var(--line); padding-top:3px; min-width:0; }
|
|
251
|
+
.comfy-group>summary { min-height:36px; gap:8px; font-size:12px; overflow-wrap:anywhere; }
|
|
252
|
+
.comfy-group>summary>span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; }
|
|
253
|
+
.comfy-common,.comfy-parameter-grid { display:grid; gap:10px; margin-top:10px; }
|
|
254
|
+
.comfy-parameter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
|
|
255
|
+
.comfy-parameter-grid .comfy-parameter:has(select),.comfy-parameter-grid .comfy-parameter:has(input[type=text]) { grid-column:1/-1; }
|
|
256
|
+
.comfy-parameter { display:grid; gap:4px; font-size:12px; min-width:0; margin-top:8px; overflow-wrap:anywhere; }
|
|
257
|
+
.comfy-parameter input:not([type=checkbox]),.comfy-parameter select,.comfy-parameter textarea { width:100%; min-height:36px; padding:6px 8px; font-size:13px; }
|
|
258
|
+
.comfy-parameter:has(input[type=checkbox]) { display:flex; align-items:center; justify-content:space-between; }
|
|
259
|
+
.comfy-lora { padding:5px 9px; border:1px solid var(--line); border-radius:9px; background:color-mix(in srgb,var(--purple) 5%,var(--panel)); }
|
|
260
|
+
.comfy-slot { display:grid; grid-template-columns:minmax(0,1fr) minmax(100px,1fr) 72px; gap:8px; align-items:center; padding:8px 0; border-bottom:1px solid var(--line); }
|
|
261
|
+
.comfy-slot .mini-check { overflow-wrap:anywhere; font-size:11px; }
|
|
262
|
+
.comfy-slot input:not([type=checkbox]),.comfy-slot select { width:100%; min-height:34px; padding:5px 7px; font-size:12px; }
|
|
263
|
+
.comfy-confirm { padding:12px; margin-top:12px; border:1px solid var(--line); border-radius:9px; background:var(--tint); font-size:12px; }
|
|
264
|
+
.comfy-record { padding-block:12px; border-bottom:1px solid var(--line); }
|
|
265
|
+
.comfy-record dl { display:grid; grid-template-columns:minmax(80px,1fr) minmax(0,2fr); gap:5px 14px; margin:10px 0; font-size:12px; }
|
|
266
|
+
.comfy-record dt { color:var(--muted); overflow-wrap:anywhere; }.comfy-record dd { margin:0; overflow-wrap:anywhere; white-space:pre-wrap; }
|
|
267
|
+
@media(max-width:640px) { .comfy-slot { grid-template-columns:minmax(0,1fr) 72px; }.comfy-slot .mini-check { grid-column:1/-1; } }
|
|
268
|
+
@media(prefers-reduced-motion:reduce) { .comfy-studio::before { animation:none; } }
|
|
269
|
+
.image-drop { display:flex; align-items:center; gap:10px; position:relative; border:1px dashed var(--line); border-radius:9px; padding:10px; background:var(--soft); min-height:73px; cursor:pointer; overflow:hidden; }
|
|
270
|
+
.image-drop.dragging { border-color:var(--purple); background:var(--tint); }
|
|
271
|
+
.image-drop>span:nth-of-type(1) { min-width:0; flex:1; }
|
|
272
|
+
.image-drop strong { display:block; font-size:13px; font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
|
|
273
|
+
.image-drop small { display:block; font-size:12px; color:var(--muted); margin-top:3px; }
|
|
274
|
+
.image-drop img { width:44px; height:52px; object-fit:cover; border-radius:5px; }
|
|
275
|
+
.upload-arrow { font-size:24px; color:var(--purple); }
|
|
276
|
+
#creation-help { text-align:center; min-height:38px; } #creation-feedback { margin-top:12px; }
|
|
277
|
+
.composer-note { font-size:12px; color:var(--muted); margin:14px 18px 0; border-top:1px solid var(--line); padding-top:12px; }
|
|
278
|
+
.tool-details { border-block:1px solid var(--line); padding:3px 0; margin-top:14px; }
|
|
279
|
+
.tool-details small { font-size:12px; color:var(--muted); font-weight:400; margin-left:6px; }
|
|
280
|
+
.viewer { grid-column:1; grid-row:1; padding:0 16px 12px; min-width:0; overflow:hidden; }
|
|
281
|
+
.canvas-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:8px; min-height:66px; }
|
|
282
|
+
.canvas-label { font-size:13px; font-weight:550; margin-right:auto; }
|
|
283
|
+
.view-switch { display:inline-flex; gap:2px; max-width:100%; border:1px solid var(--line); background:var(--soft); border-radius:8px; padding:3px; }
|
|
284
|
+
.view-switch button { min-height:36px; padding:5px 10px; font-size:12px; background:transparent; color:var(--muted); }
|
|
285
|
+
.view-switch button[aria-pressed="true"] { background:var(--panel); color:var(--ink); border-color:var(--line); }
|
|
286
|
+
.viewer-empty { min-height:440px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; text-align:center; padding:24px; border-radius:9px; background:var(--soft); }
|
|
287
|
+
.viewer-empty h2 { font-size:20px; } .viewer-empty p { max-width:290px; font-size:13px; }
|
|
288
|
+
.empty-mark { font-size:50px; color:var(--purple); font-weight:300; }
|
|
289
|
+
#draft-preview { width:100%; max-height:420px; object-fit:contain; }
|
|
290
|
+
.viewer-empty:has(#draft-preview:not([hidden]))>:not(img) { display:none; }
|
|
291
|
+
.image-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
|
|
292
|
+
#run-view[data-has-output="false"] .image-pair { grid-template-columns:minmax(0,1fr); }
|
|
293
|
+
#run-view[data-has-output="false"] #output-card { display:none; }
|
|
294
|
+
.image-card { min-width:0; border:1px solid var(--line); border-radius:9px; overflow:hidden; background:var(--soft); }
|
|
295
|
+
.image-card.is-selected { border-color:var(--accent); }
|
|
296
|
+
figcaption { display:flex; justify-content:space-between; align-items:center; gap:6px; padding:9px 10px; font-size:12px; }
|
|
297
|
+
.selected-label { font-size:12px; color:var(--accent); }
|
|
298
|
+
.image-stage { display:grid; place-items:center; position:relative; min-height:0; height:clamp(230px,28vw,380px); width:100%; padding:10px; background:radial-gradient(#d9d9dc .7px,transparent .7px) 0 0/10px 10px #f5f5f6; border:0; color:#64646a; border-radius:0; cursor:zoom-in; }
|
|
299
|
+
.image-stage img { width:100%; height:100%; min-height:0; object-fit:contain; border-radius:3px; }
|
|
300
|
+
.image-stage span { font-size:12px; overflow-wrap:anywhere; font-weight:400; }
|
|
301
|
+
#run-view[data-has-output="false"] .image-stage { height:clamp(300px,32vw,430px); }
|
|
302
|
+
.image-dimensions { text-align:center; font-size:12px; color:var(--muted); min-height:25px; padding:2px 0 6px; }
|
|
303
|
+
.choice-button { width:100%; border:0; border-top:1px solid var(--line); color:var(--ink); background:var(--panel); border-radius:0; min-height:44px; font-size:13px; }
|
|
304
|
+
.choice-button[aria-pressed="true"] { color:var(--accent); background:var(--tint); }
|
|
305
|
+
.run-heading { margin-top:14px; padding:12px; background:var(--soft); border-radius:9px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
|
|
306
|
+
.run-heading h2 { font-size:15px; } #status-message { margin-top:3px; font-size:13px; }
|
|
307
|
+
#run-view[data-tone="warning"] #status-title { color:var(--warning); }
|
|
308
|
+
.result-actions { display:flex; gap:14px; justify-content:space-between; align-items:center; margin:14px 0 8px; }
|
|
309
|
+
.result-actions p { font-size:12px; color:var(--muted); } .result-actions button { flex-shrink:0; font-size:13px; }
|
|
310
|
+
.reuse-actions { display:flex; justify-content:space-between; align-items:center; gap:8px; flex-wrap:wrap; }
|
|
311
|
+
.meta { font-size:12px; overflow-wrap:anywhere; }
|
|
312
|
+
.run-details { margin-top:9px; padding-top:5px; border-top:1px solid var(--line); }
|
|
313
|
+
#prompt { font-size:13px; white-space:pre-wrap; overflow-wrap:anywhere; max-height:180px; overflow:auto; margin-top:7px; }
|
|
314
|
+
dl { display:grid; grid-template-columns:74px minmax(0,1fr); gap:8px 12px; font-size:12px; margin:12px 0; }
|
|
315
|
+
dt { color:var(--muted); } dd { margin:0; overflow-wrap:anywhere; } .run-details>p { font-size:12px; }
|
|
316
|
+
.overlay-stage { position:relative; height:clamp(300px,33vw,430px); background:#f5f5f6; border-radius:9px; overflow:hidden; }
|
|
317
|
+
:root[data-theme="dark"] .image-stage,:root[data-theme="dark"] .overlay-stage { background-color:#262628; }
|
|
318
|
+
.overlay-stage img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
|
|
319
|
+
#overlay-output { clip-path:inset(0 0 0 var(--split,50%)); }
|
|
320
|
+
.overlay-view label { display:flex; gap:12px; align-items:center; font-size:12px; padding:12px 0 0; } #compare-split { min-width:0; flex:1; min-height:32px; }
|
|
321
|
+
.gallery-toolbar { display:flex; gap:10px; align-items:center; justify-content:space-between; margin-bottom:15px; }
|
|
322
|
+
.gallery-filters span { font-size:12px; }
|
|
323
|
+
.gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
|
|
324
|
+
.gallery-card { display:block; width:100%; text-align:left; padding:0; border:1px solid var(--line); border-radius:12px; overflow:hidden; color:var(--ink); background:var(--panel); }
|
|
325
|
+
.gallery-cover { display:grid; place-items:center; height:clamp(180px,19vw,280px); background:var(--soft); position:relative; }
|
|
326
|
+
.gallery-cover img { width:100%; height:100%; object-fit:cover; }
|
|
327
|
+
.gallery-cover>span { font-size:13px; font-weight:400; color:var(--muted); position:absolute; }
|
|
328
|
+
.gallery-info { padding:12px 14px; } .gallery-info strong { display:block; font-size:13px; font-weight:550; }
|
|
329
|
+
.gallery-info p { color:var(--muted); font-size:12px; margin-top:5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
|
|
330
|
+
.empty-collection { border:1px dashed var(--line); text-align:center; padding:70px 24px; border-radius:12px; }
|
|
331
|
+
.empty-collection>span { font-size:44px; color:var(--purple); } .empty-collection p { font-size:13px; margin-top:8px; }
|
|
332
|
+
#gallery-feedback { font-size:13px; margin-bottom:12px; } #gallery-more { display:block; margin:22px auto; }
|
|
333
|
+
.connections-heading { margin:2px 0 22px; } .connections-heading h1 { font-size:25px; } .connections-heading p.muted { font-size:13px; margin-top:7px; }
|
|
334
|
+
.connections-workspace { display:block; }
|
|
335
|
+
.connection-sidebar { padding:12px; } .section-heading { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:8px; }
|
|
336
|
+
#connections-list { display:grid; gap:5px; max-height:480px; overflow:auto; }
|
|
337
|
+
.connection-item { display:grid; gap:2px; text-align:left; color:var(--ink); background:transparent; padding:10px 12px; }
|
|
338
|
+
.connection-item strong { font-size:13px; font-weight:550; overflow-wrap:anywhere; }
|
|
339
|
+
.connection-item small { font-size:12px; color:var(--muted); font-weight:400; }
|
|
340
|
+
.connection-item[aria-current="true"] { background:var(--tint); border-color:var(--line); }
|
|
341
|
+
#connections-empty { font-size:13px; padding:12px; }
|
|
342
|
+
.connection-editor { padding:22px; } .connection-editor>.section-heading { margin-bottom:12px; }
|
|
343
|
+
.connection-guide { margin:0 0 18px; padding:12px 16px; border:1px solid var(--line); border-radius:12px; background:var(--panel); }
|
|
344
|
+
.connection-guide ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:0; margin:0; gap:12px; }
|
|
345
|
+
.connection-guide li { display:grid; gap:3px; font-size:12px; color:var(--muted); }
|
|
346
|
+
.connection-guide strong { color:var(--ink); font-size:13px; font-weight:550; }
|
|
347
|
+
.connection-guide .field-note { margin:10px 0 0; overflow-wrap:anywhere; }
|
|
348
|
+
.connection-editor h3 { margin:18px 0 9px; } .connection-editor fieldset>label { font-size:13px; display:block; margin-bottom:7px; }
|
|
349
|
+
.media-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
|
|
350
|
+
.check-option { display:flex; gap:9px; align-items:center; font-size:13px; cursor:pointer; padding:10px; border:1px solid var(--line); border-radius:9px; min-width:0; min-height:44px; }
|
|
351
|
+
.check-option:has(input:checked) { background:var(--tint); border-color:var(--accent); }
|
|
352
|
+
.check-option:has(input:disabled):not(:has(input:checked)) { opacity:.65; cursor:default; }
|
|
353
|
+
.check-option input { width:15px; height:15px; margin:0; flex-shrink:0; } .check-option span { overflow-wrap:anywhere; min-width:0; }
|
|
354
|
+
.check-option small { font-size:12px; display:block; color:var(--muted); font-weight:400; }
|
|
355
|
+
.scope-options,.connection-form-actions,.export-options,.export-actions { display:flex; flex-wrap:wrap; gap:8px; }
|
|
356
|
+
.connection-form-actions { align-items:center; margin-top:18px; } .connection-form-actions span { font-size:12px; }
|
|
357
|
+
.connection-steps { flex-wrap:wrap; column-gap:16px; row-gap:2px; }.connection-steps button:last-child { margin-left:auto; }
|
|
358
|
+
.connection-draft-note { margin:-8px 0 18px; padding:10px 12px; background:var(--soft); border-radius:8px; color:var(--warning); }
|
|
359
|
+
.connection-grant-review { margin-top:20px; padding:12px 14px; border-radius:10px; background:var(--soft); }.connection-grant-review p { font-size:12px; overflow-wrap:anywhere; margin-top:4px; }
|
|
360
|
+
.connection-next { margin:20px 0 10px; padding-top:16px; border-top:1px solid var(--line); }
|
|
361
|
+
.connection-evidence { padding:0; margin:20px 0; list-style:none; display:grid; gap:12px; }.connection-evidence>li { display:grid; grid-template-columns:30px minmax(0,1fr); gap:12px; padding:16px; border:1px solid var(--line); border-radius:11px; }.connection-evidence-number { display:grid; place-items:center; align-self:start; width:28px; height:28px; border-radius:9px; color:var(--accent); background:var(--tint); font-size:12px; }.connection-evidence h3 { font-size:13px; margin:3px 0; }.connection-check-issues,.connection-client-evidence,.connection-check-tools { padding-left:16px; font-size:12px; overflow-wrap:anywhere; margin:8px 0; }.connection-check-issues { color:var(--warning); }.connection-check-tools { max-height:200px; overflow:auto; font-family:monospace; }.connection-evidence [data-state="passed"] { color:var(--accent); }.connection-evidence [data-state="limited"] { color:var(--warning); }
|
|
362
|
+
@media(max-width:640px) { .connection-steps { gap:2px 13px; }.connection-steps button:last-child { margin-left:0; }.connection-evidence>li { padding:12px; gap:9px; } }
|
|
363
|
+
#connection-tools { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; padding:6px 0 12px; }
|
|
364
|
+
.connection-section { border-top:1px solid var(--line); margin-top:22px; padding-top:3px; }
|
|
365
|
+
.export-options { align-items:end; margin:13px 0; } .export-options label { font-size:12px; color:var(--muted); }
|
|
366
|
+
.export-options select { display:block; margin-top:5px; } .export-actions { margin-top:5px; gap:3px; }
|
|
367
|
+
.export-actions button { font-size:13px; }
|
|
368
|
+
#connection-configuration,#connection-skill-preview { width:100%; font:12px/1.7 ui-monospace,monospace; margin-top:10px; }
|
|
369
|
+
.template-choice { display:flex; flex-wrap:wrap; align-items:center; gap:10px; font-size:12px; color:var(--muted); margin:12px 0; }
|
|
370
|
+
.template-choice select { max-width:100%; min-width:0; } .skill-install-command { display:block; font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
|
|
371
|
+
#connection-template-note { overflow-wrap:anywhere; } #connection-facts { padding:12px 0; border-bottom:1px solid var(--line); }
|
|
372
|
+
#connection-revoke-confirm,#connection-delete-confirm { padding:12px 0; font-size:13px; } button.danger { color:var(--error); }
|
|
373
|
+
dialog { border:1px solid var(--line); border-radius:13px; padding:18px; width:min(1000px,94vw); max-height:92dvh; background:var(--panel); color:var(--ink); }
|
|
374
|
+
dialog::backdrop { background:#111b15bb; } dialog img { width:100%; height:68dvh; object-fit:contain; }
|
|
375
|
+
.appearance-dialog { width:min(480px,94vw); padding:24px; }
|
|
376
|
+
.appearance-dialog select,.provider-editor input:not([type="checkbox"]),.provider-editor select { width:100%; }
|
|
377
|
+
.appearance-dialog input[type="range"] { width:100%; min-height:32px; }
|
|
378
|
+
.iris-swatch { height:5px; border-radius:4px; background:var(--iris-gradient); margin:18px 0 12px; }
|
|
379
|
+
.appearance-dialog .file-button { font-size:13px; margin:10px 0; }
|
|
380
|
+
.providers-workspace { display:block; }
|
|
381
|
+
.provider-sidebar { padding:14px; }
|
|
382
|
+
#providers-list { display:grid; }
|
|
383
|
+
#providers-panel [data-provider-tone="0"] { --provider-color:#45317D; }
|
|
384
|
+
#providers-panel [data-provider-tone="1"] { --provider-color:#6F69B8; }
|
|
385
|
+
#providers-panel [data-provider-tone="2"] { --provider-color:#BB78AD; }
|
|
386
|
+
#providers-panel [data-provider-tone="3"] { --provider-color:#E59B76; }
|
|
387
|
+
#providers-panel [data-provider-tone="4"] { --provider-color:#ED9C91; }
|
|
388
|
+
#providers-panel [data-provider-tone="5"] { --provider-color:#F0D09C; }
|
|
389
|
+
#providers-list .provider-item { background:color-mix(in srgb,var(--provider-color) 6%,var(--panel)); border-color:color-mix(in srgb,var(--provider-color) 12%,var(--panel)); }
|
|
390
|
+
#providers-list .provider-item:hover:not(:disabled) { background:color-mix(in srgb,var(--provider-color) 9%,var(--panel)); filter:none; }
|
|
391
|
+
#providers-list .provider-item[aria-current="true"] { background:color-mix(in srgb,var(--provider-color) 12%,var(--panel)); border-color:color-mix(in srgb,var(--provider-color) 30%,var(--panel)); box-shadow:inset 3px 0 color-mix(in srgb,var(--provider-color) 55%,var(--panel)); }
|
|
392
|
+
#providers-empty { font-size:13px; padding:12px 0; }
|
|
393
|
+
.provider-editor { position:relative; overflow:hidden; padding:22px 24px; background:linear-gradient(180deg,color-mix(in srgb,var(--provider-color,var(--accent)) 5%,var(--panel)),var(--panel)) 0 0/100% 140px no-repeat,var(--panel); box-shadow:inset 0 3px color-mix(in srgb,var(--provider-color,var(--accent)) 25%,var(--panel)); }
|
|
394
|
+
.provider-heading { display:flex; align-items:center; flex-wrap:wrap; gap:8px; min-width:0; }
|
|
395
|
+
.provider-mode-pill { display:inline-flex; align-items:center; gap:5px; padding:4px 8px; border:1px solid color-mix(in srgb,var(--purple) 28%,var(--line)); border-radius:20px; color:var(--ink); background:color-mix(in srgb,var(--purple) 9%,var(--panel)); font-size:11px; font-weight:550; white-space:nowrap; }
|
|
396
|
+
.provider-mode-pill>span { color:var(--purple); }
|
|
397
|
+
.provider-editor.comfy-mode::before { content:""; position:absolute; inset:0 0 auto; height:3px; background:var(--iris-gradient); pointer-events:none; }
|
|
398
|
+
.provider-editor.comfy-mode::after { content:""; position:absolute; top:0; left:0; width:80%; height:240px; background:var(--iris-gradient); filter:blur(22px); opacity:0; pointer-events:none; animation:comfy-provider-sweep 1.25s ease-out; }
|
|
399
|
+
@keyframes comfy-provider-sweep { 0% { transform:translateX(-120%) skewX(-18deg); opacity:0; } 25% { opacity:.24; } 100% { transform:translateX(160%) skewX(-18deg); opacity:0; } }
|
|
400
|
+
.provider-editor #provider-state { background:color-mix(in srgb,var(--provider-color,var(--accent)) 10%,var(--panel)); color:var(--ink); }
|
|
401
|
+
.provider-two-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
|
|
402
|
+
.provider-enabled { display:flex; align-items:center; gap:8px; margin-top:16px; font-size:13px; }
|
|
403
|
+
.provider-section { margin-top:24px; }
|
|
404
|
+
.provider-section h3 { font-size:14px; }
|
|
405
|
+
.provider-model-add { display:flex; gap:8px; margin:12px 0; }
|
|
406
|
+
.provider-model-add input { flex:1; }
|
|
407
|
+
.provider-model-add button { flex-shrink:0; }
|
|
408
|
+
.provider-model { border:1px solid var(--line); border-radius:10px; padding:12px; margin-top:12px; }
|
|
409
|
+
.provider-model h3 { overflow-wrap:anywhere; font-size:13px; }
|
|
410
|
+
.model-capabilities { display:flex; flex-wrap:wrap; gap:6px 14px; }
|
|
411
|
+
.mini-check { display:flex; align-items:center; gap:6px; font-size:12px; min-height:32px; cursor:pointer; overflow-wrap:anywhere; }
|
|
412
|
+
.mini-check input { flex-shrink:0; accent-color:var(--accent); }
|
|
413
|
+
.model-routing { border-top:1px solid var(--line); margin-top:8px; }
|
|
414
|
+
.model-routing summary { min-height:34px; font-size:12px; color:var(--muted); }
|
|
415
|
+
.model-routing .field-label { display:block; font-size:12px; margin:8px 0; }
|
|
416
|
+
.model-routing select { display:block; margin-top:5px; }
|
|
417
|
+
.inline-button { min-height:26px; padding:0 3px; font-size:12px; font-weight:400; }
|
|
418
|
+
.field-label:has(.inline-button) { align-items:center; }
|
|
419
|
+
.model-management { display:flex; justify-content:end; margin-top:5px; }
|
|
420
|
+
.function-policy { padding:12px 0; border-top:1px solid var(--line); }
|
|
421
|
+
.function-policy select { width:auto; min-height:36px; padding:5px 9px; font-size:12px; }
|
|
422
|
+
.provider-save-area { position:relative; border-top:1px solid var(--line); margin-top:22px; padding-top:12px; }
|
|
423
|
+
.provider-save-area::before { content:""; width:72px; height:3px; border-radius:3px; position:absolute; top:-2px; background:var(--iris-gradient); }
|
|
424
|
+
#provider-save { margin-top:16px; margin-right:10px; }
|
|
425
|
+
#provider-save-note { display:inline-block; }
|
|
426
|
+
.management-heading,.connections-workspace,.providers-workspace,#providers-feedback,#connections-feedback,#providers-reload-confirm { max-width:1120px; margin-left:auto; margin-right:auto; }
|
|
427
|
+
.management-heading { margin-bottom:26px; align-items:center; }
|
|
428
|
+
.management-heading h1 { font-size:24px; font-weight:600; letter-spacing:-.5px; }
|
|
429
|
+
.management-heading h1 .count { vertical-align:middle; margin-left:5px; }
|
|
430
|
+
.page-actions { display:flex; align-items:center; gap:6px; flex-shrink:0; }
|
|
431
|
+
.page-actions .secondary { background:var(--accent); color:var(--on-accent); border-color:transparent; }
|
|
432
|
+
#connections-list.service-grid,#providers-list.service-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,285px),1fr)); gap:14px; max-height:none; overflow:visible; }
|
|
433
|
+
.service-card { display:flex; flex-direction:column; gap:8px; width:100%; min-height:195px; padding:20px; text-align:left; border:1px solid var(--line); border-radius:12px; color:var(--ink); background:var(--panel); font-weight:400; }
|
|
434
|
+
.service-card:hover:not(:disabled) { border-color:color-mix(in srgb,var(--accent) 40%,var(--line)); filter:none; box-shadow:0 4px 18px #302a3d08; }
|
|
435
|
+
.service-card[aria-current="true"] { border-color:color-mix(in srgb,var(--accent) 35%,var(--line)); background:var(--panel); }
|
|
436
|
+
.service-card-heading { display:flex; width:100%; align-items:center; justify-content:space-between; gap:10px; margin-bottom:3px; }
|
|
437
|
+
.service-mark { display:grid; place-items:center; min-width:38px; height:34px; border:1px solid var(--line); border-radius:8px; font:600 11px/1 ui-monospace,monospace; letter-spacing:.2px; background:var(--panel); color:var(--accent); }
|
|
438
|
+
.service-card strong { font-size:16px; font-weight:600; line-height:1.45; overflow-wrap:anywhere; }
|
|
439
|
+
.service-status { font-size:11px; font-weight:400; color:var(--muted); }
|
|
440
|
+
.service-endpoint { max-width:100%; font-size:12px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
|
|
441
|
+
.service-meta { font-size:12px; color:var(--muted); }
|
|
442
|
+
.service-action { margin-top:auto; padding-top:8px; font-size:12px; color:var(--accent); }
|
|
443
|
+
.management-empty { min-height:325px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; text-align:center; border:1px dashed var(--line); border-radius:14px; padding:30px 20px; background:var(--panel); }
|
|
444
|
+
.management-empty h2 { font-size:18px; font-weight:550; } .management-empty p { color:var(--muted); font-size:13px; max-width:360px; }
|
|
445
|
+
.empty-mark { display:grid; place-items:center; width:56px; height:56px; border-radius:14px; background:var(--tint); color:var(--accent); font:600 13px ui-monospace,monospace; margin-bottom:4px; }
|
|
446
|
+
.management-help { margin:20px 0; padding:0 4px; max-width:680px; }
|
|
447
|
+
.management-help summary { color:var(--muted); font-weight:400; font-size:12px; }
|
|
448
|
+
.management-help .connection-guide { margin:6px 0 0; }
|
|
449
|
+
.management-editor { max-width:840px; margin:0 auto; padding:24px 28px; }
|
|
450
|
+
.editor-heading { margin-bottom:18px; } .editor-heading>.section-heading { margin:12px 0 0; }
|
|
451
|
+
.back-button { min-height:30px; padding:3px 0; font-size:12px; font-weight:400; color:var(--muted)!important; }
|
|
452
|
+
.editor-tabs { display:flex; gap:18px; border-bottom:1px solid var(--line); margin-bottom:22px; }
|
|
453
|
+
.editor-tabs button { position:relative; min-height:40px; padding:8px 1px; border-radius:0; background:transparent; color:var(--muted); font-size:13px; font-weight:400; }
|
|
454
|
+
.editor-tabs button[aria-pressed="true"] { color:var(--ink); font-weight:550; }
|
|
455
|
+
.editor-tabs button[aria-pressed="true"]::after { content:""; position:absolute; bottom:-1px; left:0; right:0; height:2px; background:var(--accent); }
|
|
456
|
+
.management-editor .connection-section { margin-top:0; padding-top:0; border-top:0; }
|
|
457
|
+
.management-editor .provider-section { margin-top:0; }
|
|
458
|
+
.management-editor input:not([type="checkbox"]):not([type="file"]),.management-editor select { min-height:38px; }
|
|
459
|
+
.management-editor .field-label:first-child { margin-top:0; }
|
|
460
|
+
.management-editor .provider-two-fields { margin-top:16px; }
|
|
461
|
+
.management-editor .provider-save-area { padding:12px 0 0; }
|
|
462
|
+
.management-editor #provider-save-note { display:none; }
|
|
463
|
+
.inline-confirm { padding:12px 14px; margin-bottom:16px; border:1px solid var(--line); border-radius:8px; background:var(--soft); font-size:13px; }
|
|
464
|
+
#connection-view-settings #connection-name { width:100%; }
|
|
465
|
+
#connection-future { margin-top:10px; } #connection-future .media-options { padding-bottom:12px; }
|
|
466
|
+
#provider-directory { padding:12px; border-radius:9px; background:var(--soft); }
|
|
467
|
+
#provider-directory-list { max-height:235px; overflow:auto; margin-top:8px; }
|
|
468
|
+
.directory-item { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:12px; border-bottom:1px solid var(--line); }
|
|
469
|
+
.directory-item span { overflow-wrap:anywhere; min-width:0; }
|
|
470
|
+
.directory-item button { flex-shrink:0; font-size:12px; }
|
|
471
|
+
#providers-feedback { padding:10px 14px; margin-bottom:16px; border-radius:8px; background:var(--tint); overflow-wrap:anywhere; font-size:13px; }
|
|
472
|
+
.reload-confirm { padding:14px; margin-bottom:16px; font-size:13px; }
|
|
473
|
+
.reload-confirm p { margin-bottom:8px; }
|
|
474
|
+
:root[data-density="compact"] .site-header { min-height:50px; }
|
|
475
|
+
:root[data-density="compact"] main { padding-top:16px; }
|
|
476
|
+
:root[data-density="compact"] .page-heading { margin-bottom:14px; }
|
|
477
|
+
:root[data-density="compact"] .provider-editor { padding:16px 18px; }
|
|
478
|
+
:root[data-density="compact"] .field-label { margin-top:12px; }
|
|
479
|
+
:root[data-density="compact"] .provider-model { margin-top:8px; padding:10px; }
|
|
480
|
+
:root[data-density="compact"] .composer>summary { min-height:52px; }
|
|
481
|
+
footer { display:flex; justify-content:space-between; gap:12px; padding:24px 0; font-size:12px; color:var(--muted); }
|
|
482
|
+
@media (max-width:1100px) {
|
|
483
|
+
.app-shell { grid-template-columns:174px minmax(0,1fr); } main { padding:20px 20px 0; } .site-header { padding-inline:20px; }
|
|
484
|
+
.studio-grid { grid-template-columns:minmax(0,1fr) 288px; gap:14px; } .viewer { padding-inline:12px; }
|
|
485
|
+
.canvas-toolbar { gap:3px; } .canvas-label { flex-basis:100%; padding-top:10px; }
|
|
486
|
+
.gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
|
|
487
|
+
}
|
|
488
|
+
@media (max-width:850px) {
|
|
489
|
+
.app-shell { grid-template-columns:minmax(0,1fr); grid-template-rows:auto 1fr; }
|
|
490
|
+
.app-sidebar { position:static; height:auto; border-right:0; border-bottom:1px solid var(--line); padding:12px 16px; flex-direction:row; gap:16px; flex-wrap:wrap; align-items:center; }
|
|
491
|
+
.brand { font-size:25px; padding:0; } .brand img { width:26px; height:26px; } .sidebar-label,.sidebar-bottom { display:none; }
|
|
492
|
+
.workspace-nav { display:flex; flex:1; justify-content:end; gap:3px; }
|
|
493
|
+
.nav-item { width:auto; justify-content:center; padding:8px 12px; }
|
|
494
|
+
.nav-item>span:first-child { display:none; }
|
|
495
|
+
.workspace-nav { flex-wrap:wrap; }
|
|
496
|
+
.recent-panel { width:100%; margin:0; } .recent-panel:not([open]) { max-height:44px; } #history-list { max-height:190px; overflow:auto; }
|
|
497
|
+
body[data-page="overview"] .recent-panel,body[data-page="connections"] .recent-panel,body[data-page="providers"] .recent-panel,body[data-page="plugins"] .recent-panel { display:none; }
|
|
498
|
+
.site-header { min-height:54px; } .breadcrumb { font-size:12px; }
|
|
499
|
+
}
|
|
500
|
+
@media (max-width:640px) {
|
|
501
|
+
.app-sidebar { gap:8px; padding:8px 14px; }
|
|
502
|
+
.brand>span,.nav-item svg { display:none; } .brand img { width:24px; height:24px; }
|
|
503
|
+
.workspace-nav { flex-wrap:wrap; gap:2px; min-width:0; }
|
|
504
|
+
.nav-item { font-size:12px; padding:6px 7px; gap:4px; white-space:nowrap; }
|
|
505
|
+
main { padding:18px 14px 0; } .site-header { padding:6px 14px; gap:6px; } .header-actions { gap:0; }
|
|
506
|
+
.header-actions button { padding-inline:9px; font-size:12px; } .badge { padding:4px 7px; }
|
|
507
|
+
.breadcrumb>span { padding:0 4px; } .page-heading { margin-bottom:16px; gap:12px; } h1 { font-size:23px; }
|
|
508
|
+
.page-heading p.muted { font-size:12px; } .page-heading button { font-size:12px; padding-inline:10px; }
|
|
509
|
+
.studio-grid { grid-template-columns:minmax(0,1fr); gap:14px; }
|
|
510
|
+
.composer { grid-column:1; grid-row:1; } .viewer { grid-column:1; grid-row:2; padding:0 12px 12px; }
|
|
511
|
+
.composer>summary { min-height:54px; padding:9px 16px; } #edit-form { padding-inline:16px; }
|
|
512
|
+
.canvas-toolbar { gap:6px; min-height:60px; } .canvas-label { flex-basis:auto; padding:0; font-size:12px; }
|
|
513
|
+
.viewer-empty { min-height:290px; } .viewer-empty h2 { font-size:18px; }
|
|
514
|
+
.image-pair { gap:8px; } .image-stage { height:240px; padding:5px; }
|
|
515
|
+
#run-view[data-has-output="false"] .image-stage { height:300px; } figcaption { padding:8px; gap:3px; }
|
|
516
|
+
.run-heading { flex-wrap:wrap; } .run-heading h2 { font-size:14px; } #status-message { font-size:12px; }
|
|
517
|
+
.result-actions { flex-wrap:wrap; gap:10px; } .result-actions p { width:100%; } .result-actions button { width:100%; }
|
|
518
|
+
.reuse-actions { gap:3px; } .reuse-actions .quiet { padding-inline:0; }
|
|
519
|
+
.gallery-grid { gap:12px; } .gallery-cover { height:190px; } .gallery-info { padding:10px; }
|
|
520
|
+
.gallery-toolbar { align-items:start; gap:5px; } #gallery-filters button { padding-inline:8px; }
|
|
521
|
+
.management-heading { gap:12px; align-items:flex-start; flex-direction:column; margin-bottom:20px; }
|
|
522
|
+
.management-heading h1 { font-size:22px; } .page-actions { align-self:stretch; justify-content:flex-end; }
|
|
523
|
+
.page-actions button { min-height:44px; } .management-editor { padding:18px 16px; }
|
|
524
|
+
.management-empty { min-height:260px; } .service-card { min-height:180px; padding:18px; }
|
|
525
|
+
.editor-tabs { gap:14px; } .editor-tabs button { min-height:44px; font-size:12px; }
|
|
526
|
+
.back-button { min-height:44px; } .management-editor input:not([type="checkbox"]):not([type="file"]),.management-editor select { min-height:44px; }
|
|
527
|
+
.connection-editor { padding:18px 16px; } .connections-heading h1 { font-size:23px; }
|
|
528
|
+
.connection-guide ol { grid-template-columns:1fr; gap:9px; } .connection-guide li { grid-template-columns:115px 1fr; align-items:baseline; gap:6px; }
|
|
529
|
+
.check-option { padding:8px; gap:6px; } .media-options { gap:6px; } .connection-form-actions { align-items:start; flex-direction:column; }
|
|
530
|
+
.connection-form-actions button { width:100%; } .connection { padding:26px 22px; margin-top:4vh; }
|
|
531
|
+
.connection h1 { font-size:25px; } footer span { display:none; }
|
|
532
|
+
.provider-editor { padding:18px 16px; }
|
|
533
|
+
.provider-two-fields { gap:10px; }
|
|
534
|
+
.provider-save-area>button { width:100%; }
|
|
535
|
+
.appearance-dialog { padding:20px; }
|
|
536
|
+
.site-header { flex-wrap:wrap; }
|
|
537
|
+
}
|
|
538
|
+
@media (max-width:520px) {
|
|
539
|
+
.provider-credentials-fields { grid-template-columns:1fr; }
|
|
540
|
+
}
|
|
541
|
+
@media (max-width:360px) {
|
|
542
|
+
.app-sidebar { gap:10px; padding-inline:14px; } .nav-item { padding-inline:9px; }
|
|
543
|
+
.brand { font-size:23px; } .site-header .breadcrumb { display:none; } .header-actions { width:100%; justify-content:end; }
|
|
544
|
+
.gallery-grid { grid-template-columns:minmax(0,1fr); } .gallery-cover { height:260px; }
|
|
545
|
+
.image-pair { grid-template-columns:minmax(0,1fr); } .image-stage { height:260px; }
|
|
546
|
+
.token-row { flex-wrap:wrap; } .token-row button { width:100%; }
|
|
547
|
+
.page-heading { align-items:start; flex-direction:column; gap:10px; }
|
|
548
|
+
}
|
|
549
|
+
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; scroll-behavior:auto!important; } }
|
|
550
|
+
/* Generation shares the canvas, with no empty source or comparison column. */
|
|
551
|
+
.creation-modes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:12px }
|
|
552
|
+
.creation-modes button { flex:1 }
|
|
553
|
+
#run-view[data-recipe="image-generate/v0"] .image-pair { grid-template-columns:minmax(0,1fr) }
|
|
554
|
+
/* Audio keeps the same workspace, with native controls and a quiet Iris accent. */
|
|
555
|
+
audio { display:block; width:100%; max-width:100%; min-width:0; margin-block:10px; }
|
|
556
|
+
.audio-result { margin:4px 0 22px; padding:clamp(16px,3vw,30px); border:1px solid var(--line); border-radius:12px; background:var(--panel); }
|
|
557
|
+
.audio-result-header { display:flex; align-items:center; gap:16px; margin-bottom:24px; }
|
|
558
|
+
.audio-result-header h3 { font-size:20px; font-weight:600; }
|
|
559
|
+
.audio-result-icon { display:grid; place-items:center; flex-shrink:0; width:62px; height:62px; color:var(--accent); background:var(--tint); border-radius:17px; font:36px Georgia,serif; }
|
|
560
|
+
.audio-result .field-label { margin-top:20px; }
|
|
561
|
+
.transcript-result { max-height:420px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; line-height:1.9; padding:18px; border:1px solid var(--line); border-radius:10px; background:var(--soft); }
|
|
562
|
+
.gallery-types { display:inline-flex; margin-bottom:18px; }
|
|
563
|
+
.gallery-audio-cover { height:138px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:6px; color:var(--accent); background:var(--tint); }
|
|
564
|
+
.gallery-audio-icon { font:40px Georgia,serif; }
|
|
565
|
+
.gallery-audio .export-actions { margin-top:12px; gap:4px; }
|
|
566
|
+
.gallery-audio .export-actions button { padding-inline:9px; font-size:12px; }
|
|
567
|
+
.gallery-audio .field-note { white-space:normal; }
|
|
568
|
+
@media(max-width:480px) { .audio-result-header { gap:12px; } .audio-result-header h3 { font-size:17px; } .audio-result-icon { width:48px; height:48px; } .transcript-result { padding:12px; } }
|
|
569
|
+
.video-result { padding: clamp(16px, 3vw, 28px); }
|
|
570
|
+
.video-result video, .gallery-audio video { display: block; width: 100%; max-height: 65vh; margin-block: 16px; border-radius: 16px; background: #16141c; object-fit: contain; }
|
|
571
|
+
.video-result video[hidden], .gallery-audio video[hidden] { display: none; }
|