/* ===== Model Onboarding Modal ===== */ .model-onboarding-modal { /* Resizable via the native CSS grip. The user's chosen size is persisted by useModalResizePersist. Min/max keep the dimensions sane so a value saved on a 4K display still renders on a laptop. */ min-width: 640px; min-height: 480px; max-width: calc(100vw - 40px); max-height: calc(100dvh - 40px); display: flex; flex-direction: column; overflow: hidden; resize: both; } .model-onboarding-modal:not([style*="width"]) { width: min(1100px, calc(100vw - 40px)); } .model-onboarding-modal:not([style*="height"]) { height: min(85vh, calc(100dvh - 40px)); } .model-onboarding-header { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px 12px; border-bottom: 1px solid var(--border); } .model-onboarding-header .modal-close { background: none; border: none; font-size: 20px; color: var(--text-muted); cursor: pointer; padding: 4px 8px; border-radius: 4px; line-height: 1; } .model-onboarding-header .modal-close:hover { color: var(--text); background: var(--bg-hover); } .model-onboarding-title { font-size: 18px; font-weight: 600; margin: 0; display: flex; align-items: center; gap: 8px; } .model-onboarding-title svg { color: var(--accent); } .onboarding-optional-badge { font-size: 11px; font-weight: 500; color: var(--text-muted); background: var(--bg-hover); padding: 2px 8px; border-radius: 10px; margin-left: 8px; vertical-align: middle; text-transform: uppercase; letter-spacing: 0.5px; } /* Step indicator */ .model-onboarding-steps { display: flex; align-items: center; justify-content: center; gap: 0; padding: 16px 24px; border-bottom: 1px solid var(--border); } .onboarding-step-wrapper { display: flex; align-items: center; } .model-onboarding-step-indicator { display: flex; align-items: center; gap: 8px; color: var(--text-muted); font-size: 13px; /* Reset browser