.callToolPanel, .toolCallInfoPanel { margin: 0 auto; padding: 1rem; border: 1px solid #ddd; border-radius: 4px; * + & { margin-top: 1rem; } } .callToolPanel { max-width: 480px; form { display: flex; flex-direction: column; gap: 1rem; } label { display: flex; flex-direction: column; gap: 0.25rem; font-weight: 600; } select, textarea { padding: 0.5rem; border: 1px solid #ccc; border-radius: 4px; font-size: inherit; } .toolSelect { font-family: monospace; } .toolInput { min-height: 6rem; font-family: monospace; resize: vertical; &[aria-invalid="true"] { background-color: #fdd; } } button { align-self: center; min-width: 200px; padding: 0.75rem 1.5rem; border: none; border-radius: 4px; background-color: #1e3a5f; font-size: inherit; font-weight: 600; color: white; cursor: pointer; &:hover:not(:disabled) { background-color: #2d4a7c; } &:disabled { opacity: 0.5; cursor: not-allowed; } } } .toolCallInfoPanel { display: flex; gap: 1rem; animation: slideDown 0.3s ease-out; } @keyframes slideDown { from { opacity: 0; transform: translateY(-12px); } } .inputInfoPanel { display: flex; flex: 3; flex-direction: column; gap: 0.5rem; min-width: 0; h2 { display: flex; flex-direction: column; margin: 0; font-size: 1.5rem; position: relative; .toolName { font-family: monospace; } .closeButton { position: absolute; top: 0; right: 0; width: 1.5rem; height: 1.5rem; padding: 0; border: none; border-radius: 4px; background: #e0e0e0; font-size: 1.25rem; line-height: 1; color: #666; cursor: pointer; &:hover { background: #d0d0d0; color: #333; } } } } .outputInfoPanel { flex: 4; min-width: 0; } .appOutputPanel { flex: 1; min-width: 0; } .appHeader { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.5rem; font-size: 1.25rem; font-weight: 600; position: relative; .toolName { font-family: monospace; } .closeButton { position: absolute; top: 0; right: 0; width: 1.5rem; height: 1.5rem; padding: 0; border: none; border-radius: 4px; background: #e0e0e0; font-size: 1.25rem; line-height: 1; color: #666; cursor: pointer; &:hover { background: #d0d0d0; color: #333; } } } .jsonBlock { flex-grow: 1; min-height: 0; margin: 0; padding: 1rem; border-radius: 4px; background-color: #f5f5f5; overflow: auto; } .appIframePanel { min-height: 200px; iframe { width: 100%; height: 600px; box-sizing: border-box; border: 3px dashed #888; border-radius: 4px; } } .collapsiblePanel { margin: 0.5rem 0; padding: 0.5rem 0.75rem; border: 1px solid #e0e0e0; border-radius: 4px; background-color: #fafafa; font-size: 0.875rem; cursor: pointer; transition: background-color 0.15s; &:hover { background-color: #f0f0f0; } } .collapsibleHeader { display: flex; align-items: center; gap: 0.5rem; } .collapsibleLabel { font-weight: 600; color: #555; } .collapsibleSize { color: #888; font-size: 0.75rem; } .collapsibleToggle { margin-left: auto; color: #888; font-size: 0.75rem; } .collapsiblePreview { margin-top: 0.25rem; color: #666; font-family: monospace; font-size: 0.8rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .collapsibleFull { margin: 0.5rem 0 0; padding: 0.5rem; border-radius: 4px; background-color: #f5f5f5; font-family: monospace; font-size: 0.8rem; white-space: pre-wrap; word-break: break-word; max-height: 200px; overflow: auto; } .error { padding: 1.5rem; background-color: #ddd; color: #d00; }