/* ─── Root ───────────────────────────────────────────────────────────────── */ .mc-root { display: flex; flex-direction: column; gap: 6px; font-size: 0.9375rem; line-height: 1.6; color: #333333; width: 100%; } /* ─── Stage header ───────────────────────────────────────────────────────── */ .mc-stage { font-size: 0.7rem; font-weight: 600; color: #999999; text-transform: uppercase; letter-spacing: 0.06em; padding: 8px 0 2px; border-top: 1px solid rgba(0, 0, 0, 0.05); margin-top: 4px; } .mc-stage:first-child { border-top: none; margin-top: 0; padding-top: 0; } /* ─── Thinking text ──────────────────────────────────────────────────────── */ .mc-thinking { display: flex; align-items: center; gap: 8px; font-size: 0.8125rem; color: #999999; font-style: italic; } .mc-thinking-spinner { width: 12px; height: 12px; border: 2px solid rgba(0, 0, 0, 0.08); border-top-color: #999999; border-radius: 50%; animation: mc-spin 0.8s linear infinite; flex-shrink: 0; } .mc-thinking-done { width: 6px; height: 6px; background: #bbbbbb; border-radius: 50%; flex-shrink: 0; } @keyframes mc-spin { to { transform: rotate(360deg); } } /* ─── Response block (markdown) ──────────────────────────────────────────── */ .mc-response { color: #333333; } .mc-response p { margin: 0 0 8px; } .mc-response p:last-child { margin-bottom: 0; } .mc-response strong { font-weight: 600; color: #1a1a1a; } .mc-response em { font-style: italic; } .mc-response ul, .mc-response ol { margin: 4px 0 8px 20px; padding: 0; } .mc-response li { margin-bottom: 2px; } .mc-response h1, .mc-response h2, .mc-response h3, .mc-response h4 { font-size: 0.9375rem; font-weight: 600; color: #111111; margin: 10px 0 4px; } .mc-response code { font-family: monospace; font-size: 0.875em; background: rgba(0, 0, 0, 0.05); padding: 1px 5px; border-radius: 4px; } /* ─── Tool output (monospace block) ─────────────────────────────────────── */ .mc-tool-output { background: #1a1a1a; border-radius: 10px; overflow: hidden; } .mc-tool-output-label { font-size: 0.6875rem; font-weight: 600; color: #777777; text-transform: uppercase; letter-spacing: 0.05em; padding: 6px 12px 4px; background: rgba(255, 255, 255, 0.05); border-bottom: 1px solid rgba(255, 255, 255, 0.08); } .mc-tool-output pre { margin: 0; padding: 10px 12px; font-family: 'SF Mono', 'Fira Code', monospace; font-size: 0.8rem; line-height: 1.5; color: #e0e0e0; white-space: pre; overflow-x: auto; } /* ─── Image blocks (GradCAM, comparison) ────────────────────────────────── */ .mc-image-block { margin-top: 4px; } .mc-image-label { font-size: 0.7rem; font-weight: 600; color: #999999; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 6px; } .mc-gradcam-img { width: 100%; max-width: 380px; border-radius: 12px; border: 1px solid rgba(0, 0, 0, 0.06); display: block; } .mc-comparison-img { width: 100%; max-width: 560px; border-radius: 12px; border: 1px solid rgba(0, 0, 0, 0.06); display: block; } /* ─── GradCAM side-by-side comparison ───────────────────────────────────── */ .mc-gradcam-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; max-width: 560px; } .mc-gradcam-compare-item { display: flex; flex-direction: column; gap: 4px; } .mc-gradcam-compare-title { font-size: 0.75rem; font-weight: 600; color: #666666; text-align: center; } .mc-gradcam-compare-img { width: 100%; border-radius: 10px; border: 1px solid rgba(0, 0, 0, 0.06); display: block; } /* ─── Result / error / complete / observation ───────────────────────────── */ .mc-result { background: rgba(22, 163, 74, 0.08); border: 1px solid rgba(22, 163, 74, 0.15); border-radius: 10px; padding: 8px 12px; font-size: 0.875rem; font-weight: 500; color: #15803d; } .mc-error { background: rgba(239, 68, 68, 0.06); border: 1px solid rgba(239, 68, 68, 0.15); border-radius: 10px; padding: 8px 12px; font-size: 0.875rem; color: #dc2626; } .mc-complete { font-size: 0.8rem; color: #bbbbbb; text-align: right; } .mc-observation { font-size: 0.875rem; color: #666666; font-style: italic; } /* ─── Plain streaming text ───────────────────────────────────────────────── */ .mc-text { white-space: pre-wrap; word-break: break-word; color: #444444; font-size: 0.875rem; } /* ─── References ─────────────────────────────────────────────────────────── */ .mc-references { border-top: 1px solid rgba(0, 0, 0, 0.05); padding-top: 8px; margin-top: 4px; } .mc-references-title { font-size: 0.7rem; font-weight: 600; color: #999999; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 4px; } .mc-ref-item { font-size: 0.8125rem; color: #666666; line-height: 1.5; } .mc-ref-sup { font-size: 0.6875rem; vertical-align: super; margin-right: 4px; color: #555555; font-weight: 600; } .mc-ref-source { font-style: italic; } .mc-ref-page { color: #aaaaaa; }