*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #1a56db;--primary-dark: #1e40af;--primary-light: #3b82f6;--secondary: #64748b;--success: #059669;--warning: #d97706;--danger: #dc2626;--background: #f8fafc;--surface: #ffffff;--text-primary: #0f172a;--text-secondary: #475569;--border: #e2e8f0;--border-light: #f1f5f9;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--background);color:var(--text-primary);line-height:1.6}.container{max-width:1400px;margin:0 auto;padding:0 24px}.header{background:var(--surface);border-bottom:1px solid var(--border);padding:16px 0;position:sticky;top:0;z-index:100}.header-content{display:flex;justify-content:space-between;align-items:center}.logo{font-size:20px;font-weight:700;color:var(--primary);letter-spacing:-.5px}.user-info{display:flex;align-items:center;gap:12px}.user-name{font-size:14px;color:var(--text-secondary)}.btn{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;border:none;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:6px}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:var(--border-light);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-sm{padding:6px 12px;font-size:13px}.main-content{padding:40px 0}.auth-container{max-width:400px;margin:80px auto;background:var(--surface);padding:40px;border-radius:12px;box-shadow:var(--shadow-lg)}.auth-form h1{font-size:24px;font-weight:700;margin-bottom:8px;color:var(--text-primary)}.auth-form .subtitle{font-size:14px;color:var(--text-secondary);margin-bottom:32px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:6px}.form-group input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--primary)}.form-group input::placeholder{color:var(--text-secondary)}.auth-actions{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.auth-toggle{font-size:14px;color:var(--text-secondary)}.auth-toggle button{background:none;border:none;color:var(--primary);cursor:pointer;font-size:14px;font-weight:500;padding:0}.auth-toggle button:hover{text-decoration:underline}.config-section{background:var(--surface);border-radius:12px;padding:32px;margin-bottom:32px;box-shadow:var(--shadow)}.section-title{font-size:20px;font-weight:700;margin-bottom:24px;color:var(--text-primary)}.steps-container{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}.step-card{background:var(--border-light);border:1px solid var(--border);border-radius:8px;padding:16px;cursor:pointer;transition:all .2s;position:relative}.step-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.step-card.selected{background:var(--primary);border-color:var(--primary);color:#fff}.step-card.selected .step-label{color:#fffc}.step-card.selected .step-value{color:#fff}.step-number{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.step-card.selected .step-number{color:#fffc}.step-label{font-size:13px;color:var(--text-secondary);margin-bottom:4px}.step-value{font-size:16px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.step-indicator{display:inline-block;width:6px;height:6px;background:var(--success);border-radius:50%;margin-left:8px;opacity:0}.step-card.completed .step-indicator{opacity:1}.expand-card{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--surface);border-radius:12px;box-shadow:var(--shadow-lg);max-width:900px;width:90%;max-height:80vh;overflow-y:auto;z-index:1000;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:999}.expand-card-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.expand-card-header h3{font-size:18px;font-weight:700;color:var(--text-primary)}.close-btn{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;padding:4px;line-height:1}.close-btn:hover{color:var(--text-primary)}.expand-card-body{padding:24px}.model-selector{display:grid;grid-template-columns:280px 1fr;gap:24px;height:400px}.model-list{overflow-y:auto;border-right:1px solid var(--border);padding-right:16px}.model-item{padding:12px 16px;border-radius:6px;cursor:pointer;transition:all .2s;margin-bottom:4px}.model-item:hover{background:var(--border-light)}.model-item.selected{background:var(--primary);color:#fff}.model-item-name{font-size:14px;font-weight:600;margin-bottom:4px}.model-item-desc{font-size:12px;opacity:.8;line-height:1.4}.model-editor{display:flex;flex-direction:column;height:100%}.editor-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.editor-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.code-editor{flex:1;width:100%;padding:16px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;line-height:1.6;background:#1e293b;color:#e2e8f0;border:1px solid var(--border);border-radius:6px;resize:none}.code-editor:focus{outline:none;border-color:var(--primary)}.options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.option-card{border:1px solid var(--border);border-radius:8px;padding:20px;cursor:pointer;transition:all .2s}.option-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.option-card.selected{background:var(--primary);border-color:var(--primary);color:#fff}.option-card.selected .option-desc,.option-card.selected .option-usecase{color:#fffc}.option-name{font-size:16px;font-weight:600;margin-bottom:8px}.option-desc{font-size:13px;color:var(--text-secondary);margin-bottom:8px;line-height:1.5}.option-usecase{font-size:12px;color:var(--text-secondary);padding-top:8px;border-top:1px solid var(--border)}.option-card.selected .option-usecase{border-top-color:#ffffff4d}.expand-card-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border);background:var(--border-light)}.action-buttons{display:flex;justify-content:center;gap:16px;margin-top:32px}.compile-btn{padding:12px 32px;font-size:16px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.compile-btn.primary{background:var(--primary);color:#fff}.compile-btn.primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow)}.compile-btn:disabled{opacity:.5;cursor:not-allowed}.tasks-section{background:var(--surface);border-radius:12px;padding:32px;box-shadow:var(--shadow)}.task-list{margin-top:24px}.task-item{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 100px 120px;gap:16px;align-items:center;padding:16px;border:1px solid var(--border);border-radius:8px;margin-bottom:12px;transition:all .2s}.task-item:hover{border-color:var(--primary)}.task-header{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 100px 120px;gap:16px;padding:12px 16px;background:var(--border-light);border-radius:8px;margin-bottom:16px;font-size:13px;font-weight:600;color:var(--text-secondary)}.task-info{display:flex;flex-direction:column;gap:4px}.task-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.task-value{font-size:14px;font-weight:500;color:var(--text-primary)}.task-time{font-size:12px;color:var(--text-secondary);margin-top:2px}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.status-pending{background:#fef3c7;color:#92400e}.status-compiling{background:#dbeafe;color:#1e40af}.status-completed{background:#d1fae5;color:#065f46}.status-failed{background:#fee2e2;color:#991b1b}.download-link{color:var(--primary);text-decoration:none;font-weight:500;font-size:14px;display:inline-flex;align-items:center;gap:4px}.download-link:hover{text-decoration:underline}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-state h3{font-size:18px;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.add-custom-btn{width:100%;padding:12px;border:2px dashed var(--border);border-radius:6px;background:var(--border-light);color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:16px}.add-custom-btn:hover{border-color:var(--primary);color:var(--primary)}.error-message{color:var(--danger);font-size:13px;margin-top:8px}.success-message{color:var(--success);font-size:13px;margin-top:8px}.loading{display:flex;justify-content:center;align-items:center;padding:40px}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1024px){.steps-container{grid-template-columns:repeat(2,1fr)}.task-header,.task-item{grid-template-columns:1fr 1fr 100px 120px;gap:12px}.task-info.system,.task-info.cpu{display:none}}@media (max-width: 640px){.steps-container{grid-template-columns:1fr}.task-header,.task-item{grid-template-columns:1fr 100px;gap:8px}.task-info.system,.task-info.cpu,.task-info.backend{display:none}.model-selector{grid-template-columns:1fr;height:auto}.model-list{border-right:none;border-bottom:1px solid var(--border);padding-right:0;padding-bottom:16px;max-height:200px}}
