.ai-model-builder{background:linear-gradient(135deg, color-mix(in srgb, var(--bg-primary) 95%, transparent) 0%, color-mix(in srgb, var(--bg-primary) 98%, transparent) 100%);border-radius:var(--radius-none);padding:var(--space-lg);box-sizing:border-box;width:100%;max-height:calc(90vh - 120px);position:relative;overflow-y:auto}.ai-model-builder [class^=ai-]{border-left:none!important}.ai-model-builder:before{content:"";height:var(--border-width-medium);background:linear-gradient(90deg, transparent 0%, var(--accent-blue) 20%, var(--accent-purple) 50%, var(--accent-blue) 80%, transparent 100%);opacity:.8;position:absolute;top:0;left:0;right:0}.ai-model-header{align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-lg);display:flex}.ai-icon{width:var(--size-icon-wrap-lg);height:var(--size-icon-wrap-lg);border-radius:var(--radius-md);background:linear-gradient(135deg, var(--accent-blue) 0%, var(--accent-purple) 100%);color:var(--text-primary);box-shadow:0 4px 20px color-mix(in srgb, var(--accent-blue) 40%, transparent), 0 0 40px color-mix(in srgb, var(--accent-purple) 20%, transparent);transition:all var(--transition-slow);flex-shrink:0;justify-content:center;align-items:center;display:flex}.ai-icon:hover{box-shadow:0 6px 28px color-mix(in srgb, var(--accent-blue) 50%, transparent), 0 0 50px color-mix(in srgb, var(--accent-purple) 30%, transparent);transform:scale(1.05)}.ai-model-header h2{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin:0 0 var(--space-xs) 0}.ai-subtitle{font-family:var(--font-body);color:var(--text-secondary);font-size:var(--font-size-base);line-height:var(--leading-normal);margin:0}.ai-form-section{margin-bottom:var(--space-lg)}.ai-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-sm);display:block}.ai-textarea{width:100%;min-height:120px;padding:var(--space-sm) var(--space-md);background:var(--bg-input,var(--bg-primary));border:var(--border-width-thin) solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-base);font-family:var(--font-body);resize:vertical;transition:border-color var(--transition-normal), box-shadow var(--transition-normal)}.ai-textarea:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px rgba(var(--focus-ring-rgb), .15);outline:none}.ai-textarea:focus-visible{outline:var(--border-width-medium) solid var(--focus-ring);outline-offset:var(--border-width-medium)}.ai-textarea::placeholder{color:var(--text-muted)}.ai-hint{font-size:var(--font-size-sm);line-height:var(--leading-normal);color:var(--text-muted);margin-top:var(--space-sm)}.ai-prompt-tips{margin-top:var(--space-sm);background:color-mix(in srgb, var(--accent-blue) 10%, transparent);border:var(--border-width-thin) solid color-mix(in srgb, var(--accent-blue) 15%, transparent);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md)}.ai-tips-header{align-items:center;gap:var(--space-sm);color:var(--accent-blue);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-sm);display:flex}.ai-tips-header svg{flex-shrink:0}.ai-tips-list{padding-left:var(--space-lg);margin:0;list-style:none}.ai-tips-list li{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-xs);padding-left:var(--space-xs);position:relative}.ai-tips-list li:last-child{margin-bottom:0}.ai-tips-list li:before{content:"•";left:calc(-1 * var(--space-md));color:var(--accent-blue);position:absolute}.ai-tips-list li strong{color:var(--text-primary);font-weight:var(--font-weight-semibold)}.ai-select{width:100%;padding:var(--space-sm) var(--space-md);background:var(--bg-input,var(--bg-primary));border:var(--border-width-thin) solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);font-size:var(--font-size-base);cursor:pointer;transition:border-color var(--transition-normal)}.ai-select:focus{border-color:var(--accent-blue);outline:none}.ai-select:focus-visible{outline:var(--border-width-medium) solid var(--focus-ring);outline-offset:var(--border-width-medium)}.ai-select option,.ai-select optgroup{color:#0f172a;background:#fff}.ai-form-grid{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=768px){.ai-form-grid{grid-template-columns:1fr}}.ai-error{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:color-mix(in srgb, var(--color-error) 10%, transparent);border:var(--border-width-thin) solid color-mix(in srgb, var(--color-error) 30%, transparent);border-radius:var(--radius-sm);color:var(--color-error);font-size:var(--font-size-base);margin-bottom:var(--space-lg);display:flex}.ai-failed{gap:var(--space-md);flex-direction:column;display:flex}.ai-failed-banner{padding:var(--space-md);align-items:flex-start;margin-bottom:0}.ai-failed-copy{gap:var(--space-xs);flex-direction:column;display:flex}.ai-thinking-badge-failed{background:color-mix(in srgb, var(--color-error) 15%, transparent);color:var(--color-error)}.ai-thought-line.failure{color:var(--color-error)}.ai-actions{justify-content:flex-end;gap:var(--space-sm);display:flex}.ai-generate-hint{margin:0 0 var(--space-sm);color:var(--text-secondary);font-size:var(--font-size-sm);text-align:right}.ai-generate-btn{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-xl);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);background:linear-gradient(135deg, var(--accent-blue) 0%, var(--accent-purple) 100%);color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;box-shadow:0 4px 16px color-mix(in srgb, var(--accent-blue) 40%, transparent), 0 0 24px color-mix(in srgb, var(--accent-purple) 15%, transparent);transition:all var(--transition-slow);border:none;display:flex}.ai-generate-btn:hover:not(:disabled){transform:translateY(calc(-1 * var(--space-2xs)));box-shadow:0 8px 24px color-mix(in srgb, var(--accent-blue) 50%, transparent), 0 0 32px color-mix(in srgb, var(--accent-purple) 25%, transparent)}.ai-generate-btn:active:not(:disabled){transform:translateY(0)}.ai-generate-btn:focus-visible{outline:var(--border-width-medium) solid var(--focus-ring);outline-offset:var(--border-width-medium)}.ai-generate-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.ai-generating{padding:var(--space-lg);gap:var(--space-lg);flex-direction:column;min-height:500px;display:flex}.ai-generating-header{align-items:flex-start;gap:var(--space-lg);padding:var(--space-lg);background:color-mix(in srgb, var(--accent-blue) 12%, transparent);border-radius:var(--radius-md);border:var(--border-width-thin) solid color-mix(in srgb, var(--accent-blue) 15%, transparent);display:flex}.ai-generating-info{flex:1}.ai-generating-info h3{font-family:var(--font-display);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-sm) 0;color:var(--text-primary);font-size:var(--font-size-xl);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight)}.ai-generating-info p{font-family:var(--font-body);margin:0 0 var(--space-sm) 0;color:var(--text-secondary);font-size:var(--font-size-base);line-height:var(--leading-normal)}.ai-time-tracking{align-items:center;gap:var(--space-md);margin-bottom:var(--space-sm);font-size:var(--font-size-sm);display:flex}.ai-time-elapsed{align-items:center;gap:var(--space-xs);color:var(--text-secondary);display:flex}.ai-time-elapsed svg{opacity:.7}.ai-time-remaining{color:var(--accent-blue);font-weight:var(--font-weight-medium);line-height:var(--leading-normal);padding:var(--space-2xs) var(--space-sm);background:color-mix(in srgb, var(--accent-blue) 10%, transparent);border-radius:var(--radius-sm)}.ai-progress-bar-container{height:var(--space-sm);background:var(--bg-secondary);border-radius:var(--radius-sm);margin-bottom:var(--space-md);position:relative;overflow:hidden}.ai-progress-bar-fill{background:linear-gradient(90deg, var(--accent-blue) 0%, var(--accent-purple) 100%);border-radius:var(--radius-sm);height:100%;transition:width var(--transition-slow);box-shadow:0 0 10px color-mix(in srgb, var(--accent-blue) 50%, transparent)}.ai-progress-percent{right:var(--space-sm);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--font-size-xs);color:var(--text-primary);font-weight:var(--font-weight-semibold);text-shadow:0 1px 2px color-mix(in srgb, var(--bg-primary) 50%, transparent);position:absolute;top:50%;transform:translateY(-50%)}.ai-generating-animation{flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;display:flex;position:relative;overflow:hidden}.ai-generating-animation .empty-state{background:0 0;border-radius:0;width:100%;height:100%;padding:0;animation:none}.ai-generating-animation .empty-state:before{content:none}.ai-generating-animation .empty-state-description{display:none}.ai-generating-animation .empty-state .spinner{margin-bottom:0}.ai-generating-animation .ai-generating-spinner{min-width:0}.ai-progress-steps{justify-content:center;gap:var(--space-xl);flex-wrap:wrap;display:flex}.ai-progress-step{align-items:center;gap:var(--space-sm);color:var(--text-secondary);font-size:var(--font-size-sm);line-height:var(--leading-normal);transition:color var(--transition-fast), transform var(--transition-fast);display:flex}.ai-progress-step.active{color:var(--accent-blue);transform:scale(1.05)}.ai-progress-step.completed{color:var(--color-success)}.ai-step-dot{border-radius:var(--radius-full);width:10px;height:10px;transition:transform var(--transition-fast), box-shadow var(--transition-fast);background:currentColor}.ai-progress-step.active .ai-step-dot{box-shadow:0 0 8px}.ai-progress-step.completed .ai-step-dot{box-shadow:none}.ai-result{animation:fadeIn var(--transition-slow)}@keyframes fadeIn{0%{opacity:0;transform:translateY(var(--space-sm))}to{opacity:1;transform:translateY(0)}}.ai-result-header{align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);display:flex}.ai-success-icon{width:var(--size-icon-wrap-lg);height:var(--size-icon-wrap-lg);border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-success) 0%, var(--color-success) 100%);color:var(--text-primary);justify-content:center;align-items:center;display:flex}.ai-result-header h2{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin:0 0 var(--space-xs) 0}.ai-result-subtitle{font-family:var(--font-body);color:var(--color-success);font-size:var(--font-size-base);line-height:var(--leading-normal);font-weight:var(--font-weight-medium);margin:0}.ai-rationale{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:var(--border-width-thin) solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-lg)}.ai-rationale h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:var(--leading-snug);color:var(--text-primary);margin:0 0 var(--space-sm) 0}.ai-rationale p{font-family:var(--font-body);color:var(--text-secondary);font-size:var(--font-size-base);line-height:var(--leading-normal);margin:0}.ai-metrics-grid{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=768px){.ai-metrics-grid{grid-template-columns:repeat(2,1fr)}}.ai-metric-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:var(--border-width-thin) solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-md);text-align:center;transition:transform var(--transition-fast), background var(--transition-fast)}.ai-metric-card:hover{background:var(--bg-glass-05,#ffffff0a);transform:translateY(-1px)}.ai-metric-label{font-size:var(--font-size-sm);line-height:var(--leading-normal);color:var(--text-secondary);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.ai-metric-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--leading-tight);color:var(--accent-blue);text-transform:capitalize}.ai-section{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:var(--border-width-thin) solid var(--glass-border);border-radius:var(--radius-md);margin-bottom:var(--space-md);overflow:hidden}.ai-section>h4{font-family:var(--font-display);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);color:var(--text-primary);padding:var(--space-md);padding-bottom:var(--space-xs);border-bottom:var(--border-width-thin) solid color-mix(in srgb, var(--accent-blue) 40%, transparent);margin:0}.ai-collapsible .ai-section-toggle{width:100%;padding:var(--space-md);cursor:pointer;transition:background-color var(--transition-normal);background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.ai-collapsible .ai-section-toggle:hover{background:var(--bg-hover)}.ai-collapsible .ai-section-toggle:focus-visible{outline:var(--border-width-medium) solid var(--focus-ring);outline-offset:calc(-1 * var(--border-width-medium))}.ai-collapsible .ai-section-toggle h4{font-family:var(--font-display);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin:0}.ai-toggle-icon{color:var(--text-secondary);transition:transform var(--transition-normal)}.ai-toggle-icon.open{transform:rotate(180deg)}.ai-section-content{padding:0 var(--space-md) var(--space-md);animation:slideDown var(--transition-normal)}@keyframes slideDown{0%{opacity:0;transform:translateY(calc(-1 * var(--space-sm)))}to{opacity:1;transform:translateY(0)}}.ai-allocation-container{padding:var(--space-md)}.ai-allocation-bar{height:var(--space-xl);border-radius:var(--radius-sm);margin-bottom:var(--space-md);display:flex;overflow:hidden}.ai-allocation-segment{background-color:var(--asset-color);transition:opacity var(--transition-normal)}.ai-allocation-segment:hover{opacity:.8}.ai-allocation-legend{gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.ai-allocation-legend-item{align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--bg-glass-02);border-radius:var(--radius-sm);transition:transform var(--transition-fast), background var(--transition-fast);display:flex}.ai-allocation-legend-item:hover{background:var(--bg-glass-05,#ffffff0a);transform:translateY(-1px)}.ai-legend-color{border-radius:var(--radius-sm);background-color:var(--asset-color);flex-shrink:0;width:12px;height:12px}.ai-legend-label{font-size:var(--font-size-sm);line-height:var(--leading-normal);color:var(--text-primary);flex:1}.ai-legend-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.ai-backtest-info{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.ai-backtest-badge{padding:var(--space-xs) var(--space-sm);background:color-mix(in srgb, var(--color-success) 10%, transparent);border:var(--border-width-thin) solid color-mix(in srgb, var(--color-success) 30%, transparent);border-radius:var(--radius-sm);color:var(--color-success);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);align-items:center;display:inline-flex}.ai-backtest-period{font-size:var(--font-size-sm);line-height:var(--leading-normal);color:var(--text-secondary)}.ai-historical-disclaimer{font-size:var(--font-size-xs);line-height:var(--leading-normal);color:var(--text-muted);margin:0 0 var(--space-md) 0;padding:var(--space-sm);background:color-mix(in srgb, var(--text-muted) 8%, transparent);border-radius:var(--radius-sm);border-left:var(--border-width-thick) solid var(--text-muted);font-style:italic}.ai-characteristics-grid{gap:var(--space-sm);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=900px){.ai-characteristics-grid{grid-template-columns:repeat(2,1fr)}}.ai-char-item{padding:var(--space-sm);background:var(--bg-glass-02);border-radius:var(--radius-sm);transition:transform var(--transition-fast), background var(--transition-fast);flex-direction:column;display:flex}.ai-char-item:hover{background:var(--bg-glass-05,#ffffff0a);transform:translateY(-1px)}.ai-char-label{font-size:var(--font-size-xs);line-height:var(--leading-normal);color:var(--text-secondary);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.ai-char-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:var(--leading-tight);color:var(--text-primary)}.ai-char-value.positive{color:var(--color-success)}.ai-char-value.negative{color:var(--color-error)}.ai-optimization-details{gap:var(--space-sm);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=768px){.ai-optimization-details{grid-template-columns:repeat(2,1fr)}}.ai-opt-item{padding:var(--space-sm);background:var(--bg-glass-02);border-radius:var(--radius-sm);transition:transform var(--transition-fast), background var(--transition-fast);flex-direction:column;display:flex}.ai-opt-item:hover{background:var(--bg-glass-05,#ffffff0a);transform:translateY(-1px)}.ai-opt-label{font-size:var(--font-size-xs);line-height:var(--leading-normal);color:var(--text-secondary);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.ai-opt-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight);color:var(--text-primary)}.ai-holdings-table-container{overflow-x:auto}.ai-holdings-table{border-collapse:collapse;width:100%}.ai-holdings-table th{text-align:left;padding:var(--space-sm) var(--space-md);background:var(--bg-glass-02);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:var(--leading-normal);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wider);border-bottom:var(--border-width-thin) solid var(--border-subtle)}.ai-holdings-table td{padding:var(--space-sm) var(--space-md);border-bottom:var(--border-width-thin) solid color-mix(in srgb, var(--accent-blue) 8%, transparent);font-size:var(--font-size-base);line-height:var(--leading-normal);color:var(--text-primary)}.ai-holdings-table tr:last-child td{border-bottom:none}.ai-holdings-table tr:hover td{background:color-mix(in srgb, var(--accent-blue) 10%, transparent)}.ai-holding-symbol{font-weight:var(--font-weight-bold);color:var(--text-primary)}.ai-holding-name{color:var(--text-primary)}.ai-holding-weight{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold);color:var(--accent-blue);text-align:right}.ai-holding-rationale{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:var(--leading-normal);max-width:var(--max-width-popover)}.ai-asset-class-badge{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight);color:var(--text-primary);background-color:var(--asset-color);display:inline-block}.ai-transition-grid{gap:var(--space-sm);grid-template-columns:repeat(3,1fr);display:grid}.ai-transition-item{padding:var(--space-sm);background:var(--bg-glass-02);border-radius:var(--radius-sm);flex-direction:column;display:flex}.ai-transition-label{font-size:var(--font-size-xs);line-height:var(--leading-normal);color:var(--text-secondary);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.ai-transition-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight);color:var(--text-primary)}.ai-result-actions{justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:var(--border-width-thin) solid var(--border-subtle);display:flex}.ai-result-actions .btn{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);display:flex}.ai-advanced-settings-section{margin-bottom:var(--space-lg);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:var(--border-width-thin) solid var(--glass-border);border-radius:var(--radius-md);overflow:hidden}.ai-advanced-toggle{align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-md);cursor:pointer;transition:background-color var(--transition-normal);color:var(--text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);background:0 0;border:none;display:flex}.ai-advanced-toggle:hover{background:var(--bg-hover)}.ai-advanced-toggle:focus-visible{outline:var(--border-width-medium) solid var(--focus-ring);outline-offset:calc(-1 * var(--border-width-medium))}.ai-advanced-toggle .ai-toggle-icon{flex-shrink:0}.ai-settings-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-success);background:color-mix(in srgb, var(--color-success) 10%, transparent);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);margin-left:auto}.ai-advanced-settings-content{padding:0 var(--space-md) var(--space-md);animation:slideDown var(--transition-normal)}.ai-settings-group{background:var(--bg-glass-02);border-radius:var(--radius-sm);padding:var(--space-md);margin-bottom:var(--space-md)}.ai-settings-group:last-child{margin-bottom:0}.ai-settings-group-title{align-items:center;gap:var(--space-sm);font-family:var(--font-display);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin:0 0 var(--space-md) 0;display:flex}.ai-settings-group-title svg{color:var(--accent-blue)}.ai-settings-grid{gap:var(--space-md);margin-bottom:var(--space-sm);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=600px){.ai-settings-grid{grid-template-columns:1fr}}.ai-settings-row{margin-bottom:var(--space-sm)}.ai-label-small{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--leading-normal);color:var(--text-secondary);margin-bottom:var(--space-xs);display:block}.ai-select-small{width:100%;padding:var(--space-sm);background:var(--bg-input,var(--bg-primary));border:var(--border-width-thin) solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);font-size:var(--font-size-sm);cursor:pointer;transition:border-color var(--transition-normal)}.ai-select-small:focus{border-color:var(--accent-blue);outline:none}.ai-select-small:focus-visible{outline:var(--border-width-medium) solid var(--focus-ring);outline-offset:var(--border-width-medium)}.ai-select-small option,.ai-select-small optgroup{color:#0f172a;background:#fff}.ai-checkbox-label{align-items:center;gap:var(--space-sm);cursor:pointer;font-size:var(--font-size-base);line-height:var(--leading-normal);color:var(--text-primary);display:flex}.ai-checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-blue);cursor:pointer}.ai-sector-exclusions{gap:var(--space-sm);margin-top:var(--space-sm);flex-wrap:wrap;display:flex}.ai-sector-chip{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--bg-primary);border:var(--border-width-thin) solid var(--border-subtle);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-normal);font-size:var(--font-size-sm);line-height:var(--leading-normal);color:var(--text-secondary);display:flex}.ai-sector-chip:hover{border-color:var(--accent-blue)}.ai-sector-chip:focus-visible{outline:var(--border-width-medium) solid var(--focus-ring);outline-offset:var(--border-width-medium)}.ai-sector-chip input[type=checkbox]{display:none}.ai-sector-chip:has(input:checked){background:color-mix(in srgb, var(--color-error) 10%, transparent);border-color:color-mix(in srgb, var(--color-error) 50%, transparent);color:var(--color-error)}.ai-sector-chip:has(input:checked) span:before{content:"✕"}.ai-slider-container{align-items:center;gap:var(--space-sm);display:flex}.ai-slider{height:var(--size-dot);appearance:none;background:var(--border-subtle);border-radius:var(--radius-full);cursor:pointer;flex:1}.ai-slider:focus-visible{outline:var(--border-width-medium) solid var(--focus-ring);outline-offset:var(--border-width-medium)}.ai-slider::-webkit-slider-thumb{appearance:none;background:var(--accent-blue);border-radius:var(--radius-full);cursor:pointer;width:18px;height:18px;transition:transform var(--transition-fast)}.ai-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.ai-slider::-moz-range-thumb{background:var(--accent-blue);border-radius:var(--radius-full);cursor:pointer;border:none;width:18px;height:18px}.ai-slider-value{min-width:var(--space-2xl);text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.ai-setting-hint{font-size:var(--font-size-xs);line-height:var(--leading-normal);color:var(--text-muted);margin-top:var(--space-xs);font-style:italic}.ai-thinking-container{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-md);border:var(--border-width-thin) solid var(--glass-border);flex-direction:column;flex:1;display:flex;overflow:hidden}.ai-thinking-header{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:color-mix(in srgb, var(--accent-blue) 10%, transparent);border-bottom:var(--border-width-thin) solid var(--border-subtle);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);display:flex}.ai-thinking-header svg{color:var(--accent-blue)}.ai-thinking-badge{padding:var(--space-xs) var(--space-sm);background:color-mix(in srgb, var(--accent-blue) 15%, transparent);border:var(--border-width-thin) solid color-mix(in srgb, var(--accent-blue) 25%, transparent);border-radius:var(--radius-sm);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--accent-blue);font-weight:var(--font-weight-medium);margin-left:auto}.ai-thinking-content{padding:var(--space-md);font-family:var(--font-mono);font-size:var(--font-size-sm);line-height:var(--leading-loose);color:var(--text-secondary);background:var(--bg-overlay-subtle);flex:1;min-height:200px;max-height:300px;overflow-y:auto}.ai-thought-line{gap:var(--space-sm);margin-bottom:var(--space-sm);padding:var(--space-xs) 0;animation:thoughtFadeIn var(--transition-slow);display:flex}.ai-thought-line.spacer{height:var(--space-xs);margin:0;padding:0}.ai-thought-line.section-header{margin-top:var(--space-md);margin-bottom:var(--space-sm);padding:var(--space-sm);background:color-mix(in srgb, var(--accent-blue) 12%, transparent);border-radius:var(--radius-sm);border-left:var(--border-width-thick) solid var(--accent-blue)}.ai-thought-section{color:var(--accent-blue);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.ai-thought-bullet{color:var(--accent-blue);font-weight:var(--font-weight-semibold);opacity:.7;flex-shrink:0}.ai-thought-line.success,.ai-thought-line.success span{color:var(--color-success)}.ai-thought-line.complete{color:var(--color-success);font-weight:var(--font-weight-semibold);margin-top:var(--space-sm);padding:var(--space-sm);background:color-mix(in srgb, var(--color-success) 10%, transparent);border-radius:var(--radius-sm)}.ai-thought-cursor{width:var(--border-width-medium);background:var(--accent-blue);height:14px;margin-left:var(--space-xs);animation:cursorBlink var(--motion-duration-loop) infinite;border-radius:var(--radius-xs);display:inline-block}@keyframes thoughtFadeIn{0%{opacity:0;transform:translateX(calc(-1 * var(--space-xs)))}to{opacity:1;transform:translate(0)}}@keyframes cursorBlink{0%,50%{opacity:1}51%,to{opacity:0}}.ai-factor-tilts{gap:var(--space-md);flex-direction:column;display:flex}.ai-factor-tilt-item{gap:var(--space-xs);flex-direction:column;display:flex}.ai-factor-slider-container{align-items:center;gap:var(--space-sm);display:flex}.ai-factor-slider{height:var(--size-dot);appearance:none;background:linear-gradient(to right, var(--color-error) 0%, var(--border-subtle) 50%, var(--color-success) 100%);border-radius:var(--radius-full);cursor:pointer;flex:1}.ai-factor-slider:focus-visible{outline:var(--border-width-medium) solid var(--focus-ring);outline-offset:var(--border-width-medium)}.ai-factor-slider::-webkit-slider-thumb{appearance:none;background:var(--text-primary);border:var(--border-width-thick) solid var(--accent-blue);border-radius:var(--radius-full);cursor:pointer;width:18px;height:18px;transition:transform var(--transition-fast)}.ai-factor-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.ai-factor-slider::-moz-range-thumb{background:var(--text-primary);border:var(--border-width-thick) solid var(--accent-blue);border-radius:var(--radius-full);cursor:pointer;width:18px;height:18px}.ai-factor-label{font-size:var(--font-size-xs);color:var(--text-muted);min-width:var(--size-icon-wrap-md)}.ai-factor-label:first-of-type{text-align:right}.ai-factor-value{text-align:right;min-width:50px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.ai-metric-verified .ai-metric-label{justify-content:center;align-items:center;display:flex}.ai-metric-verified .ai-metric-label svg{margin-right:var(--space-xs);color:var(--color-success)}.ai-metric-verified .ai-metric-value{color:var(--color-success)}.ai-mandate-disclosures{background:color-mix(in srgb, var(--color-warning) 10%, transparent);border:var(--border-width-thin) solid color-mix(in srgb, var(--color-warning) 25%, transparent);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-lg)}.ai-mandate-disclosures-header{align-items:center;gap:var(--space-sm);color:var(--color-warning);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--leading-normal);margin-bottom:var(--space-sm);display:flex}.ai-mandate-disclosures-list{padding-left:var(--space-lg);gap:var(--space-xs);flex-direction:column;margin:0;display:flex}.ai-mandate-disclosures-list li{color:var(--text-primary);font-size:var(--font-size-sm);line-height:var(--leading-normal)}.ai-tool-usage-summary{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:var(--border-width-thin) solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-lg)}.ai-tool-usage-header{align-items:center;gap:var(--space-sm);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--leading-normal);margin-bottom:var(--space-sm);display:flex}.ai-tool-usage-header svg{color:var(--color-warning)}.ai-tool-usage-list{gap:var(--space-sm);flex-wrap:wrap;display:flex}.ai-tool-badge{padding:var(--space-xs) var(--space-sm);background:color-mix(in srgb, var(--accent-blue) 15%, transparent);border:var(--border-width-thin) solid color-mix(in srgb, var(--accent-blue) 25%, transparent);border-radius:var(--radius-sm);font-size:var(--font-size-xs);line-height:var(--leading-normal);color:var(--accent-blue);font-weight:var(--font-weight-medium);align-items:center;display:inline-flex}.ai-tool-badge.ai-tool-get-universe-stats{background:color-mix(in srgb, var(--accent-purple) 10%, transparent);border-color:color-mix(in srgb, var(--accent-purple) 25%, transparent);color:var(--accent-purple)}.ai-tool-badge.ai-tool-search-symbols{background:color-mix(in srgb, var(--accent-blue) 15%, transparent);border-color:color-mix(in srgb, var(--accent-blue) 25%, transparent);color:var(--accent-blue)}.ai-tool-badge.ai-tool-validate-symbols{background:color-mix(in srgb, var(--color-success) 10%, transparent);border-color:color-mix(in srgb, var(--color-success) 25%, transparent);color:var(--color-success)}.ai-tool-badge.ai-tool-get-etf-options{background:color-mix(in srgb, var(--color-warning) 10%, transparent);border-color:color-mix(in srgb, var(--color-warning) 25%, transparent);color:var(--color-warning)}.ai-tool-badge.ai-tool-finalize-portfolio{background:color-mix(in srgb, var(--accent-pink) 10%, transparent);border-color:color-mix(in srgb, var(--accent-pink) 25%, transparent);color:var(--accent-pink)}.ai-save-error{color:var(--color-error);padding:var(--space-sm);background-color:color-mix(in srgb, var(--color-error) 10%, transparent);border-radius:var(--radius-sm);margin-bottom:var(--space-sm);font-size:var(--font-size-base)}.ai-label-hint{margin-left:var(--space-xs);cursor:help;color:var(--text-muted);font-size:var(--font-size-sm)}.ai-alpha-input-container{gap:var(--space-xs);flex-direction:column;display:flex}.ai-alpha-slider-gap{margin-top:var(--space-sm)}.ai-spinner-sm{border-width:2px;width:16px;height:16px}.ai-model-builder .gold-rule{border:none;border-top:var(--border-width-thin) solid color-mix(in srgb, var(--accent-blue) 40%, transparent);margin:0}@media (prefers-reduced-motion:reduce){@keyframes fadeIn{0%{opacity:1;transform:none}to{opacity:1;transform:none}}@keyframes slideDown{0%{opacity:1;transform:none}to{opacity:1;transform:none}}@keyframes thoughtFadeIn{0%{opacity:1;transform:none}to{opacity:1;transform:none}}@keyframes cursorBlink{0%,to{opacity:1}}.ai-icon,.ai-generate-btn,.ai-progress-step,.ai-metric-card,.ai-allocation-segment,.ai-allocation-legend-item,.ai-char-item,.ai-opt-item,.ai-sector-chip,.ai-toggle-icon,.ai-progress-bar-fill,.ai-select,.ai-select-small,.ai-textarea,.ai-collapsible .ai-section-toggle,.ai-advanced-toggle{transition:none}.ai-slider::-webkit-slider-thumb{transition:none}.ai-factor-slider::-webkit-slider-thumb{transition:none}.ai-icon:hover,.ai-generate-btn:hover:not(:disabled),.ai-generate-btn:active:not(:disabled),.ai-metric-card:hover,.ai-allocation-legend-item:hover,.ai-char-item:hover,.ai-opt-item:hover,.ai-progress-step.active{transform:none}.ai-slider::-webkit-slider-thumb:hover{transform:none}.ai-factor-slider::-webkit-slider-thumb:hover{transform:none}.ai-thought-cursor{opacity:1;animation:none}}@media (prefers-contrast:high){.ai-rationale,.ai-metric-card,.ai-section,.ai-thinking-container,.ai-tool-usage-summary,.ai-advanced-settings-section{-webkit-backdrop-filter:none;background:var(--bg-secondary);border-color:var(--text-muted)}.ai-metric-card:hover,.ai-allocation-legend-item:hover,.ai-char-item:hover,.ai-opt-item:hover{background:var(--bg-secondary)}.ai-generate-btn:focus-visible,.ai-textarea:focus-visible,.ai-select:focus-visible,.ai-select-small:focus-visible,.ai-slider:focus-visible,.ai-factor-slider:focus-visible,.ai-collapsible .ai-section-toggle:focus-visible,.ai-advanced-toggle:focus-visible,.ai-sector-chip:focus-visible{outline-color:var(--text-primary);box-shadow:0 0 0 var(--border-width-medium) var(--text-primary)}.ai-generating-header{border-color:var(--text-muted)}.ai-thinking-header,.ai-holdings-table th,.ai-holdings-table td{border-bottom-color:var(--text-muted)}}
