NODEDC_1C/llm_normalizer/frontend/src/styles.css

2259 lines
41 KiB
CSS

@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;600;700;800&family=Space+Grotesk:wght@500;700&display=swap");
:root {
--rgb-background: 16, 16, 19;
--rgb-surface-main: 26, 26, 31;
--rgb-surface-horizontal: 32, 32, 38;
--rgb-surface-focus: 40, 40, 47;
--rgb-assistant-chip: 18, 18, 18;
--rgb-assistant-chip-hover: 44, 44, 44;
--rgb-assistant-chip-selected: 228, 142, 92;
--rgb-assistant-chip-selected-text: 18, 18, 18;
--rgb-active: 228, 142, 92;
--rgb-active-text: 18, 18, 18;
--rgb-text-main: 240, 240, 240;
--rgb-text-muted: 166, 166, 170;
--rgb-emerald: 126, 211, 154;
--rgb-warning: 255, 196, 116;
--rgb-danger: 255, 126, 126;
--rgb-scrollbar-track: 31, 31, 36;
--rgb-scrollbar-thumb: 74, 74, 82;
--rgb-scrollbar-thumb-hover: 90, 90, 100;
--mode-column-width: 440px;
--mode-toggle-width: 188px;
--bg-main: rgb(var(--rgb-background));
--bg-soft: rgb(var(--rgb-surface-main));
--bg-panel: rgb(var(--rgb-surface-main));
--bg-panel-accent: rgb(var(--rgb-surface-horizontal));
--surface-horizontal: rgb(var(--rgb-surface-horizontal));
--surface-focus: rgb(var(--rgb-surface-focus));
--line: transparent;
--line-strong: rgba(var(--rgb-active), 0.48);
--text-main: rgb(var(--rgb-text-main));
--text-muted: rgb(var(--rgb-text-muted));
--lime-main: rgb(var(--rgb-text-main));
--lime-press: rgb(var(--rgb-text-main));
--danger: rgb(var(--rgb-danger));
--radius-lg: 20px;
--radius-md: 14px;
--shadow: none;
--autoruns-col-width: var(--mode-column-width);
}
* {
box-sizing: border-box;
scrollbar-width: thin;
scrollbar-color: rgb(var(--rgb-scrollbar-thumb)) rgb(var(--rgb-scrollbar-track));
}
*::-webkit-scrollbar {
width: 10px;
height: 10px;
}
*::-webkit-scrollbar-track {
background: rgb(var(--rgb-scrollbar-track));
}
*::-webkit-scrollbar-thumb {
background: rgb(var(--rgb-scrollbar-thumb));
border-radius: 999px;
border: 2px solid rgb(var(--rgb-scrollbar-track));
}
*::-webkit-scrollbar-thumb:hover {
background: rgb(var(--rgb-scrollbar-thumb-hover));
}
html,
body,
#root {
margin: 0;
min-height: 100dvh;
font-family: "Manrope", "Segoe UI", sans-serif;
background: var(--bg-main);
color: var(--text-main);
}
.app-root {
max-width: 1720px;
margin: 0 auto;
padding: 12px 16px 16px;
}
.app-root.app-root-autoruns {
max-width: none;
width: 100%;
min-height: 100dvh;
max-height: 100dvh;
display: flex;
flex-direction: column;
overflow: hidden;
}
.app-topbar {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
margin: 0 0 12px;
padding: 0;
min-height: 38px;
}
.layout-grid {
display: grid;
grid-template-columns: repeat(12, 1fr);
gap: 16px;
}
.layout-grid.layout-grid-autoruns {
min-height: 0;
flex: 1 1 auto;
grid-template-columns: minmax(0, 1fr);
}
.layout-grid.layout-grid-mode-columns {
min-height: 0;
flex: 1 1 auto;
grid-template-columns: minmax(0, 1fr);
}
.mode-switch-row {
display: flex;
gap: 8px;
margin: 0;
padding: 0;
}
.mode-switch-row.mode-switch-row-right {
margin-left: auto;
justify-content: flex-end;
max-width: 72%;
overflow-x: auto;
overflow-y: hidden;
padding-bottom: 2px;
}
.mode-switch-row .tab {
white-space: nowrap;
}
.mode-switch-row.mode-switch-row-right .tab {
width: var(--mode-toggle-width);
min-width: var(--mode-toggle-width);
text-align: center;
}
.mode-columns {
display: flex;
gap: 12px;
width: 100%;
min-height: 0;
flex: 1 1 auto;
overflow-x: auto;
overflow-y: hidden;
padding-bottom: 4px;
}
.mode-col {
flex: 0 0 var(--mode-column-width);
width: var(--mode-column-width);
min-height: 0;
height: 100%;
display: flex;
}
.mode-col.mode-col-wide {
flex-basis: var(--mode-column-width);
width: var(--mode-column-width);
}
.mode-col.mode-col-xwide {
flex-basis: var(--mode-column-width);
width: var(--mode-column-width);
}
.mode-col .panel-frame {
width: 100%;
height: 100%;
}
.mode-col .panel-body {
min-height: 0;
overflow: auto;
}
.mode-columns-empty {
min-width: 360px;
border-radius: 14px;
background: rgb(var(--rgb-surface-main));
color: var(--text-muted);
padding: 14px;
}
.panel-frame {
grid-column: span 12;
border: none;
border-radius: var(--radius-lg);
background: var(--bg-panel);
overflow: hidden;
box-shadow: none;
animation: rise 0.4s ease-out;
display: flex;
flex-direction: column;
min-height: 0;
}
.panel-header {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 14px;
padding: 14px 18px 10px;
border-bottom: none;
background: var(--bg-panel-accent);
}
.panel-header h2 {
margin: 0;
font-size: 1.02rem;
letter-spacing: 0.02em;
}
.panel-header p {
margin: 6px 0 0;
font-size: 0.85rem;
color: var(--text-muted);
}
.panel-body {
padding: 10px 12px 12px;
min-height: 0;
}
.app-root-autoruns .autoruns-frame {
height: 100%;
}
.app-root-autoruns .autoruns-frame .panel-body {
flex: 1 1 auto;
overflow: hidden;
display: flex;
flex-direction: column;
gap: 10px;
padding: 10px 12px 12px;
background: rgb(var(--rgb-background));
}
.status-chip {
border: none;
border-radius: 999px;
padding: 4px 10px;
color: var(--lime-main);
font-size: 0.78rem;
background: rgb(var(--rgb-surface-focus));
}
.assistant-toolbar {
display: grid;
gap: 8px;
}
.assistant-toolbar-actions {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
align-items: center;
gap: 8px;
}
.assistant-toolbar-meta {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
}
.assistant-toolbar-meta-right {
margin-left: auto;
display: flex;
align-items: center;
justify-content: flex-end;
gap: 8px;
min-width: 0;
flex-wrap: wrap;
}
.assistant-live-status {
color: var(--text-muted);
font-size: 0.8rem;
white-space: nowrap;
}
.assistant-toolbar-error {
margin: 0;
}
.assistant-copy-btn {
width: 100%;
justify-self: stretch;
background: transparent;
border-color: transparent;
color: var(--text-main);
font-size: 0.6rem;
line-height: 1.1;
white-space: nowrap;
text-align: center;
letter-spacing: 0;
padding: 6px 8px;
box-shadow: none;
transform: none;
}
.assistant-copy-btn:hover {
background: rgb(var(--rgb-surface-focus));
filter: none;
box-shadow: none;
transform: none;
}
.assistant-copy-feedback {
font-size: 0.76rem;
color: var(--text-muted);
}
.assistant-copy-feedback.success {
color: var(--lime-main);
}
.assistant-copy-feedback.error {
color: var(--danger);
}
input,
select,
textarea,
button {
font-family: "Manrope", sans-serif;
}
label {
display: flex;
flex-direction: column;
gap: 6px;
color: var(--text-muted);
font-size: 0.84rem;
}
input,
select,
textarea {
border: none;
border-radius: var(--radius-md);
background: rgb(var(--rgb-surface-horizontal));
color: var(--text-main);
padding: 10px 12px;
outline: none;
transition: background-color 0.18s ease;
}
input:focus,
select:focus,
textarea:focus {
border-color: transparent;
box-shadow: none;
outline: none;
background: rgb(var(--rgb-surface-focus));
}
textarea {
resize: vertical;
min-height: 86px;
overflow-y: auto;
overflow-x: hidden;
scrollbar-gutter: stable;
}
.assistant-input-textarea,
.autoruns-personality-prompt {
overflow-y: auto;
overflow-x: hidden;
scrollbar-gutter: stable both-edges;
border-bottom-right-radius: 6px;
}
.assistant-input-textarea::-webkit-scrollbar-corner,
.autoruns-personality-prompt::-webkit-scrollbar-corner {
background: rgb(var(--rgb-surface-horizontal));
}
button {
border: none;
border-radius: 999px;
background: rgb(var(--rgb-surface-horizontal));
color: rgb(var(--rgb-text-main));
font-weight: 700;
font-size: 0.83rem;
letter-spacing: 0.02em;
cursor: pointer;
padding: 9px 14px;
transition: background 0.2s ease, color 0.2s ease;
outline: none;
box-shadow: none;
}
button:hover {
border-color: transparent;
background: rgb(var(--rgb-surface-focus));
}
button:disabled {
opacity: 0.52;
cursor: not-allowed;
}
.button-row {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 10px;
margin-top: 12px;
}
.checkbox-row {
flex-direction: row;
align-items: center;
gap: 8px;
color: var(--text-main);
}
.grid-two {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
}
.prompt-manager-grid {
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: 12px;
}
.full-width {
grid-column: 1 / -1;
}
.tab-row {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-bottom: 12px;
}
.tab {
background: rgb(var(--rgb-surface-main));
color: var(--text-main);
border: none;
}
.tab.active {
border-color: transparent;
background: rgb(var(--rgb-active));
color: rgb(var(--rgb-active-text));
}
.assistant-chat-list {
flex: 1 1 auto;
min-height: 0;
overflow: auto;
overscroll-behavior: contain;
display: flex;
flex-direction: column;
gap: 8px;
padding: 10px;
border: none;
border-radius: 12px;
background: rgb(var(--rgb-surface-horizontal));
}
.assistant-chat-list .assistant-msg:first-child {
margin-top: auto;
}
.assistant-empty {
padding: 18px;
text-align: center;
}
.assistant-msg {
border: none;
border-radius: 12px;
background: rgb(var(--rgb-surface-focus));
padding: 8px 10px;
display: grid;
gap: 6px;
min-width: 0;
}
.assistant-msg.user {
margin-left: 12%;
border-color: transparent;
background: rgb(var(--rgb-active));
color: rgb(var(--rgb-active-text));
}
.assistant-msg.assistant {
margin-right: 12%;
border-color: transparent;
}
.assistant-msg.user .assistant-msg-head {
color: rgba(var(--rgb-active-text), 0.9);
}
.assistant-msg.user .assistant-msg-body {
color: rgb(var(--rgb-active-text));
}
.assistant-msg-head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
margin-bottom: 0;
font-size: 0.74rem;
color: var(--text-muted);
}
.assistant-msg-head-main {
flex: 1 1 auto;
min-width: 0;
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
}
.assistant-msg-head-actions {
display: inline-flex;
align-items: center;
justify-content: center;
flex: 0 0 auto;
}
.assistant-comment-btn {
cursor: pointer;
}
.assistant-comment-btn:disabled {
opacity: 0.42;
cursor: not-allowed;
}
.assistant-msg.user .assistant-comment-btn {
color: rgba(var(--rgb-active-text), 0.92);
}
.assistant-msg-body {
display: grid;
gap: 10px;
line-height: 1.35;
font-size: 0.84rem;
min-width: 0;
}
.assistant-msg-block {
display: grid;
gap: 4px;
min-width: 0;
}
.assistant-msg-block.selectable {
cursor: pointer;
padding: 8px 10px;
border-radius: 12px;
transition: background 0.18s ease, color 0.18s ease;
}
.assistant-msg-block.selectable:hover,
.assistant-msg-block.selectable:focus-visible {
background: rgba(var(--rgb-active), 0.18);
outline: none;
}
.assistant-msg-block.selectable.active {
background: rgb(var(--rgb-active));
color: rgb(var(--rgb-active-text));
}
.assistant-msg-block.selectable.active:hover,
.assistant-msg-block.selectable.active:focus-visible {
background: rgb(var(--rgb-active));
}
.assistant-msg-block.selectable.active .assistant-msg-line,
.assistant-msg-block.selectable.active .assistant-msg-line strong {
color: rgb(var(--rgb-active-text));
}
.assistant-msg-line {
margin: 0;
white-space: pre-wrap;
word-break: break-word;
overflow-wrap: anywhere;
}
.assistant-msg-line.heading {
font-weight: 700;
letter-spacing: 0.01em;
}
.assistant-msg-line.numbered {
margin-top: 2px;
}
.assistant-msg-line strong {
font-weight: 800;
}
.assistant-trace {
margin-top: 6px;
color: var(--text-muted);
font-size: 0.75rem;
}
.assistant-debug {
margin-top: 8px;
}
.assistant-debug summary {
cursor: pointer;
color: var(--lime-main);
font-size: 0.8rem;
}
.assistant-compose {
margin-top: 0;
display: grid;
gap: 8px;
flex: 0 0 auto;
}
.assistant-compose-context {
display: grid;
gap: 6px;
padding: 10px 12px;
border-radius: var(--radius-md);
background: rgb(var(--rgb-surface-horizontal));
}
.assistant-compose-context-label {
color: var(--text-muted);
font-size: 0.74rem;
font-weight: 700;
letter-spacing: 0.01em;
}
.assistant-compose-context-pill {
display: inline-flex;
align-items: center;
gap: 8px;
max-width: 100%;
width: fit-content;
min-height: 38px;
padding: 0 10px 0 12px;
border-radius: 999px;
background: rgb(var(--rgb-assistant-chip-selected));
color: rgb(var(--rgb-assistant-chip-selected-text));
}
.assistant-compose-context-pill-text {
min-width: 0;
max-width: min(100%, 460px);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 0.82rem;
font-weight: 700;
}
.assistant-compose-context-clear {
display: inline-flex;
align-items: center;
justify-content: center;
width: 24px;
height: 24px;
min-width: 24px;
padding: 0;
border-radius: 999px;
background: rgba(0, 0, 0, 0.18);
color: inherit;
font-size: 0.96rem;
line-height: 1;
}
.assistant-compose-context-clear:hover {
background: rgba(0, 0, 0, 0.28);
}
.assistant-send-row {
align-items: center;
margin-top: 2px;
}
.assistant-send-btn {
margin-left: auto;
}
.assistant-comments-frame .panel-body {
display: flex;
flex-direction: column;
min-height: 0;
overflow: hidden;
}
.assistant-comments-shell {
display: grid;
gap: 8px;
min-height: 0;
height: 100%;
}
.assistant-comments-toolbar {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
}
.assistant-comments-list {
display: grid;
gap: 8px;
overflow: auto;
min-height: 0;
padding-right: 2px;
}
.assistant-comment-item {
border: none;
border-radius: 10px;
background: rgb(var(--rgb-surface-horizontal));
padding: 8px;
display: grid;
gap: 6px;
}
.assistant-comment-head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
font-size: 0.75rem;
}
.assistant-comment-item p {
margin: 0;
white-space: pre-wrap;
font-size: 0.8rem;
}
.assistant-comment-meta {
display: flex;
flex-wrap: wrap;
gap: 8px;
color: var(--text-muted);
font-size: 0.74rem;
}
.app-root-autoruns .assistant-panel-frame .panel-header {
position: sticky;
top: -12px;
z-index: 8;
margin: -12px -12px 0;
padding: 12px 12px 10px;
background: rgb(var(--rgb-surface-main));
}
.app-root-autoruns .assistant-panel-frame {
overflow: visible;
}
.app-root-autoruns .assistant-panel-frame .panel-body {
flex: 1 1 auto;
padding: 0 12px 12px;
display: flex;
flex-direction: column;
min-height: 0;
overflow: hidden;
}
.app-root-autoruns .assistant-panel-frame .assistant-live-shell {
flex: 1 1 auto;
min-height: 0;
padding: 12px;
border-radius: 14px;
background: rgb(var(--rgb-background));
display: flex;
flex-direction: column;
gap: 10px;
}
.app-root-autoruns .assistant-panel-frame .assistant-chat-list {
overflow-y: auto;
}
.app-root-autoruns .assistant-panel-frame .panel-header h2 {
margin: 0;
font-size: 0.95rem;
}
.json-view {
margin: 0;
width: 100%;
min-height: 180px;
max-height: 420px;
overflow: auto;
background: rgb(var(--rgb-surface-horizontal));
border: none;
border-radius: var(--radius-md);
padding: 12px;
color: rgb(var(--rgb-text-main));
font-family: "JetBrains Mono", "Consolas", monospace;
font-size: 0.78rem;
line-height: 1.45;
}
.metrics-grid {
display: grid;
grid-template-columns: repeat(5, minmax(0, 1fr));
gap: 10px;
}
.metrics-grid div {
background: rgba(var(--rgb-surface-main), 0.8);
border: none;
border-radius: 12px;
padding: 10px;
display: flex;
flex-direction: column;
gap: 4px;
}
.metrics-grid span {
color: var(--text-muted);
font-size: 0.75rem;
}
.metrics-grid strong {
font-size: 0.84rem;
color: var(--lime-main);
}
.history-list {
display: grid;
gap: 8px;
max-height: 340px;
overflow: auto;
}
.history-item {
width: 100%;
text-align: left;
border-radius: 12px;
border: none;
background: rgb(var(--rgb-surface-main));
color: var(--text-main);
padding: 10px;
}
.history-item p {
margin: 8px 0;
color: var(--text-muted);
font-size: 0.82rem;
}
.history-item.selected {
border-color: var(--line-strong);
}
.history-row {
display: flex;
justify-content: space-between;
gap: 8px;
font-size: 0.76rem;
color: var(--text-muted);
}
.runtime-grid {
display: grid;
grid-template-columns: 1.2fr 1fr;
gap: 12px;
}
.runtime-stack {
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: 12px;
}
.runtime-details {
display: grid;
gap: 12px;
}
.runtime-runs {
max-height: 360px;
overflow: auto;
display: grid;
gap: 8px;
}
.eval-report-wrap {
position: relative;
}
.copy-cube-button {
position: absolute;
right: 10px;
bottom: 10px;
width: 34px;
height: 34px;
border-radius: 10px;
padding: 0;
min-width: 34px;
display: grid;
place-items: center;
font-size: 0.92rem;
line-height: 1;
}
.muted {
color: var(--text-muted);
}
.diff-summary {
margin-top: 10px;
font-size: 0.82rem;
color: var(--lime-main);
}
.error-text {
margin-top: 10px;
color: var(--danger);
font-size: 0.84rem;
}
.autoruns-columns {
display: flex;
gap: 12px;
width: 100%;
min-height: 0;
flex: 1 1 auto;
overflow-x: auto;
overflow-y: hidden;
padding-bottom: 4px;
}
.autoruns-col {
flex: 0 0 var(--mode-column-width);
width: var(--mode-column-width);
height: 100%;
min-height: 0;
overflow-y: auto;
overflow-x: hidden;
border: none;
border-radius: 14px;
background: rgb(var(--rgb-surface-main));
padding: 12px;
scrollbar-gutter: stable;
}
.autoruns-settings-col {
display: flex;
flex-direction: column;
}
.autoruns-settings-stack {
display: grid;
gap: 12px;
}
.embedded-panel-section {
display: grid;
gap: 12px;
border-radius: 12px;
background: rgb(var(--rgb-surface-horizontal));
padding: 12px;
}
.embedded-panel-section-header {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 12px;
}
.embedded-panel-section-header h4 {
margin: 0;
color: var(--text-main);
font-size: 0.92rem;
}
.embedded-panel-section-header p {
margin: 6px 0 0;
color: var(--text-muted);
font-size: 0.78rem;
line-height: 1.4;
}
.autoruns-assistant-live-col {
background: rgb(var(--rgb-surface-main));
padding: 12px;
overflow: hidden;
scrollbar-gutter: auto;
}
.autoruns-assistant-live-col .panel-frame {
height: 100%;
background: rgb(var(--rgb-surface-main));
}
.autoruns-col h3 {
margin: 0;
font-size: 0.95rem;
}
.autoruns-col h4 {
margin: 12px 0 8px;
font-size: 0.82rem;
color: var(--text-muted);
}
.autoruns-group-heading {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
margin: 12px 0 8px;
}
.autoruns-group-heading h4 {
margin: 0;
}
.autoruns-group-toggle {
width: 20px;
min-width: 20px;
height: 20px;
padding: 0;
border: none;
border-radius: 6px;
background: transparent;
color: var(--text-muted);
display: inline-flex;
align-items: center;
justify-content: center;
}
.autoruns-group-toggle:hover {
background: rgba(var(--rgb-background), 0.28);
color: rgb(var(--rgb-text-main));
}
.autoruns-group-chevron-svg {
width: 14px;
height: 14px;
stroke: currentColor;
fill: none;
stroke-width: 1.6;
stroke-linecap: round;
stroke-linejoin: round;
transform: rotate(-90deg);
transition: transform 0.18s ease;
}
.autoruns-group-chevron-svg.expanded {
transform: rotate(0deg);
}
.autoruns-col-header {
position: sticky;
top: -12px;
z-index: 8;
margin: -12px -12px 10px;
padding: 12px 12px 10px;
background: rgb(var(--rgb-surface-main));
}
.autoruns-col-header .tab-row {
margin: 8px 0 0;
}
.autoruns-col-header .autoruns-dialog-toolbar {
margin-top: 8px;
}
.autoruns-form-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 8px;
}
.autoruns-meta-list {
display: grid;
gap: 8px;
}
.autoruns-meta-list > div {
display: flex;
justify-content: space-between;
gap: 8px;
border: none;
border-radius: 10px;
background: rgb(var(--rgb-surface-horizontal));
padding: 8px 9px;
font-size: 0.79rem;
}
.autoruns-meta-list span {
color: var(--text-muted);
}
.autoruns-prompt-details summary {
cursor: pointer;
color: var(--text-main);
font-size: 0.8rem;
margin-bottom: 8px;
}
.autoruns-prompt-details textarea {
min-height: 68px;
}
.autoruns-stats-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 8px;
margin-bottom: 10px;
}
.autoruns-stats-grid > div {
border: none;
border-radius: 10px;
background: rgb(var(--rgb-surface-horizontal));
padding: 8px;
display: grid;
gap: 3px;
}
.autoruns-stats-grid span {
color: var(--text-muted);
font-size: 0.74rem;
}
.autoruns-stats-grid strong {
color: var(--lime-main);
font-size: 0.84rem;
}
.autoruns-run-list {
display: grid;
gap: 8px;
max-height: none;
min-height: 0;
flex: 1 1 auto;
overflow: auto;
padding-right: 2px;
}
.autoruns-run-item {
width: 100%;
text-align: left;
border-radius: 12px;
border: none;
background: rgb(var(--rgb-surface-horizontal));
color: var(--text-main);
padding: 10px;
display: grid;
gap: 5px;
transition: background-color 0.2s ease, box-shadow 0.2s ease;
}
.autoruns-run-item.selected {
background: rgb(var(--rgb-active));
color: rgb(var(--rgb-active-text));
box-shadow: none;
}
.autoruns-run-item.selected .autoruns-run-meta {
color: rgba(var(--rgb-active-text), 0.95);
}
.autoruns-run-head,
.autoruns-run-foot {
display: flex;
justify-content: space-between;
gap: 8px;
font-size: 0.76rem;
}
.autoruns-run-meta {
color: var(--text-muted);
font-size: 0.75rem;
word-break: break-word;
}
.autoruns-run-id-row {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
min-width: 0;
}
.autoruns-run-id-row > span {
min-width: 0;
overflow-wrap: anywhere;
word-break: break-word;
}
.autoruns-copy-run-id-btn {
border: none;
background: transparent;
color: rgb(var(--rgb-text-main));
width: 16px;
height: 16px;
min-width: 16px;
min-height: 16px;
padding: 0;
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 4px;
opacity: 0.92;
cursor: pointer;
}
.autoruns-copy-run-id-btn:hover {
color: rgb(var(--rgb-text-main));
opacity: 1;
background: transparent;
box-shadow: none;
transform: none;
}
.autoruns-copy-run-id-btn:focus-visible {
outline: 1px solid rgba(var(--rgb-text-main), 0.7);
outline-offset: 1px;
}
.autoruns-copy-icon-svg {
width: 0.82rem;
height: 0.82rem;
fill: none;
stroke: currentColor;
stroke-width: 1.75;
stroke-linecap: round;
stroke-linejoin: round;
}
.autoruns-dialog-toolbar {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 8px;
}
.autoruns-case-list {
margin-top: 8px;
display: grid;
gap: 6px;
max-height: 180px;
overflow: auto;
}
.autoruns-case-item {
width: 100%;
text-align: left;
border-radius: 10px;
border: none;
background: rgb(var(--rgb-surface-horizontal));
color: var(--text-main);
padding: 7px 8px;
display: flex;
justify-content: space-between;
gap: 6px;
font-size: 0.76rem;
}
.autoruns-case-item.selected {
background: rgb(var(--rgb-active));
color: rgb(var(--rgb-active-text));
box-shadow: none;
}
.autoruns-dialog-view {
margin-top: 10px;
border: none;
border-radius: 12px;
background: rgb(var(--rgb-surface-horizontal));
padding: 10px;
max-height: none;
min-height: 0;
flex: 1 1 auto;
overflow: auto;
display: grid;
gap: 8px;
}
.autoruns-msg {
border: none;
border-radius: 12px;
background: rgb(var(--rgb-surface-focus));
padding: 8px 10px;
display: grid;
gap: 6px;
min-width: 0;
overflow: hidden;
}
.autoruns-msg header,
.autoruns-msg footer {
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-wrap: wrap;
min-width: 0;
gap: 8px;
font-size: 0.74rem;
color: var(--text-muted);
}
.autoruns-msg-head-actions {
display: flex;
align-items: center;
justify-content: flex-end;
flex: 1 1 auto;
min-width: 0;
flex-wrap: wrap;
gap: 8px;
}
.autoruns-msg-head-actions > span {
min-width: 0;
overflow-wrap: anywhere;
word-break: break-word;
}
.autoruns-msg-case-tag {
display: inline-flex;
align-items: center;
border-radius: 999px;
padding: 2px 8px;
font-size: 0.7rem;
line-height: 1;
color: rgb(var(--rgb-active-text));
background: rgba(var(--rgb-active), 0.24);
}
.autoruns-msg p {
margin: 0;
white-space: pre-wrap;
line-height: 1.35;
font-size: 0.84rem;
overflow-wrap: anywhere;
word-break: break-word;
}
.autoruns-msg footer span {
min-width: 0;
overflow-wrap: anywhere;
word-break: break-word;
}
.autoruns-comment-icon {
border: none;
background: transparent;
color: rgb(var(--rgb-text-main));
border-radius: 0;
min-width: 16px;
min-height: 16px;
width: 16px;
height: 16px;
padding: 0;
line-height: 1;
box-shadow: none;
transform: none;
display: inline-flex;
align-items: center;
justify-content: center;
cursor: pointer;
opacity: 0.92;
}
.autoruns-comment-icon:hover {
background: transparent;
color: rgb(var(--rgb-text-main));
opacity: 1;
box-shadow: none;
transform: none;
}
.autoruns-comment-icon.commented {
color: rgb(var(--rgb-active));
background: transparent;
box-shadow: none;
}
.autoruns-comment-icon:focus-visible {
outline: 1px solid rgba(var(--rgb-text-main), 0.7);
outline-offset: 1px;
}
.autoruns-comment-icon:disabled {
opacity: 0.42;
cursor: not-allowed;
}
.comment-icon-svg {
width: 0.82rem;
height: 0.82rem;
stroke: currentColor;
stroke-width: 1.75;
stroke-linecap: round;
stroke-linejoin: round;
fill: none;
}
.comment-icon-svg.commented {
stroke: rgb(var(--rgb-active));
fill: none;
}
.autoruns-resolve-toggle {
border: none;
background: rgb(var(--rgb-surface-focus));
color: rgb(var(--rgb-text-main));
border-radius: 999px;
width: 22px;
height: 22px;
min-width: 22px;
min-height: 22px;
padding: 0;
display: inline-flex;
align-items: center;
justify-content: center;
box-shadow: none;
transform: none;
}
.autoruns-resolve-toggle:hover {
background: rgb(var(--rgb-surface-focus));
color: rgb(var(--rgb-active));
box-shadow: none;
transform: none;
}
.autoruns-resolve-toggle:disabled {
opacity: 0.55;
cursor: wait;
}
.autoruns-resolve-toggle.resolved {
background: rgb(var(--rgb-active));
color: rgb(var(--rgb-active-text));
}
.resolve-icon-svg {
width: 14px;
height: 14px;
fill: none;
stroke: currentColor;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
}
.resolve-icon-svg.resolved {
fill: currentColor;
}
.autoruns-msg-annotation {
display: grid;
gap: 4px;
border: none;
border-radius: 10px;
background: rgb(var(--rgb-surface-horizontal));
padding: 7px 8px;
font-size: 0.78rem;
}
.autoruns-comments-list {
display: grid;
gap: 8px;
max-height: none;
min-height: 0;
flex: 1 1 auto;
overflow: auto;
padding-right: 2px;
margin-top: 6px;
}
.autoruns-autogen-list {
display: grid;
gap: 8px;
max-height: none;
min-height: 0;
overflow: auto;
padding-right: 2px;
}
.autoruns-autogen-item {
border: none;
border-radius: 10px;
background: rgb(var(--rgb-surface-horizontal));
padding: 8px;
display: grid;
gap: 5px;
cursor: pointer;
overflow: hidden;
}
.autoruns-autogen-item.selected {
background: rgb(var(--rgb-active));
color: rgb(var(--rgb-active-text));
}
.autoruns-autogen-item.selected .autoruns-run-meta,
.autoruns-autogen-item.selected p {
color: rgba(var(--rgb-active-text), 0.95);
}
.autoruns-autogen-item header {
display: flex;
justify-content: space-between;
gap: 8px;
font-size: 0.76rem;
}
.autoruns-autogen-item.saved-session {
cursor: default;
gap: 8px;
}
.autoruns-autogen-item.saved-session header {
display: grid;
gap: 4px;
}
.autoruns-autogen-item.saved-session header strong {
font-size: 0.84rem;
}
.autoruns-autogen-item.saved-session header span {
color: var(--text-muted);
font-size: 0.74rem;
}
.autoruns-autogen-item.saved-session header .autoruns-autogen-card-actions {
display: none;
}
.autoruns-saved-session-meta {
display: flex;
align-items: center;
gap: 6px;
flex-wrap: wrap;
font-size: 0.74rem;
line-height: 1.35;
}
.autoruns-saved-session-meta-label {
font-size: inherit;
font-weight: 700;
color: #fff;
}
.autoruns-saved-session-meta-value {
color: rgba(255, 255, 255, 0.82);
}
.autoruns-saved-session-meta-id {
width: 100%;
justify-content: space-between;
align-items: flex-start;
flex-wrap: nowrap;
gap: 8px;
}
.autoruns-saved-session-meta-id-main {
display: flex;
align-items: center;
gap: 6px;
min-width: 0;
flex: 1 1 auto;
flex-wrap: wrap;
}
.autoruns-saved-session-meta-id-main .autoruns-saved-session-meta-value {
overflow-wrap: anywhere;
word-break: break-word;
}
.autoruns-saved-session-meta-id .autoruns-copy-run-id-btn {
color: rgba(255, 255, 255, 0.82);
margin-left: auto;
align-self: flex-start;
}
.autoruns-saved-session-meta-id .autoruns-copy-run-id-btn:hover {
color: rgb(var(--rgb-active));
}
.autoruns-saved-session-topbar {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
min-height: 18px;
}
.autoruns-saved-session-footer {
display: flex;
align-items: center;
justify-content: flex-start;
gap: 10px;
min-height: 20px;
margin-top: 2px;
}
.autoruns-saved-session-icon-btn {
width: 20px;
min-width: 20px;
height: 20px;
padding: 0;
border: none;
border-radius: 6px;
background: transparent;
color: var(--text-muted);
display: inline-flex;
align-items: center;
justify-content: center;
}
.autoruns-saved-session-icon-btn:hover:not(:disabled) {
background: rgba(var(--rgb-background), 0.28);
color: rgb(var(--rgb-text-main));
}
.autoruns-autogen-item.saved-session .autoruns-saved-session-icon-btn,
.autoruns-autogen-item.saved-session .autoruns-autogen-delete-btn {
color: #fff;
}
.autoruns-autogen-item.saved-session .autoruns-saved-session-icon-btn:hover:not(:disabled),
.autoruns-autogen-item.saved-session .autoruns-autogen-delete-btn:hover:not(:disabled) {
background: rgba(var(--rgb-background), 0.28);
color: rgb(var(--rgb-active));
box-shadow: none;
}
.autoruns-autogen-item.saved-session .autoruns-autogen-delete-btn {
border-radius: 6px;
}
.autoruns-card-chevron-svg {
width: 14px;
height: 14px;
stroke: currentColor;
fill: none;
stroke-width: 1.6;
stroke-linecap: round;
stroke-linejoin: round;
transition: transform 0.18s ease;
}
.autoruns-card-launch-svg {
width: 14px;
height: 14px;
fill: currentColor;
stroke: none;
}
.autoruns-card-stop-svg {
width: 14px;
height: 14px;
fill: currentColor;
stroke: none;
}
.autoruns-card-chevron-svg.expanded {
transform: rotate(180deg);
}
.autoruns-saved-session-questions {
max-height: 0;
overflow: hidden;
opacity: 0;
transition: max-height 0.24s ease, opacity 0.18s ease, margin-top 0.24s ease;
margin-top: 0;
}
.autoruns-saved-session-questions.expanded {
max-height: 520px;
opacity: 1;
margin-top: 4px;
}
.autoruns-generated-questions-embedded {
margin-top: 2px;
}
.autoruns-autogen-item p {
margin: 0;
color: var(--text-muted);
white-space: pre-wrap;
font-size: 0.8rem;
}
.autoruns-run-launch-btn {
background: rgb(var(--rgb-active));
color: rgb(var(--rgb-active-text));
}
.autoruns-run-launch-btn:hover {
background: rgb(var(--rgb-surface-focus));
color: rgb(var(--rgb-text-main));
}
.autoruns-run-launch-btn:disabled {
background: rgba(var(--rgb-active), 0.38);
color: rgba(var(--rgb-active-text), 0.88);
}
.autoruns-generated-questions {
border: none;
border-radius: 10px;
background: rgb(var(--rgb-surface-horizontal));
padding: 8px;
display: grid;
gap: 8px;
}
.autoruns-generated-questions-head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
}
.autoruns-generated-questions-list {
display: grid;
gap: 6px;
max-height: 220px;
overflow: auto;
padding-right: 2px;
}
.autoruns-generated-question-item {
position: relative;
display: grid;
grid-template-columns: 22px minmax(0, 1fr) auto;
align-items: start;
gap: 8px;
border: none;
border-radius: 9px;
background: rgb(var(--rgb-surface-focus));
padding: 7px 8px;
font-size: 0.78rem;
transition: background 0.15s ease, outline-color 0.15s ease, opacity 0.15s ease;
}
.autoruns-generated-question-item.drag-over {
outline: 1px solid rgba(var(--rgb-active), 0.75);
}
.autoruns-generated-question-item.dragging {
opacity: 0.72;
}
.autoruns-generated-question-item.editing {
background: rgb(var(--rgb-active));
color: rgb(var(--rgb-active-text));
}
.autoruns-question-grip-btn {
width: 18px;
min-width: 18px;
height: 18px;
padding: 0;
border: none;
border-radius: 6px;
background: transparent;
color: var(--text-muted);
display: inline-flex;
align-items: center;
justify-content: center;
cursor: grab;
margin-top: 1px;
}
.autoruns-question-grip-btn:hover:not(:disabled) {
color: rgb(var(--rgb-text-main));
background: rgba(var(--rgb-background), 0.3);
}
.autoruns-generated-question-item.editing .autoruns-question-grip-btn {
color: rgba(var(--rgb-active-text), 0.9);
}
.autoruns-generated-question-item.editing .autoruns-question-grip-btn:hover:not(:disabled) {
color: rgb(var(--rgb-active-text));
background: rgba(var(--rgb-active-text), 0.14);
}
.autoruns-question-grip-btn:disabled {
cursor: default;
opacity: 0.45;
}
.autoruns-question-grip-svg {
width: 14px;
height: 14px;
fill: currentColor;
}
.autoruns-generated-question-text {
border: none;
background: transparent;
color: rgb(var(--rgb-text-main));
padding: 0;
margin: 0;
text-align: left;
font: inherit;
white-space: pre-wrap;
line-height: 1.4;
cursor: text;
}
.autoruns-generated-question-text:hover {
color: rgb(var(--rgb-active));
}
.autoruns-generated-question-input {
width: 100%;
min-width: 0;
border: none;
border-radius: 8px;
background: rgba(var(--rgb-background), 0.55);
color: rgb(var(--rgb-text-main));
padding: 6px 8px;
font: inherit;
line-height: 1.4;
}
.autoruns-generated-question-input:focus {
outline: none;
}
.autoruns-generated-question-item.editing .autoruns-generated-question-input {
background: rgba(var(--rgb-active-text), 0.14);
color: rgb(var(--rgb-active-text));
}
.autoruns-generated-question-item.editing .autoruns-generated-question-input::placeholder {
color: rgba(var(--rgb-active-text), 0.78);
}
.autoruns-add-question-btn {
width: 100%;
min-height: 30px;
border-radius: 8px;
border: none;
background: rgb(var(--rgb-surface-focus));
color: rgb(var(--rgb-text-main));
font-size: 1.1rem;
font-weight: 700;
line-height: 1;
}
.autoruns-add-question-btn:hover:not(:disabled) {
background: rgb(var(--rgb-active));
color: rgb(var(--rgb-active-text));
}
.autoruns-add-question-btn:disabled {
opacity: 0.5;
cursor: default;
}
.autoruns-remove-question-btn {
flex: 0 0 auto;
border: none;
border-radius: 0;
background: transparent;
color: rgb(var(--rgb-text-main));
min-width: 16px;
width: 16px;
height: 16px;
padding: 0;
font-size: 1rem;
font-weight: 700;
line-height: 1;
display: inline-flex;
align-items: center;
justify-content: center;
box-shadow: none;
transition: color 0.15s ease;
align-self: start;
}
.autoruns-remove-question-btn:hover {
background: transparent;
color: rgb(var(--rgb-active));
box-shadow: none;
}
.autoruns-generated-question-item.editing .autoruns-remove-question-btn {
color: rgb(var(--rgb-active-text));
}
.autoruns-generated-question-item.editing .autoruns-remove-question-btn:hover {
color: rgba(var(--rgb-active-text), 0.82);
}
.autoruns-remove-question-btn:focus-visible {
outline: none;
}
.autoruns-personality-prompt {
resize: vertical;
min-height: 110px;
}
.autoruns-comment-item {
width: 100%;
text-align: left;
border-radius: 12px;
border: none;
background: rgb(var(--rgb-surface-horizontal));
color: var(--text-main);
padding: 9px;
display: grid;
gap: 6px;
cursor: pointer;
}
.autoruns-comment-item p {
margin: 0;
white-space: pre-wrap;
color: var(--text-muted);
font-size: 0.79rem;
}
.autoruns-comment-item.selected {
background: rgb(var(--rgb-active));
color: rgb(var(--rgb-active-text));
}
.autoruns-comment-item.selected p,
.autoruns-comment-item.selected .autoruns-run-meta,
.autoruns-comment-item.selected .muted {
color: rgba(var(--rgb-active-text), 0.94);
}
.autoruns-comment-item.selected .autoruns-resolve-toggle {
background: rgba(var(--rgb-active-text), 0.18);
color: rgb(var(--rgb-active-text));
}
.autoruns-comment-head {
display: flex;
justify-content: space-between;
align-items: center;
gap: 8px;
font-size: 0.75rem;
}
.autoruns-comment-head-actions {
display: inline-flex;
align-items: center;
gap: 8px;
}
.autoruns-comment-filter-row {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
align-items: end;
gap: 10px;
margin-bottom: 8px;
}
.autoruns-resolved-filter-toggle {
min-height: 38px;
white-space: nowrap;
}
.autoruns-msg.assistant {
margin-right: 12%;
}
.autoruns-msg.user {
margin-left: 12%;
border-color: transparent;
background: rgb(var(--rgb-surface-focus));
}
.autoruns-decomposition-list {
margin: 0;
padding-left: 18px;
display: grid;
gap: 7px;
font-size: 0.8rem;
}
.autoruns-comment-modal-backdrop {
position: fixed;
inset: 0;
background: rgba(var(--rgb-background), 0.74);
display: grid;
place-items: center;
z-index: 1800;
padding: 12px;
}
.autoruns-comment-modal {
width: min(660px, 100%);
border: none;
border-radius: 16px;
background: rgb(var(--rgb-surface-horizontal));
box-shadow: var(--shadow);
padding: 14px;
display: grid;
gap: 10px;
}
.autoruns-comment-modal h3 {
margin: 0;
font-size: 0.95rem;
}
.autoruns-comment-quote {
margin: 0;
border: none;
border-radius: 10px;
background: rgb(var(--rgb-surface-focus));
padding: 8px;
white-space: pre-wrap;
max-height: 150px;
overflow: auto;
font-size: 0.82rem;
}
.autoruns-rating-row {
display: flex;
gap: 8px;
}
.autoruns-rating-dot {
width: 34px;
height: 34px;
border-radius: 999px;
padding: 0;
border: none;
background: rgb(var(--rgb-surface-focus));
color: var(--text-muted);
font-size: 0.95rem;
box-shadow: none;
transform: none;
}
.autoruns-rating-dot:hover {
border-color: var(--line-strong);
box-shadow: none;
transform: none;
}
.autoruns-rating-dot.active {
border-color: var(--line-strong);
color: rgb(var(--rgb-active-text));
background: rgb(var(--rgb-active));
}
.autoruns-coverage-list {
display: grid;
gap: 8px;
}
.autoruns-coverage-item {
border: none;
border-radius: 10px;
background: rgb(var(--rgb-surface-horizontal));
padding: 8px;
}
.autoruns-coverage-head {
display: flex;
justify-content: space-between;
gap: 8px;
font-size: 0.76rem;
margin-bottom: 5px;
}
.autoruns-coverage-head span {
color: var(--text-muted);
}
.autoruns-coverage-bar {
height: 7px;
border-radius: 999px;
background: rgb(var(--rgb-surface-focus));
overflow: hidden;
}
.autoruns-coverage-bar > div {
height: 100%;
border-radius: 999px;
background: rgb(var(--rgb-active));
}
.autoruns-autogen-card-actions {
display: inline-flex;
align-items: center;
gap: 8px;
}
.autoruns-autogen-delete-btn {
border: none;
border-radius: 0;
width: 22px;
height: 22px;
min-width: 22px;
padding: 0;
background: transparent;
color: rgb(var(--rgb-text-main));
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 1rem;
font-weight: 700;
line-height: 1;
box-shadow: none;
transition: color 0.15s ease;
}
.autoruns-autogen-delete-btn:hover {
background: transparent;
color: rgb(var(--rgb-active));
box-shadow: none;
}
.autoruns-agent-acceptance {
display: grid;
gap: 6px;
margin-top: 6px;
}
.autoruns-agent-pill-row {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
.autoruns-agent-pill {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 24px;
padding: 0 8px;
border-radius: 999px;
background: rgb(var(--rgb-surface-focus));
color: rgb(var(--rgb-text-main));
font-size: 0.73rem;
line-height: 1;
border: 1px solid rgba(var(--rgb-text-main), 0.1);
}
.autoruns-agent-pill.neutral {
color: var(--text-muted);
}
.autoruns-agent-pill.status-accepted {
color: rgb(var(--rgb-emerald));
border-color: rgba(var(--rgb-emerald), 0.32);
}
.autoruns-agent-pill.status-partial {
color: rgb(var(--rgb-warning));
border-color: rgba(var(--rgb-warning), 0.32);
}
.autoruns-agent-pill.status-blocked {
color: rgb(var(--rgb-danger));
border-color: rgba(var(--rgb-danger), 0.32);
}
.autoruns-agent-pill.status-unknown {
color: var(--text-muted);
}
@media (max-width: 1200px) {
:root {
--mode-column-width: 400px;
}
.metrics-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
}
@media (max-width: 920px) {
:root {
--mode-column-width: 360px;
}
.grid-two,
.runtime-grid,
.runtime-stack {
grid-template-columns: 1fr;
}
.metrics-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.autoruns-form-grid,
.autoruns-dialog-toolbar,
.autoruns-stats-grid,
.autoruns-comment-filter-row {
grid-template-columns: 1fr;
}
}
@media (max-width: 640px) {
:root {
--mode-column-width: 320px;
}
.app-root {
padding: 18px 12px 24px;
}
.metrics-grid {
grid-template-columns: 1fr;
}
}
@keyframes rise {
from {
opacity: 0;
transform: translateY(8px);
}
to {
opacity: 1;
transform: translateY(0);
}
}