Files
DemonGatanjieu-Anomalous_Mo…/web/styles/20-current-node.css
T
DemonGatanjieuandClaude Opus 5.5 e6de76502a Prompt Studio edits the selected node's prompt boxes as tags
The assembly board, its write-to-node step and the positive/negative tabs
are gone. The studio now shows the prompt boxes of the prompt node last
selected on the canvas (or a draft) as tags that are edited in place:
weight, edit, remove, reorder, type to add with Chinese translated to
English, and an optional Chinese meaning under each tag. Every change is
one node write with Ctrl+Z, and the studio has its own Undo.

Cards: three common ones instead of six, plus saved prompts; a saved
prompt's text is read once instead of every 30 seconds. Current node
lists the prompt boxes with Edit in Prompt Studio instead of its own
translation. The inspector modal, starter-card data, plan loading and
about 2,000 lines of CSS for the old board are removed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 03:05:08 +08:00

215 lines
4.6 KiB
CSS

/* The current-node panel (Node Assistant): one scrolling body of sections; prompts; the parameters list. */
.anomalous-node-body {
display: flex;
flex: 1;
flex-direction: column;
min-height: 0;
overflow-y: auto;
padding-bottom: 16px;
}
.anomalous-node-section {
display: flex;
flex-direction: column;
gap: 8px;
margin: 14px 16px 0;
}
.anomalous-node-section-head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
}
.anomalous-node-section-head h3 {
margin: 0;
color: #8b91a3;
font-size: 10px;
font-weight: 750;
letter-spacing: 0.1em;
text-transform: uppercase;
}
.anomalous-node-section-btn {
padding: 4px 10px;
border: 1px solid var(--amb-border-strong);
border-radius: 999px;
background: transparent;
color: var(--amb-text-soft);
font-size: 11.5px;
cursor: pointer;
}
.anomalous-node-section-btn:hover {
border-color: color-mix(in srgb, var(--amb-link) 45%, transparent);
color: var(--amb-text-main);
}
.anomalous-node-param-search {
padding: 7px 10px;
border: 1px solid var(--amb-border);
border-radius: 8px;
background: rgba(0, 0, 0, 0.25);
color: var(--amb-text-main);
font-size: 12px;
}
.anomalous-node-param-list {
display: flex;
flex-direction: column;
gap: 8px;
}
.anomalous-node-param {
display: flex;
flex-direction: column;
gap: 6px;
padding: 10px 12px;
border: 1px solid var(--amb-border);
border-radius: 10px;
background: rgba(255, 255, 255, 0.035);
}
.anomalous-node-param-head {
display: flex;
align-items: center;
gap: 6px;
min-width: 0;
}
.anomalous-node-param-name {
overflow: hidden;
color: var(--amb-text-main);
font-size: 12.5px;
white-space: nowrap;
text-overflow: ellipsis;
}
.anomalous-node-param-role {
flex-shrink: 0;
padding: 1px 7px;
border-radius: 999px;
background: rgba(255, 255, 255, 0.06);
color: var(--amb-link);
font-size: 10px;
}
.anomalous-node-param-role.is-positive { color: #86efac; }
.anomalous-node-param-role.is-negative { color: #fca5a5; }
.anomalous-node-param-sources {
display: flex;
flex-wrap: wrap;
gap: 4px;
}
.anomalous-node-param-sources span {
padding: 1px 7px;
border: 1px solid var(--amb-border);
border-radius: 999px;
color: var(--amb-text-muted);
font-size: 10px;
}
.anomalous-node-param-changes {
display: flex;
flex-direction: column;
gap: 2px;
margin: 0;
padding: 0;
list-style: none;
color: var(--amb-text-soft);
font-size: 11.5px;
}
.anomalous-node-param-changes li {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.anomalous-node-param-changes li.is-more,
.anomalous-node-param-kept,
.anomalous-node-muted {
margin: 0;
color: #8b91a3;
font-size: 11px;
line-height: 1.5;
}
.anomalous-node-muted.is-error { color: #fca5a5; }
.anomalous-node-param-actions {
display: flex;
justify-content: flex-end;
gap: 6px;
}
.anomalous-node-param-delete {
padding: 5px 10px;
border: 1px solid var(--amb-border);
border-radius: 7px;
background: transparent;
color: var(--amb-text-muted);
font-size: 11.5px;
cursor: pointer;
}
.anomalous-node-param-delete:hover {
border-color: rgba(239, 68, 68, 0.5);
color: #fca5a5;
}
.anomalous-node-param-apply {
padding: 5px 12px;
border: 1px solid color-mix(in srgb, var(--amb-link) 45%, transparent);
border-radius: 7px;
background: color-mix(in srgb, var(--amb-link) 14%, transparent);
color: var(--amb-text-main);
font-size: 11.5px;
font-weight: 600;
cursor: pointer;
}
.anomalous-node-param-apply:disabled {
border-color: var(--amb-border);
background: transparent;
color: var(--amb-text-dim);
cursor: default;
}
/* A prompt box of the node, with its translation. */
.anomalous-node-prompt {
display: flex;
flex-direction: column;
gap: 6px;
padding: 10px 12px;
border: 1px solid var(--amb-border);
border-radius: 10px;
background: rgba(255, 255, 255, 0.035);
}
.anomalous-node-param-role.is-plain { color: var(--amb-text-soft); }
.anomalous-node-prompt-name {
color: var(--amb-text-dim);
font-size: 10.5px;
}
.anomalous-node-prompt-text {
display: -webkit-box;
margin: 0;
overflow: hidden;
color: var(--amb-text-main);
font-size: 12px;
line-height: 1.5;
overflow-wrap: anywhere;
-webkit-box-orient: vertical;
-webkit-line-clamp: 4;
}
.anomalous-node-prompt-text.is-empty { color: var(--amb-text-dim); }