:root{--primary-color:#1890ff;--secondary-color:#f0f2ff;--success-color:#52c41a;--warning-color:#fa8c16;--error-color:#ff4d4f;--text-primary:#000000d9;--text-secondary:#00000073;--background-primary:#fff;--background-secondary:#fafafa;--border-color:#d9d9d9;--border-radius:8px;--border-radius-lg:12px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--gradient-primary:linear-gradient(135deg,#667eea,#764ba2);--gradient-secondary:linear-gradient(135deg,#f093fb,#f5576c);--gradient-openai:linear-gradient(135deg,#00a67e,#00d4aa);--gradient-huggingface:linear-gradient(135deg,#ff6b35,#ffcc02);--gradient-ollama:linear-gradient(135deg,#4c63d2,#9c27b0);--shadow-sm:0 2px 8px rgba(0,0,0,.1);--shadow-md:0 4px 12px rgba(0,0,0,.15);--shadow-lg:0 8px 24px rgba(0,0,0,.2)}*{box-sizing:border-box;margin:0;padding:0}body,html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--background-secondary);color:var(--text-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.space-x-2>*+*{margin-left:var(--spacing-sm)}.space-y-2>*+*{margin-top:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.fade-in{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.ant-card{border-radius:var(--border-radius-lg)!important}.ant-btn{border-radius:var(--border-radius)!important}.ant-btn-primary{background:var(--gradient-primary)!important;border:none!important}.ant-input,.ant-input-affix-wrapper,.ant-select-selector{border-radius:var(--border-radius)!important}.ant-form-item-label>label{font-weight:500}.ant-alert{border-radius:var(--border-radius)!important}.ant-switch{border-radius:12px!important}.ant-radio-button-wrapper{border-radius:var(--border-radius)!important}.ant-radio-button-wrapper:first-child{border-radius:var(--border-radius) 0 0 var(--border-radius)!important}.ant-radio-button-wrapper:last-child{border-radius:0 var(--border-radius) var(--border-radius) 0!important}