Every page in both languages, all themes and at 480: - Give the window its own text colour: text with none took ComfyUI's, white on the light theme (Tidy headings and file names, the site chip). - Keep a task's link chip in its row, its x in reach, and colour the next-task chip. - Let choices in Settings wrap, the Models search shrink, and a workflow's preset row go to two lines. - Add --amb-on-link for text on the accent: pale in the dark themes, so white was hard to read. - Lists and colons follow the language (listSeparator, wordColon); tests/words_in_language.mjs keeps it so. - Right plurals in English, "AI" on the rail, one line left in Chinese translated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
614 lines
17 KiB
CSS
614 lines
17 KiB
CSS
/* The AI workbench's stage (ui_ai_side.js): the panels on the right, the tabs of a narrow window,
|
|
the task list folded away. The side column is as wide as its grip set (--ai-side-w). */
|
|
|
|
.anomalous-ai.has-stage {
|
|
grid-template-columns: minmax(200px, 250px) minmax(0, 1fr) var(--ai-side-w, 440px);
|
|
}
|
|
|
|
.anomalous-ai.tasks-collapsed {
|
|
grid-template-columns: minmax(0, 1fr);
|
|
}
|
|
|
|
.anomalous-ai.tasks-collapsed.has-stage {
|
|
grid-template-columns: minmax(0, 1fr) var(--ai-side-w, 440px);
|
|
}
|
|
|
|
/* Folded away, the task list stays laid out out of sight (45-ai-side-views.css slides it in), so
|
|
bringing it back has nothing to lay out first. */
|
|
.anomalous-ai.tasks-collapsed:not(.is-narrow) .anomalous-ai-tasks {
|
|
position: absolute;
|
|
z-index: 30;
|
|
top: 8px;
|
|
bottom: 8px;
|
|
left: 8px;
|
|
width: 270px;
|
|
border: 1px solid var(--amb-border);
|
|
border-radius: 14px;
|
|
background: var(--amb-bg-panel);
|
|
box-shadow: 0 18px 50px rgba(0, 0, 0, 0.45);
|
|
opacity: 0;
|
|
visibility: hidden;
|
|
transform: translateX(-14px);
|
|
transition: opacity 0.1s linear, transform 0.12s ease-out, visibility 0s linear 0.12s;
|
|
will-change: transform;
|
|
}
|
|
|
|
/* Too narrow for three columns: the timeline and the stage take turns in one. */
|
|
.anomalous-ai.is-tabbed {
|
|
grid-template-columns: minmax(200px, 250px) minmax(0, 1fr);
|
|
}
|
|
|
|
.anomalous-ai.is-tabbed.tasks-collapsed,
|
|
.anomalous-ai.is-tabbed.is-narrow {
|
|
grid-template-columns: minmax(0, 1fr);
|
|
}
|
|
|
|
.anomalous-ai.is-tabbed .anomalous-ai-stage {
|
|
grid-column: -2 / -1;
|
|
grid-row: 1;
|
|
}
|
|
|
|
.anomalous-ai.is-tabbed:not(.shows-stage) .anomalous-ai-stage,
|
|
.anomalous-ai.is-tabbed.shows-stage .anomalous-ai-task,
|
|
.anomalous-ai:not(.has-stage) .anomalous-ai-stage,
|
|
.anomalous-ai.is-narrow:not(.shows-task, .peeks) .anomalous-ai-stage {
|
|
display: none;
|
|
}
|
|
|
|
/* No room for the column (ui_ai_workbench.js layout): the timeline and every view as tabs with words. */
|
|
.anomalous-ai-tabs {
|
|
display: none;
|
|
flex-wrap: wrap;
|
|
gap: 2px;
|
|
margin-bottom: 8px;
|
|
padding: 3px;
|
|
border: 1px solid var(--amb-border);
|
|
border-radius: 9px;
|
|
background: rgba(var(--amb-ink-rgb), 0.04);
|
|
}
|
|
|
|
.anomalous-ai.uses-tabs .anomalous-ai-tabs { display: flex; }
|
|
.anomalous-ai-tabs .anomalous-ai-side-btn { flex: 1 1 auto; justify-content: center; padding: 5px 8px; }
|
|
.anomalous-ai-tabs .anomalous-ai-side-btn .anomalous-tb-icon { display: none; }
|
|
.anomalous-ai-tabs .anomalous-ai-side-btn-label { display: inline; }
|
|
|
|
/* The tabs say what is shown and lead away from it. */
|
|
.anomalous-ai.uses-tabs .anomalous-ai-stage-title,
|
|
.anomalous-ai.uses-tabs .anomalous-ai-stage-close { display: none; }
|
|
|
|
/* ---------- the stage ---------- */
|
|
.anomalous-ai-stage {
|
|
position: relative;
|
|
display: flex;
|
|
flex-direction: column;
|
|
min-width: 0;
|
|
min-height: 0;
|
|
margin: 10px 10px 10px 14px; /* the gap on the left is the grip's (45-ai-side-views.css) */
|
|
padding: 16px 18px 18px;
|
|
border: 1px solid var(--amb-border);
|
|
border-radius: 14px;
|
|
background: linear-gradient(180deg, color-mix(in srgb, #a487f5 5%, transparent), transparent 220px), rgba(var(--amb-ink-rgb), 0.025);
|
|
box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18);
|
|
}
|
|
|
|
.anomalous-ai.is-tabbed .anomalous-ai-stage {
|
|
margin: 0;
|
|
border: none;
|
|
border-radius: 0;
|
|
background: none;
|
|
box-shadow: none;
|
|
}
|
|
|
|
.anomalous-ai-stage-head {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
margin-bottom: 12px;
|
|
}
|
|
|
|
.anomalous-ai-stage-title {
|
|
color: var(--amb-text-main);
|
|
font-size: 14px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.anomalous-ai-gap {
|
|
flex: 1;
|
|
}
|
|
|
|
.anomalous-ai-stage-count {
|
|
color: var(--amb-text-soft);
|
|
font-size: 12px;
|
|
}
|
|
|
|
.anomalous-ai-stage-close {
|
|
flex: 0 0 30px;
|
|
height: 30px;
|
|
padding: 0;
|
|
border: none;
|
|
border-radius: 7px;
|
|
background: transparent;
|
|
color: var(--amb-text-soft);
|
|
font: inherit;
|
|
font-size: 22px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.anomalous-ai-stage-close:hover,
|
|
.anomalous-ai-stage-close:focus-visible {
|
|
background: rgba(var(--amb-ink-rgb), 0.08);
|
|
color: var(--amb-text-main);
|
|
}
|
|
|
|
/* Whether a new panel opens the column (ui_ai_side.js autoSwitch). */
|
|
.anomalous-ai-stage-auto {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
padding: 3px 6px;
|
|
border: none;
|
|
border-radius: 7px;
|
|
background: none;
|
|
color: var(--amb-text-dim);
|
|
font: inherit;
|
|
font-size: 11.5px;
|
|
cursor: pointer;
|
|
}
|
|
.anomalous-ai-stage-auto:hover, .anomalous-ai-stage-auto:focus-visible { background: rgba(var(--amb-ink-rgb), 0.06); color: var(--amb-text-main); }
|
|
.anomalous-ai-stage-auto-track {
|
|
position: relative;
|
|
flex: none;
|
|
width: 26px;
|
|
height: 15px;
|
|
border-radius: 999px;
|
|
background: rgba(var(--amb-ink-rgb), 0.18);
|
|
transition: background 0.15s;
|
|
}
|
|
.anomalous-ai-stage-auto-track::after {
|
|
content: '';
|
|
position: absolute;
|
|
top: 2px;
|
|
left: 2px;
|
|
width: 11px;
|
|
height: 11px;
|
|
border-radius: 50%;
|
|
background: #fff;
|
|
transition: transform 0.15s;
|
|
}
|
|
.anomalous-ai-stage-auto.is-on .anomalous-ai-stage-auto-track { background: #a487f5; }
|
|
.anomalous-ai-stage-auto.is-on .anomalous-ai-stage-auto-track::after { transform: translateX(11px); }
|
|
.anomalous-ai.is-tabbed .anomalous-ai-stage-auto-label { display: none; }
|
|
|
|
.anomalous-ai-stage-new {
|
|
padding: 4px 10px;
|
|
border: none;
|
|
border-radius: 999px;
|
|
background: var(--amb-btn-primary-bg, var(--amb-link));
|
|
color: var(--amb-btn-primary-text, #fff);
|
|
font: inherit;
|
|
font-size: 12px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
/* The panels one under the other, oldest first, each with its step's number. */
|
|
.anomalous-ai-stage-body {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 18px;
|
|
}
|
|
|
|
.anomalous-ai-stage-item {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 6px;
|
|
border-radius: 16px;
|
|
}
|
|
|
|
.anomalous-ai-stage-item-step {
|
|
color: var(--amb-text-dim);
|
|
font-size: 11.5px;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.anomalous-ai-stage-item.is-flash > .anomalous-ai-panel {
|
|
animation: anomalous-ai-flash 1.2s ease-out;
|
|
}
|
|
|
|
@keyframes anomalous-ai-flash {
|
|
0% { box-shadow: 0 0 0 3px color-mix(in srgb, var(--amb-link) 70%, transparent); }
|
|
100% { box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18); }
|
|
}
|
|
|
|
.anomalous-ai-stage-body {
|
|
flex: 1;
|
|
min-height: 0;
|
|
overflow-y: auto;
|
|
padding: 2px 2px 20px;
|
|
}
|
|
|
|
.anomalous-ai-stage-empty {
|
|
padding: 30px 0;
|
|
color: var(--amb-text-dim);
|
|
font-size: 13px;
|
|
text-align: center;
|
|
}
|
|
|
|
/* ---------- a panel's card in the timeline (ui_ai_side.js panelLine) ---------- */
|
|
.anomalous-ai-panel-line {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
gap: 8px 10px;
|
|
padding: 8px 10px;
|
|
border: 1px solid color-mix(in srgb, #a487f5 40%, transparent);
|
|
border-radius: 10px;
|
|
background: color-mix(in srgb, #a487f5 8%, transparent);
|
|
color: var(--amb-text-main);
|
|
cursor: pointer;
|
|
}
|
|
|
|
.anomalous-ai-panel-line:hover {
|
|
background: color-mix(in srgb, #a487f5 14%, transparent);
|
|
}
|
|
|
|
.anomalous-ai-panel-line.is-shown {
|
|
border-color: color-mix(in srgb, var(--amb-ok) 60%, transparent);
|
|
}
|
|
|
|
.anomalous-ai-panel-line-icon {
|
|
display: inline-flex;
|
|
flex: none;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 34px;
|
|
height: 34px;
|
|
border-radius: 8px;
|
|
background: color-mix(in srgb, #a487f5 16%, transparent);
|
|
color: #b9a3f7;
|
|
}
|
|
|
|
.anomalous-ai-panel-line-words {
|
|
display: flex;
|
|
flex: 1 1 140px;
|
|
flex-direction: column;
|
|
gap: 2px;
|
|
min-width: 0;
|
|
}
|
|
|
|
.anomalous-ai-panel-line-title {
|
|
overflow: hidden;
|
|
font-size: 13px;
|
|
font-weight: 600;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.anomalous-ai-panel-line-gist {
|
|
color: var(--amb-text-dim);
|
|
font-size: 11.5px;
|
|
}
|
|
|
|
/* The way to the right: the stage's colour, an icon of the column; "on the right now" while its panel is in view there. */
|
|
.anomalous-ai-side-open {
|
|
display: inline-flex;
|
|
flex: none;
|
|
align-items: center;
|
|
gap: 6px;
|
|
padding: 5px 12px;
|
|
border: 1px solid color-mix(in srgb, #a487f5 70%, transparent);
|
|
border-radius: 999px;
|
|
background: color-mix(in srgb, #a487f5 22%, transparent);
|
|
color: var(--amb-text-main);
|
|
font: inherit;
|
|
font-size: 12px;
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
transition: background 0.15s;
|
|
}
|
|
|
|
.anomalous-ai-side-open:hover,
|
|
.anomalous-ai-side-open:focus-visible {
|
|
background: color-mix(in srgb, #a487f5 38%, transparent);
|
|
}
|
|
|
|
.anomalous-ai-side-open .anomalous-tb-icon { display: inline-flex; }
|
|
|
|
.anomalous-ai-panel-line-here {
|
|
display: none;
|
|
flex: none;
|
|
align-items: center;
|
|
gap: 6px;
|
|
color: var(--amb-ok);
|
|
font-size: 12px;
|
|
}
|
|
|
|
.anomalous-ai-panel-line-dot {
|
|
width: 8px;
|
|
height: 8px;
|
|
border-radius: 50%;
|
|
background: var(--amb-ok);
|
|
}
|
|
|
|
.anomalous-ai-panel-line.is-shown .anomalous-ai-side-open { display: none; }
|
|
.anomalous-ai-panel-line.is-shown .anomalous-ai-panel-line-here { display: inline-flex; }
|
|
|
|
.anomalous-ai-panel-line-asks {
|
|
padding: 1px 8px;
|
|
border-radius: 999px;
|
|
background: color-mix(in srgb, var(--amb-warn) 20%, transparent);
|
|
color: var(--amb-warn-text);
|
|
font-size: 11px;
|
|
}
|
|
|
|
|
|
/* ---------- new task, the ways in, which AI came last ---------- */
|
|
.anomalous-ai-tasks-actions {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
padding: 0 14px 12px;
|
|
}
|
|
|
|
.anomalous-ai-new-task {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 7px;
|
|
height: 36px;
|
|
padding: 0 16px;
|
|
border: 0;
|
|
border-radius: 10px;
|
|
background: var(--amb-btn-primary-bg, var(--amb-link));
|
|
color: var(--amb-btn-primary-text, #fff);
|
|
font: inherit;
|
|
font-size: 13px;
|
|
font-weight: 700;
|
|
cursor: pointer;
|
|
transition: filter 0.15s, transform 0.15s;
|
|
}
|
|
|
|
.anomalous-ai-new-task:hover { filter: brightness(1.08); transform: translateY(-1px); }
|
|
|
|
.anomalous-ai-tasks-ways { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
|
|
|
|
.anomalous-ai-way {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 6px;
|
|
height: 30px;
|
|
border: 1px solid var(--amb-border);
|
|
border-radius: 9px;
|
|
background: none;
|
|
color: var(--amb-text-soft);
|
|
font: inherit;
|
|
font-size: 12.5px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.anomalous-ai-way:hover { border-color: var(--amb-border-strong); background: rgba(var(--amb-ink-rgb), 0.06); color: var(--amb-text-main); }
|
|
|
|
.anomalous-ai-visit { display: flex; align-items: center; gap: 7px; min-width: 0; color: var(--amb-text-dim); font-size: 11.5px; }
|
|
.anomalous-ai-visit-dot { flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--amb-text-dim); opacity: 0.6; }
|
|
.anomalous-ai-visit.is-known .anomalous-ai-visit-dot { background: var(--amb-ok); opacity: 1; }
|
|
.anomalous-ai-visit-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
|
|
.anomalous-ai-state-icon.is-waiting {
|
|
background: color-mix(in srgb, var(--amb-link) 20%, transparent);
|
|
color: var(--amb-link);
|
|
}
|
|
|
|
/* A task waiting for an AI (ui_ai_ready.js): one thing to do, in the middle of the column. */
|
|
.anomalous-ai-waiting {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
width: 100%;
|
|
max-width: 600px;
|
|
margin: clamp(16px, 9vh, 72px) auto 0;
|
|
text-align: center;
|
|
}
|
|
|
|
.anomalous-ai-waiting-art { flex: none; width: 104px; height: 104px; object-fit: contain; animation: anomalous-ai-waiting-float 4s ease-in-out infinite; }
|
|
@keyframes anomalous-ai-waiting-float { 50% { transform: translateY(-6px); } }
|
|
|
|
.anomalous-ai-waiting-title {
|
|
margin-top: 10px;
|
|
color: var(--amb-text-main);
|
|
font-size: 20px;
|
|
font-weight: 800;
|
|
}
|
|
|
|
.anomalous-ai-waiting-body {
|
|
margin: 6px 0 18px;
|
|
color: var(--amb-text-soft);
|
|
font-size: 13.5px;
|
|
line-height: 1.7;
|
|
}
|
|
|
|
.anomalous-ai-waiting > .anomalous-ai-hint { width: 100%; margin-bottom: 22px; }
|
|
.anomalous-ai-waiting > .anomalous-ai-copy { flex-direction: column; gap: 14px; width: 100%; padding: 16px 18px; border-radius: 14px; }
|
|
.anomalous-ai-waiting > .anomalous-ai-copy .anomalous-ai-copy-text { flex: none; width: 100%; color: var(--amb-text-soft); word-break: normal; overflow-wrap: anywhere; }
|
|
.anomalous-ai-waiting > .anomalous-ai-copy .anomalous-ai-copy-button { justify-content: center; min-width: 200px; height: 40px; padding: 0 22px; font-size: 14px; font-weight: 700; }
|
|
|
|
.anomalous-ai-ready-label { color: var(--amb-text-dim); font-size: 12px; font-weight: 650; }
|
|
.anomalous-ai-ready-done { display: flex; flex-direction: column; gap: 8px; width: 100%; min-width: 0; margin-top: 24px; text-align: left; }
|
|
|
|
/* The card for an AI not connected yet (ui_ai_connect.js connectHint). */
|
|
.anomalous-ai-hint {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 14px;
|
|
padding: 16px 18px;
|
|
border: 1px solid color-mix(in srgb, var(--amb-link) 30%, var(--amb-border));
|
|
border-radius: 16px;
|
|
background: color-mix(in srgb, var(--amb-link) 7%, transparent);
|
|
text-align: left;
|
|
}
|
|
|
|
.anomalous-ai-hint-row { display: flex; align-items: center; gap: 18px; }
|
|
.anomalous-ai-hint-art { flex: none; width: 132px; height: 88px; object-fit: contain; }
|
|
.anomalous-ai-hint-words { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-width: 0; }
|
|
.anomalous-ai-hint-title { color: var(--amb-text-main); font-size: 14.5px; font-weight: 700; }
|
|
.anomalous-ai-hint-body { margin: 0; color: var(--amb-text-soft); font-size: 12.5px; line-height: 1.65; }
|
|
|
|
.anomalous-ai-hint-open {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
height: 30px;
|
|
margin-top: 2px;
|
|
padding: 0 12px;
|
|
border: 1px solid color-mix(in srgb, var(--amb-link) 55%, transparent);
|
|
border-radius: 9px;
|
|
background: color-mix(in srgb, var(--amb-link) 14%, transparent);
|
|
color: var(--amb-text-main);
|
|
font: inherit;
|
|
font-size: 12.5px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.anomalous-ai-hint-open:hover { background: color-mix(in srgb, var(--amb-link) 24%, transparent); }
|
|
.anomalous-ai-hint-guide { padding-top: 14px; border-top: 1px solid var(--amb-border); }
|
|
|
|
@media (max-width: 640px) {
|
|
.anomalous-ai-hint-row { flex-direction: column; text-align: center; }
|
|
.anomalous-ai-hint-words { align-items: center; }
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) { .anomalous-ai-waiting-art { animation: none; } }
|
|
|
|
.anomalous-ai-connect {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
text-align: left;
|
|
}
|
|
|
|
.anomalous-ai-connect-step,
|
|
.anomalous-ai-connect-app {
|
|
margin-top: 4px;
|
|
color: var(--amb-text-main);
|
|
font-size: 12.5px;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.anomalous-ai-connect-app {
|
|
font-weight: 500;
|
|
color: var(--amb-text-soft);
|
|
}
|
|
|
|
.anomalous-ai-connect-note {
|
|
color: var(--amb-text-dim);
|
|
font-size: 12px;
|
|
line-height: 1.6;
|
|
}
|
|
|
|
.anomalous-ai-connect-apps > summary {
|
|
color: var(--amb-link);
|
|
font-size: 12.5px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.anomalous-ai-connect-apps > summary:hover { text-decoration: underline; }
|
|
|
|
.anomalous-ai-connect-apps[open] {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 6px;
|
|
}
|
|
|
|
.anomalous-ai-copy {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
padding: 8px 10px;
|
|
border: 1px solid var(--amb-border);
|
|
border-radius: 8px;
|
|
background: rgba(var(--amb-ink-rgb), 0.05);
|
|
}
|
|
|
|
.anomalous-ai-copy-text {
|
|
flex: 1;
|
|
min-width: 0;
|
|
color: var(--amb-text-main);
|
|
font-size: 12.5px;
|
|
line-height: 1.6;
|
|
word-break: break-all;
|
|
}
|
|
|
|
.anomalous-ai-copy.is-rules { align-items: flex-start; }
|
|
.anomalous-ai-copy.is-rules .anomalous-ai-copy-text { white-space: pre-line; word-break: normal; overflow-wrap: anywhere; }
|
|
|
|
.anomalous-ai-copy.is-code .anomalous-ai-copy-text {
|
|
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
font-size: 12px;
|
|
}
|
|
|
|
.anomalous-ai-copy-button {
|
|
display: inline-flex;
|
|
flex: none;
|
|
align-items: center;
|
|
gap: 6px;
|
|
height: 32px;
|
|
padding: 0 12px;
|
|
border: 0;
|
|
border-radius: 9px;
|
|
background: var(--amb-link);
|
|
color: var(--amb-on-link);
|
|
font: inherit;
|
|
font-size: 12.5px;
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
transition: filter 0.15s, background 0.15s;
|
|
}
|
|
|
|
.anomalous-ai-copy-button:hover { filter: brightness(1.15); box-shadow: 0 0 0 3px color-mix(in srgb, var(--amb-link) 28%, transparent); }
|
|
.anomalous-ai-copy-button.is-done { background: var(--amb-ok); }
|
|
|
|
.anomalous-ai-connect-overlay {
|
|
position: fixed;
|
|
inset: 0;
|
|
z-index: 1000001; /* as ui_dialog.js's dialogs: above the image inspector it can open from (Hand to AI) */
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 20px;
|
|
background: var(--amb-scrim, rgba(0, 0, 0, 0.55));
|
|
}
|
|
|
|
.anomalous-ai-connect-dialog {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
width: min(620px, 100%);
|
|
max-height: 88vh;
|
|
overflow-y: auto;
|
|
padding: 20px 22px;
|
|
border: 1px solid var(--amb-border-strong);
|
|
border-radius: 16px;
|
|
background: var(--amb-bg-dialog, var(--amb-bg-panel, #17171c));
|
|
color: var(--amb-text-main);
|
|
}
|
|
|
|
.anomalous-ai-connect-head {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.anomalous-ai-connect-title {
|
|
font-size: 16px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.anomalous-ai-connect-close {
|
|
border: none;
|
|
background: none;
|
|
color: var(--amb-text-soft);
|
|
font-size: 20px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.anomalous-ai-welcome .anomalous-ai-hint { width: 100%; }
|