:root { color-scheme: dark; --ink: #eef2e8; --muted: #9aa89a; --panel: #151815; --panel-2: #1d211d; --line: #333b32; --field: #0d100d; --green: #9de26f; --amber: #d3b35b; --red: #f07167; --cyan: #73d2de; --blue: #7aa2ff; --shadow: 0 18px 50px rgba(0, 0, 0, 0.32); font-family: "Aptos", "Segoe UI", "Noto Sans CJK SC", sans-serif; } * { box-sizing: border-box; } body { margin: 0; min-width: 1100px; background: linear-gradient(90deg, rgba(157, 226, 111, 0.07) 1px, transparent 1px), linear-gradient(180deg, rgba(115, 210, 222, 0.045) 1px, transparent 1px), #0b0d0b; background-size: 52px 52px; color: var(--ink); } button, textarea, select { font: inherit; } input, select { font: inherit; color: var(--ink); } button { border: 0; color: inherit; cursor: pointer; } .shell { display: grid; grid-template-columns: 260px 1fr; min-height: 100vh; } .rail { position: sticky; top: 0; height: 100vh; padding: 24px 18px; border-right: 1px solid var(--line); background: rgba(12, 15, 12, 0.92); } .brand { display: flex; align-items: center; gap: 12px; margin-bottom: 34px; } .mark { width: 44px; height: 44px; display: grid; place-items: center; color: #0a0d0a; background: var(--green); border-radius: 7px; } .brand strong, .brand span { display: block; } .brand span { color: var(--muted); font-size: 13px; } nav { display: grid; gap: 8px; } nav a, nav button { display: flex; align-items: center; gap: 10px; width: 100%; color: var(--muted); padding: 11px 10px; border-radius: 6px; text-decoration: none; background: transparent; text-align: left; } nav a:hover, nav button:hover, nav button.active { color: var(--ink); background: var(--panel-2); } nav button.active { border: 1px solid rgba(157, 226, 111, 0.42); background: rgba(157, 226, 111, 0.08); } nav button span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .workspace { padding: 26px; } .topbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 22px; } .eyebrow { margin: 0 0 6px; color: var(--green); font-size: 12px; letter-spacing: 0; text-transform: uppercase; } h1, h2 { margin: 0; letter-spacing: 0; } h1 { font-size: 28px; font-weight: 720; } h2 { font-size: 18px; } .pageHint { display: block; margin-top: 7px; color: var(--muted); font-size: 13px; } .shell[data-page="overview"] [data-page-section]:not([data-page-section~="overview"]), .shell[data-page="datasets"] [data-page-section]:not([data-page-section~="datasets"]), .shell[data-page="training"] [data-page-section]:not([data-page-section~="training"]), .shell[data-page="inference"] [data-page-section]:not([data-page-section~="inference"]), .shell[data-page="results"] [data-page-section]:not([data-page-section~="results"]), .shell[data-page="system"] [data-page-section]:not([data-page-section~="system"]), .shell[data-page="agents"] [data-page-section]:not([data-page-section~="agents"]) { display: none; } .iconButton, .primary { height: 38px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 6px; } .iconButton { width: 38px; background: var(--panel-2); border: 1px solid var(--line); } .primary { padding: 0 14px; background: var(--green); color: #0b0d0b; font-weight: 700; } .primary.secondary { background: var(--cyan); } .primary:disabled, .iconButton:disabled { opacity: 0.5; cursor: not-allowed; } .alert { padding: 12px 14px; border: 1px solid rgba(240, 113, 103, 0.5); background: rgba(240, 113, 103, 0.12); border-radius: 6px; margin-bottom: 18px; } .metrics, .grid { display: grid; gap: 16px; } .metrics { grid-template-columns: repeat(5, minmax(0, 1fr)); margin-bottom: 16px; } .capSummary { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; } .capSummary div { min-width: 0; padding: 10px; border-radius: 7px; border: 1px solid var(--line); background: #101310; } .capSummary span, .capSummary strong { display: block; } .capSummary span { color: var(--muted); font-size: 11px; } .capSummary strong { margin-top: 3px; font-size: 20px; } .capabilityGrid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 9px; } .capCard { min-width: 0; display: grid; gap: 8px; padding: 10px; border-radius: 7px; border: 1px solid var(--line); background: #101310; } .capCard.ok { border-color: rgba(157, 226, 111, 0.32); } .capCard.bad { border-color: rgba(240, 113, 103, 0.55); } .capHead { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; } .capHead strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .capHead span { color: var(--green); font-size: 11px; font-weight: 760; } .capCard.bad .capHead span { color: var(--red); } .capNumbers { display: grid; gap: 3px; color: var(--muted); font-size: 11px; } .capTags { display: grid; gap: 4px; } .capTags small { min-width: 0; padding: 4px 5px; border-radius: 4px; background: #080a08; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .requirementStrip { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; } .requirementStrip span { padding: 5px 7px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: #101310; font-size: 11px; } .requirementStrip span.ok { color: var(--green); border-color: rgba(157, 226, 111, 0.32); } .requirementStrip span.bad { color: var(--red); border-color: rgba(240, 113, 103, 0.55); } .metric, .panel { border: 1px solid var(--line); background: rgba(21, 24, 21, 0.94); border-radius: 8px; box-shadow: var(--shadow); } .metric { display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 12px; padding: 16px; } .metric span, .muted, small { color: var(--muted); } .metric strong { font-size: 24px; } .grid.two { grid-template-columns: minmax(0, 1.35fr) minmax(360px, 0.65fr); margin-bottom: 16px; } .grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 16px; } .grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 16px; } .panel { padding: 18px; min-width: 0; } .panelHead { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; } .taskColumns { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; } .taskGroup { min-width: 0; } .taskGroup > span { display: block; color: var(--amber); font-size: 12px; margin-bottom: 8px; } .taskGroup button { width: 100%; display: block; text-align: left; padding: 8px; margin-bottom: 6px; border-radius: 5px; background: #101310; border: 1px solid transparent; color: var(--muted); font-size: 12px; overflow-wrap: anywhere; } .taskGroup button.selected { border-color: var(--green); color: var(--ink); background: rgba(157, 226, 111, 0.08); } .gpuSelector { display: grid; gap: 10px; margin-top: 14px; padding: 10px; border: 1px solid var(--line); border-radius: 7px; background: #101310; } .gpuSelector > div:first-child { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; } .gpuSelector span { color: var(--muted); font-size: 12px; } .gpuSelector strong { min-width: 0; color: var(--green); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .gpuPicker { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; } .gpuPicker button { min-width: 0; min-height: 38px; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 6px; padding: 7px 8px; border-radius: 6px; border: 1px solid var(--line); background: #080a08; color: var(--muted); } .gpuPicker button.selected { border-color: var(--green); color: var(--ink); background: rgba(157, 226, 111, 0.08); } .gpuPicker button svg { color: var(--green); } .gpuPicker button span, .gpuPicker button small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .gpuPicker button small { grid-column: 2; color: var(--muted); font-size: 10px; } .runtimeSelector { margin-top: 10px; padding: 10px; border: 1px solid var(--line); border-radius: 7px; background: #101310; } .runtimeSelector label { display: grid; gap: 7px; } .runtimeSelector span { color: var(--muted); font-size: 12px; } .runtimeSelector select { width: 100%; height: 38px; padding: 0 10px; border-radius: 6px; border: 1px solid var(--line); background: var(--field); color: var(--ink); } .field { display: grid; gap: 8px; margin-top: 14px; } .field span { color: var(--muted); font-size: 13px; } textarea { width: 100%; min-height: 180px; resize: vertical; padding: 12px; color: var(--ink); background: var(--field); border: 1px solid var(--line); border-radius: 6px; font-family: "Cascadia Code", "JetBrains Mono", monospace; font-size: 13px; } .field.compact { margin-top: 0; } .field input, .field select { width: 100%; height: 38px; padding: 0 10px; border-radius: 6px; border: 1px solid var(--line); background: var(--field); } .pathStack, .inferenceForm, .modelList, .pipelinePanel, .pipelineSteps, .pipelineStats, .pipelineExample { display: grid; gap: 10px; } .pathStack div { min-width: 0; display: grid; gap: 5px; } .pathStack span, .pipelineExample span, .pipelineStats span { color: var(--muted); font-size: 11px; } .pathStack code { display: block; padding: 9px; border: 1px solid var(--line); border-radius: 6px; background: #080a08; color: var(--ink); overflow-wrap: anywhere; } .pipelineExample { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pipelineExample div, .pipelineSteps div, .pipelineStats div { min-width: 0; padding: 10px; border-radius: 7px; border: 1px solid var(--line); background: #101310; } .pipelineExample strong, .pipelineExample small, .pipelineSteps strong, .pipelineSteps small, .pipelineStats strong { display: block; min-width: 0; } .pipelineExample strong, .pipelineStats strong { margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .pipelineExample small, .pipelineSteps small { margin-top: 5px; color: var(--muted); line-height: 1.4; } .pipelineSteps { grid-template-columns: repeat(4, minmax(0, 1fr)); } .pipelineSteps div { display: grid; align-content: start; gap: 6px; } .pipelineSteps span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 6px; background: var(--green); color: #0b0d0b; font-weight: 760; } .pipelineStats { grid-template-columns: repeat(4, minmax(0, 1fr)); } .modelList { margin-top: 14px; max-height: 330px; overflow: auto; } .modelList a { min-width: 0; display: grid; gap: 3px; padding: 9px; border-radius: 6px; border: 1px solid var(--line); background: #101310; color: var(--ink); text-decoration: none; } .modelList a.selected { border-color: var(--green); background: rgba(157, 226, 111, 0.08); } .modelList span, .modelList small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .inferencePreview { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } .inferencePreview > div { min-width: 0; display: grid; gap: 10px; } .datasetForm { display: grid; gap: 12px; } .segmented { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; padding: 4px; border: 1px solid var(--line); background: #101310; border-radius: 7px; } .segmented button { height: 34px; border-radius: 5px; background: transparent; color: var(--muted); } .segmented button.active { background: var(--green); color: #0b0d0b; font-weight: 760; } .drop { min-height: 118px; display: grid; place-items: center; gap: 8px; position: relative; border: 1px dashed #526052; border-radius: 8px; background: rgba(13, 16, 13, 0.8); color: var(--muted); text-align: center; overflow: hidden; } .drop input { position: absolute; inset: 0; opacity: 0; cursor: pointer; } .buttonRow { display: flex; gap: 10px; } .buttonRow.compactButtons { gap: 8px; } .opGrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; } .opGrid button { min-width: 0; height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 0 8px; border-radius: 6px; border: 1px solid var(--line); background: #101310; color: var(--muted); font-size: 12px; } .opGrid button:hover { color: var(--ink); border-color: var(--green); } .opGrid span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .datasetList { display: grid; gap: 10px; max-height: 420px; overflow: auto; } .coverageGrid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; } .coverageGrid div { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 7px; background: #101310; } .coverageGrid span, .coverageGrid strong { display: block; } .coverageGrid span { color: var(--muted); font-size: 12px; } .coverageGrid strong { margin-top: 6px; font-size: 24px; } .coverageStatus { display: grid; gap: 8px; color: var(--muted); } .coverageStatus code { min-width: 0; padding: 8px; border-radius: 5px; border: 1px solid var(--line); background: #080a08; color: var(--ink); white-space: normal; overflow-wrap: anywhere; } .acceptanceArtifacts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } .acceptanceArtifacts a { min-width: 0; display: grid; gap: 3px; padding: 8px; border-radius: 6px; border: 1px solid var(--line); background: #101310; color: var(--ink); text-decoration: none; } .acceptanceArtifacts span, .acceptanceArtifacts small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .taskCheckList { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; max-height: 280px; overflow: auto; } .taskCheckList div { min-width: 0; padding: 9px; border-radius: 6px; border: 1px solid var(--line); background: #101310; } .taskCheckList div.ok { border-color: rgba(157, 226, 111, 0.32); } .taskCheckList div.bad { border-color: rgba(240, 113, 103, 0.55); } .taskCheckList span, .taskCheckList small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .agentPanel { min-height: 360px; } .agentScore { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: end; gap: 12px; margin-bottom: 12px; } .agentScore strong { font-size: 38px; line-height: 1; } .agentScore span { min-width: 0; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .suggestionList, .agentCheckList { display: grid; gap: 8px; } .suggestionList { margin-bottom: 12px; } .suggestionList div, .agentCheckList div { min-width: 0; padding: 9px; border-radius: 6px; border: 1px solid var(--line); background: #101310; } .suggestionList div { color: var(--ink); line-height: 1.45; } .agentCheckList { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 310px; overflow: auto; } .agentCheckList div.ok { border-color: rgba(157, 226, 111, 0.32); } .agentCheckList div.bad { border-color: rgba(240, 113, 103, 0.55); } .agentCheckList span, .agentCheckList small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .agentCheckList small { color: var(--muted); margin-top: 2px; } .userAgentDataset { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; } .userAgentDataset div, .userAgentDataset a { min-width: 0; display: grid; gap: 3px; padding: 9px; border-radius: 6px; border: 1px solid var(--line); background: #101310; color: var(--ink); text-decoration: none; } .userAgentDataset span, .userAgentDataset strong, .userAgentDataset a { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .userAgentDataset span { color: var(--muted); font-size: 11px; } .userAgentDataset a { color: var(--green); align-content: center; } .datasetCard { width: 100%; display: block; text-align: left; padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: #101310; color: var(--ink); cursor: pointer; } .datasetCard.selected { border-color: var(--green); background: rgba(157, 226, 111, 0.08); } .datasetCardHead { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 10px; } .datasetCardHead span { color: var(--muted); font-size: 12px; } .sampleStrip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; } .sampleStrip a { min-width: 0; padding: 8px; border-radius: 5px; border: 1px solid var(--line); text-decoration: none; color: var(--ink); background: #0b0d0b; } .sampleStrip span, .sampleStrip small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .sampleStrip span { color: var(--green); font-size: 11px; } .readinessLine { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; } .qualityBox { display: grid; gap: 10px; margin-top: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: #0b0d0b; } .datasetOutputBox { display: grid; gap: 10px; margin-top: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: #0b0d0b; } .qualityHead { display: flex; justify-content: space-between; gap: 12px; } .qualityHead span { color: var(--green); font-size: 12px; font-weight: 760; } .qualityStats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; } .qualityStats div, .qualityChecks div { min-width: 0; padding: 8px; border: 1px solid var(--line); border-radius: 6px; background: #101310; } .qualityStats span, .qualityStats strong, .qualityChecks span, .qualityChecks small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .qualityStats span { color: var(--muted); font-size: 11px; } .qualityChecks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } .qualityChecks .ok { border-color: rgba(157, 226, 111, 0.32); } .qualityChecks .bad { border-color: rgba(240, 113, 103, 0.55); } .datasetOutputLinks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } .datasetOutputLinks a { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 8px; border-radius: 6px; border: 1px solid var(--line); background: #101310; color: var(--ink); text-decoration: none; } .datasetOutputLinks span, .datasetOutputLinks small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .datasetOutputCurve { display: grid; gap: 8px; padding: 8px; border-radius: 6px; border: 1px solid var(--line); background: #101310; } .datasetOutputCurve > div { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 8px; } .datasetOutputCurve strong, .datasetOutputCurve span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .datasetOutputCurve strong { flex: 1 1 auto; } .datasetOutputCurve span { flex: 0 1 auto; color: var(--muted); font-size: 11px; } .datasetOutputCurve .curveSvg, .datasetOutputCurve .curveEmpty { min-height: 96px; aspect-ratio: 2.6 / 1; border-radius: 6px; } .datasetOutputPreview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; } .datasetOutputPreview a { min-width: 0; overflow: hidden; border-radius: 6px; border: 1px solid var(--line); background: #101310; color: var(--muted); text-decoration: none; } .datasetOutputPreview img { display: block; width: 100%; aspect-ratio: 1.35 / 1; object-fit: cover; background: #060806; } .datasetOutputPreview span { display: block; padding: 6px; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .jobList, .resultList { display: grid; gap: 8px; max-height: 460px; overflow: auto; } .jobRow, .resultList a { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, auto); gap: 8px; text-align: left; padding: 10px; border-radius: 6px; background: #101310; border: 1px solid var(--line); text-decoration: none; color: var(--ink); } .jobRow { grid-template-columns: 1fr; } .resultList span, .resultList small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .resultList small { color: var(--muted); } .resultBrowser { display: grid; gap: 10px; } .resultFilters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } .resultFilters .wide { grid-column: 1 / -1; } .resultFilters label { min-width: 0; display: grid; gap: 6px; } .resultFilters span { color: var(--muted); font-size: 11px; } .resultFilters select, .resultFilters input { width: 100%; height: 36px; padding: 0 9px; border-radius: 6px; border: 1px solid var(--line); background: var(--field); color: var(--ink); } .resultSummary { display: flex; align-items: baseline; gap: 5px; color: var(--muted); font-size: 12px; } .resultSummary strong { color: var(--green); font-size: 24px; line-height: 1; } .jobRowTop { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; } .jobRowTop span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .jobRow small { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .progressBox { display: grid; gap: 5px; } .progressTrack { width: 100%; height: 7px; overflow: hidden; border-radius: 999px; background: #080a08; border: 1px solid rgba(238, 242, 232, 0.1); } .progressTrack span { display: block; min-width: 0; height: 100%; border-radius: inherit; background: var(--cyan); transition: width 180ms ease; } .progressBox[data-stage="completed"] .progressTrack span, .progressBox[data-stage="saving"] .progressTrack span { background: var(--green); } .progressBox[data-stage="failed"] .progressTrack span { background: var(--red); } .progressBox[data-stage="cancelled"] .progressTrack span { background: var(--amber); } .progressMeta { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; color: var(--muted); font-size: 11px; } .progressMeta span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .progressMeta strong { color: var(--ink); font-size: 11px; } .pill { padding: 3px 8px; border-radius: 999px; font-size: 12px; border: 1px solid var(--line); } .pill-running { color: var(--cyan); } .pill-success { color: var(--green); } .pill-failed { color: var(--red); } .pill-cancelled { color: var(--amber); } .pill-queued { color: var(--muted); } .gpu { display: grid; gap: 9px; margin-bottom: 14px; } .gpu strong, .gpu span { display: block; } .gpu span { color: var(--muted); font-size: 13px; } meter { width: 100%; height: 12px; accent-color: var(--green); } .envList { display: grid; gap: 10px; } .envCard { min-width: 0; display: grid; gap: 8px; padding: 10px; border-radius: 7px; border: 1px solid var(--line); background: #101310; } .envCard.ok { border-color: rgba(157, 226, 111, 0.32); } .envCard.bad { border-color: rgba(240, 113, 103, 0.55); } .envHead { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: start; } .envHead strong, .envHead small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .envHead small { color: var(--muted); margin-top: 2px; } .envHead > span { color: var(--green); font-size: 11px; font-weight: 760; } .envCard.bad .envHead > span { color: var(--red); } .envChecks { display: flex; flex-wrap: wrap; gap: 5px; } .envChecks span { max-width: 100%; padding: 4px 6px; border-radius: 5px; border: 1px solid rgba(238, 242, 232, 0.1); color: var(--muted); background: #080a08; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .envChecks span.ok { color: var(--green); } .envChecks span.bad { color: var(--red); } .bigNumber { font-size: 54px; font-weight: 760; line-height: 1; } .weightVerify { margin-top: 10px; padding: 7px 8px; border-radius: 6px; border: 1px solid var(--line); font-size: 12px; } .weightVerify.ok { color: var(--green); border-color: rgba(157, 226, 111, 0.34); background: rgba(157, 226, 111, 0.08); } .weightVerify.bad { color: var(--red); border-color: rgba(240, 113, 103, 0.45); background: rgba(240, 113, 103, 0.08); } .weightFamilies { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; } .weightFamilies span { padding: 5px 7px; border-radius: 999px; border: 1px solid var(--line); background: #080a08; color: var(--muted); font-size: 11px; } .weightList { display: grid; gap: 7px; max-height: 220px; margin-top: 12px; overflow: auto; } .weightList a { min-width: 0; display: grid; gap: 3px; padding: 8px; border-radius: 6px; border: 1px solid var(--line); background: #080a08; color: var(--ink); text-decoration: none; } .weightList span, .weightList small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .weightList small { color: var(--muted); font-size: 11px; } .chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; } .chips span { padding: 6px 9px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: #101310; font-size: 12px; } .logPanel pre { min-height: 340px; max-height: 520px; overflow: auto; margin: 12px 0 0; padding: 14px; color: #dbe7d8; background: #080a08; border: 1px solid var(--line); border-radius: 6px; font-family: "Cascadia Code", "JetBrains Mono", monospace; font-size: 12px; line-height: 1.55; white-space: pre-wrap; } .jobDiagnostics { display: grid; gap: 9px; margin-top: 12px; } .jobDetailGrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; } .jobDetailGrid div { min-width: 0; display: grid; gap: 3px; padding: 8px; border: 1px solid var(--line); border-radius: 6px; background: #080a08; } .jobDetailGrid span, .jobPath span { color: var(--muted); font-size: 11px; } .jobDetailGrid strong { min-width: 0; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .jobPath { min-width: 0; display: grid; gap: 4px; } .jobPath code { display: block; padding: 8px; border: 1px solid var(--line); border-radius: 6px; background: #080a08; color: var(--muted); overflow-wrap: anywhere; } .jobError { padding: 8px; border: 1px solid rgba(240, 113, 103, 0.45); border-radius: 6px; color: var(--red); background: rgba(240, 113, 103, 0.08); overflow-wrap: anywhere; } .jobDetailBlock { min-width: 0; border: 1px solid var(--line); border-radius: 6px; background: #080a08; } .jobDetailBlock summary { cursor: pointer; padding: 8px; color: var(--green); font-size: 12px; } .jobDetailBlock pre { min-height: 0; max-height: 180px; margin: 0; border-width: 1px 0 0; border-radius: 0; overflow-wrap: anywhere; } .curvePanel { display: grid; gap: 10px; } .curvePanel select { width: 100%; height: 38px; padding: 0 10px; border-radius: 6px; border: 1px solid var(--line); background: var(--field); } .curveSvg, .curveEmpty { width: 100%; aspect-ratio: 2.7 / 1; min-height: 160px; border: 1px solid var(--line); border-radius: 7px; background: #080a08; } .curveSvg .axis { stroke: rgba(238, 242, 232, 0.28); stroke-width: 1; } .curveSvg .gridLine { stroke: rgba(238, 242, 232, 0.08); stroke-width: 1; } .curveLegend { display: grid; gap: 7px; } .curveLegend a { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 8px; border: 1px solid var(--line); border-radius: 6px; background: #101310; text-decoration: none; color: var(--ink); } .curveLegend i { width: 10px; height: 10px; border-radius: 999px; } .curveLegend span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } @media (max-width: 980px) { body { min-width: 0; } .shell { grid-template-columns: 1fr; } .rail { position: static; height: auto; display: grid; grid-template-columns: auto 1fr; gap: 12px; padding: 14px; } .brand { margin-bottom: 0; } nav { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: center; } nav a, nav button { justify-content: center; padding: 10px 6px; } nav a svg, nav button svg { flex: none; } nav a, nav button { font-size: 0; } .workspace { padding: 16px; } .topbar, .panelHead { align-items: flex-start; gap: 12px; } .metrics, .capSummary, .capabilityGrid, .grid.two, .grid.three, .grid.four, .taskColumns { grid-template-columns: 1fr; } .coverageGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .opGrid, .sampleStrip, .datasetOutputLinks, .datasetOutputPreview, .gpuPicker, .taskCheckList, .agentCheckList, .jobDetailGrid, .qualityStats, .qualityChecks, .pipelineExample, .pipelineSteps, .pipelineStats, .inferencePreview, .userAgentDataset { grid-template-columns: repeat(2, minmax(0, 1fr)); } } .resultList a:hover, .jobRow:hover { border-color: var(--green); } .resultList.tight { max-height: 290px; } .insight { min-height: 350px; } .previewGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .previewGrid a { min-width: 0; border: 1px solid var(--line); border-radius: 7px; overflow: hidden; color: var(--ink); text-decoration: none; background: #0b0d0b; } .previewGrid img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; background: #060806; } .previewGrid span { display: block; padding: 8px; color: var(--muted); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } @media (min-width: 981px) and (max-width: 1180px) { body { min-width: 960px; } .shell { grid-template-columns: 220px 1fr; } .metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } .taskColumns { grid-template-columns: repeat(3, minmax(0, 1fr)); } .opGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .coverageGrid, .taskCheckList { grid-template-columns: 1fr; } .grid.three { grid-template-columns: 1fr; } .shell[data-page="agents"] .grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); } .grid.two { grid-template-columns: 1fr; } }