*{margin:0;padding:0}.skip-link{background:#2563eb;border-radius:8px;color:#fff;font-weight:600;left:-9999px;padding:12px 20px;position:absolute;text-decoration:none;top:10px;transition:left .2s ease;z-index:9999}.skip-link:focus-visible{left:10px;outline:3px solid #1d4ed8;outline-offset:2px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}html{-webkit-text-size-adjust:100%}body,html{overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#eff6ff;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button,input{font-family:inherit}:root{--primary-color:#2563eb;--primary-dark:#1d4ed8;--primary-light:#60a5fa;--primary-glow:#2563eb2e;--secondary-color:#64748b;--success-color:#059669;--warning-color:#d97706;--error-color:#dc2626;--text-primary:#1e293b;--text-secondary:#475569;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-elevated:#eff6ff;--border-color:#e2e8f0;--shadow-sm:0 1px 2px #0f172a0d,0 2px 4px #0f172a0a;--shadow-md:0 4px 6px #0f172a0d,0 10px 20px #0f172a0f;--shadow-lg:0 10px 25px #0f172a14,0 20px 50px #0f172a0f;--shadow-xl:0 20px 40px #0f172a1a;--spacing-xs:8px;--spacing-sm:12px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:40px;--border-radius:14px;--border-radius-lg:20px;--border-radius-pill:9999px;--touch-target:44px;--max-content-width:1200px;--transition-fast:0.2s ease;--transition-smooth:0.25s cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box}.App{background:linear-gradient(165deg,#eff6ff,#dbeafe 35%,#bfdbfe 70%,#93c5fd);background-attachment:fixed;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6;min-height:100vh;min-height:-webkit-fill-available;padding:16px;padding:var(--spacing-md);padding-bottom:max(16px,env(safe-area-inset-bottom));padding-bottom:max(var(--spacing-md),env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left));padding-left:max(var(--spacing-md),env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-right:max(var(--spacing-md),env(safe-area-inset-right))}.container{background:#fff;background:var(--bg-primary);border:1px solid #fffc;border-radius:20px;border-radius:var(--border-radius-lg);box-shadow:0 20px 40px #0f172a1a;box-shadow:var(--shadow-xl);margin:0 auto;max-width:1200px;max-width:var(--max-content-width);min-width:0;overflow-x:hidden;padding:24px;padding:var(--spacing-lg);padding-bottom:104px;padding-bottom:calc(var(--spacing-lg) + 80px)}.app-header{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);margin-bottom:32px;margin-bottom:var(--spacing-xl);padding-bottom:24px;padding-bottom:var(--spacing-lg);text-align:center}.app-header h1{color:#1e293b;color:var(--text-primary);font-size:1.75rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin-bottom:12px;margin-bottom:var(--spacing-sm)}.app-header p{color:#475569;color:var(--text-secondary);font-size:.95rem;margin-bottom:16px;margin-bottom:var(--spacing-md);margin-left:auto;margin-right:auto;max-width:42ch}.stats-bar{background:#eff6ff;background:var(--bg-elevated);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:14px;border-radius:var(--border-radius);display:flex;flex-direction:column;font-size:.875rem;gap:12px;gap:var(--spacing-sm);margin-top:16px;margin-top:var(--spacing-md);padding:16px;padding:var(--spacing-md)}.stats-bar span{color:#1e293b;color:var(--text-primary);font-weight:500}.clear-cache-btn{background:#dc2626;background:var(--error-color);border:none;border-radius:14px;border-radius:var(--border-radius);color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;min-height:44px;min-height:var(--touch-target);padding:12px 16px;padding:var(--spacing-sm) var(--spacing-md);transition:transform .2s ease,box-shadow .2s ease;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.clear-cache-btn:hover{background:#b91c1c;box-shadow:0 1px 2px #0f172a0d,0 2px 4px #0f172a0a;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.input-section{margin-bottom:40px;margin-bottom:var(--spacing-2xl)}.settings-card{background:#f8fafc;background:var(--bg-secondary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:14px;border-radius:var(--border-radius);margin-bottom:24px;margin-bottom:var(--spacing-lg);padding:24px;padding:var(--spacing-lg);transition:box-shadow .25s cubic-bezier(.4,0,.2,1);transition:box-shadow var(--transition-smooth)}.settings-card:hover{box-shadow:0 1px 2px #0f172a0d,0 2px 4px #0f172a0a;box-shadow:var(--shadow-sm)}.settings-card h3{color:#1e293b;color:var(--text-primary);font-size:1.25rem;font-weight:600;letter-spacing:-.01em;margin-bottom:24px;margin-bottom:var(--spacing-lg)}.input-grid{gap:24px;gap:var(--spacing-lg)}.input-grid,.input-group{display:flex;flex-direction:column}.input-group{gap:8px;gap:var(--spacing-xs)}.input-group label{color:#1e293b;color:var(--text-primary);font-size:.9rem;font-weight:600;margin-bottom:8px;margin-bottom:var(--spacing-xs)}.input-group input,.input-group select{background:#fff;background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:14px;border-radius:var(--border-radius);font-size:16px;min-height:44px;min-height:var(--touch-target);padding:16px;padding:var(--spacing-md);transition:border-color .2s ease,box-shadow .2s ease;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.input-group input:focus,.input-group select:focus{border-color:#2563eb;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb2e;box-shadow:0 0 0 3px var(--primary-glow);outline:none}.input-group input:disabled{background:#f8fafc;background:var(--bg-secondary);cursor:not-allowed;opacity:.6}.input-group small{color:#475569;color:var(--text-secondary);font-size:.8rem;margin-top:8px;margin-top:var(--spacing-xs)}.input-group input.error,.input-group select.error{border-color:#dc2626;border-color:var(--error-color);box-shadow:0 0 0 3px #dc262626}.beta-input-wrapper{display:flex;flex-direction:column;gap:12px;gap:var(--spacing-sm)}.beta-slider-container{align-items:center;display:flex;gap:16px;gap:var(--spacing-md)}.beta-slider{-webkit-appearance:none;background:#e2e8f0;background:var(--border-color);border-radius:3px;flex:1 1;height:6px;outline:none}.beta-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#2563eb;background:var(--primary-color);border-radius:50%;cursor:pointer;height:20px;width:20px}.beta-slider::-moz-range-thumb{background:#2563eb;background:var(--primary-color);border:none;border-radius:50%;cursor:pointer;height:20px;width:20px}.beta-number-input{min-width:80px;width:80px}.target-return-wrapper{position:relative}.target-return-wrapper input{padding-right:40px}.target-return-suffix{color:#475569;color:var(--text-secondary);font-weight:500;line-height:44px;line-height:var(--touch-target);pointer-events:none;position:absolute;right:16px;right:var(--spacing-md);top:50%;transform:translateY(-50%)}.validation-errors{background:#fef2f2;border:1px solid #fecaca;border-radius:14px;border-radius:var(--border-radius);margin-bottom:24px;margin-bottom:var(--spacing-lg);padding:16px;padding:var(--spacing-md)}.validation-errors .error-message{color:#dc2626;color:var(--error-color);font-size:.875rem;margin-bottom:8px;margin-bottom:var(--spacing-xs)}.validation-errors .error-message:last-child{margin-bottom:0}.action-buttons{gap:16px;gap:var(--spacing-md);margin-bottom:24px;margin-bottom:var(--spacing-lg);margin-top:32px;margin-top:var(--spacing-xl)}.action-buttons,.optimize-btn{display:flex;justify-content:center}.optimize-btn{align-items:center;background:linear-gradient(135deg,#2563eb,#1d4ed8);background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-dark) 100%);border:none;border-radius:9999px;border-radius:var(--border-radius-pill);box-shadow:0 4px 6px #0f172a0d,0 10px 20px #0f172a0f;box-shadow:var(--shadow-md);color:#fff;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;gap:8px;gap:var(--spacing-xs);max-width:300px;min-height:44px;min-height:var(--touch-target);padding:16px 32px;padding:var(--spacing-md) var(--spacing-xl);transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-smooth),box-shadow var(--transition-smooth)}.optimize-btn:focus-visible{outline:2px solid #1d4ed8;outline:2px solid var(--primary-dark);outline-offset:2px}.optimize-btn:hover:not(:disabled){box-shadow:0 8px 20px #2563eb2e;box-shadow:0 8px 20px var(--primary-glow);transform:translateY(-2px)}.optimize-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.optimize-btn .spinner{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.reset-btn{background:#64748b;background:var(--secondary-color);border:none;border-radius:9999px;border-radius:var(--border-radius-pill);color:#fff;cursor:pointer;font-size:1rem;font-weight:500;min-height:44px;min-height:var(--touch-target);padding:16px 24px;padding:var(--spacing-md) var(--spacing-lg);transition:transform .2s ease,background .2s ease;transition:transform var(--transition-fast),background var(--transition-fast)}.reset-btn:hover{background:#475569;transform:translateY(-1px)}.mobile-action-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color);bottom:0;box-shadow:0 -4px 20px #0f172a14;display:none;left:0;padding:16px;padding:var(--spacing-md);padding-bottom:max(16px,env(safe-area-inset-bottom));padding-bottom:max(var(--spacing-md),env(safe-area-inset-bottom));position:fixed;right:0;z-index:1000}.mobile-action-bar .action-buttons{margin:0;max-width:100%}.mobile-action-bar .optimize-btn{max-width:none}.results{border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color);margin-top:40px;margin-top:var(--spacing-2xl);padding-top:40px;padding-top:var(--spacing-2xl)}.results-header{margin-bottom:32px;margin-bottom:var(--spacing-xl)}.results-header h2{color:#1e293b;color:var(--text-primary);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:16px;margin-bottom:var(--spacing-md)}.optimization-info{color:#475569;color:var(--text-secondary);display:flex;flex-direction:column;font-size:.875rem;gap:8px;gap:var(--spacing-xs)}.metrics-grid{grid-gap:16px;grid-gap:var(--spacing-md);display:grid;gap:16px;gap:var(--spacing-md);grid-template-columns:1fr;margin-bottom:32px;margin-bottom:var(--spacing-xl)}.metric-card{background:#fff;background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:14px;border-radius:var(--border-radius);box-shadow:0 1px 2px #0f172a0d,0 2px 4px #0f172a0a;box-shadow:var(--shadow-sm);overflow:hidden;padding:24px;padding:var(--spacing-lg);position:relative;text-align:center;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),border-color .2s ease;transition:transform var(--transition-smooth),box-shadow var(--transition-smooth),border-color var(--transition-fast)}.metric-card:before{background:linear-gradient(90deg,#60a5fa,#2563eb);background:linear-gradient(90deg,var(--primary-light),var(--primary-color));content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s ease;transition:opacity var(--transition-fast)}.metric-card:hover{border-color:#2563eb33;box-shadow:0 4px 6px #0f172a0d,0 10px 20px #0f172a0f;box-shadow:var(--shadow-md);transform:translateY(-3px)}.metric-card:hover:before{opacity:1}.metric-card .metric-icon{font-size:1.75rem;margin-bottom:8px;margin-bottom:var(--spacing-xs);opacity:.85}.metric-label{color:#475569;color:var(--text-secondary);font-size:.875rem;font-weight:500;margin-bottom:12px;margin-bottom:var(--spacing-sm)}.metric-value{color:#1e293b;color:var(--text-primary);font-size:2rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin-bottom:8px;margin-bottom:var(--spacing-xs)}.metric-subtitle{color:#475569;color:var(--text-secondary);font-size:.75rem;margin-top:8px;margin-top:var(--spacing-xs)}.beta-comparison,.return-comparison{border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color);color:#475569;color:var(--text-secondary);font-size:.8rem;margin-top:12px;margin-top:var(--spacing-sm);padding-top:12px;padding-top:var(--spacing-sm)}.beta-comparison .success,.return-comparison .success{color:#059669;color:var(--success-color);font-weight:600}.beta-comparison .warning,.return-comparison .warning{color:#dc2626;color:var(--error-color);font-weight:600}.sectors-list{align-items:center;display:flex;flex-wrap:wrap;gap:12px;gap:var(--spacing-sm)}.sector-tag{background:#eff6ff;background:var(--bg-elevated);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:9999px;border-radius:var(--border-radius-pill);color:#1e293b;color:var(--text-primary);font-size:.85rem;font-weight:500;margin:0;padding:6px 14px;transition:background .2s ease,border-color .2s ease;transition:background var(--transition-fast),border-color var(--transition-fast)}.sector-tag:hover{background:#2563eb14;border-color:#2563eb40}.sectors-info{margin-top:32px;margin-top:var(--spacing-xl)}.sectors-info h3{color:#1e293b;color:var(--text-primary);font-size:1.1rem;font-weight:600;letter-spacing:-.01em;margin-bottom:12px;margin-bottom:var(--spacing-sm)}.weights-section{border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color);margin-top:40px;margin-top:var(--spacing-2xl);padding-top:40px;padding-top:var(--spacing-2xl)}.weights-section h3{color:#1e293b;color:var(--text-primary);font-size:1.25rem;font-weight:600;letter-spacing:-.01em;margin-bottom:24px;margin-bottom:var(--spacing-lg)}.weights-grid{grid-gap:16px;grid-gap:var(--spacing-md);display:grid;gap:16px;gap:var(--spacing-md);grid-template-columns:1fr}.weight-card{background:#fff;background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:14px;border-radius:var(--border-radius);box-shadow:0 1px 2px #0f172a0d,0 2px 4px #0f172a0a;box-shadow:var(--shadow-sm);padding:16px;padding:var(--spacing-md);transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-smooth),box-shadow var(--transition-smooth)}.weight-card:hover{box-shadow:0 4px 6px #0f172a0d,0 10px 20px #0f172a0f;box-shadow:var(--shadow-md);transform:translateY(-2px)}.weight-header{align-items:flex-start;display:flex;gap:12px;gap:var(--spacing-sm);justify-content:space-between;margin-bottom:12px;margin-bottom:var(--spacing-sm)}.symbol-info{flex:1 1;min-width:0}.weight-header .symbol{color:#2563eb;color:var(--primary-color);font-size:1.1rem;font-weight:700;margin-bottom:2px}.weight-header .company-name{color:#475569;color:var(--text-secondary);font-size:.85rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weight-value{color:#059669;color:var(--success-color);font-size:1.2rem;font-weight:700;white-space:nowrap}.weight-details{border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:12px;gap:var(--spacing-sm);margin-top:12px;margin-top:var(--spacing-sm);padding-top:12px;padding-top:var(--spacing-sm)}.detail-chip{align-items:center;background:#f8fafc;background:var(--bg-secondary);border-radius:9999px;border-radius:var(--border-radius-pill);color:#475569;color:var(--text-secondary);display:inline-flex;font-size:.75rem;gap:4px;padding:5px 10px}.detail-chip .chip-label{font-weight:500}.detail-chip .chip-value{color:#1e293b;color:var(--text-primary);font-weight:600}.holdings-list{display:none}.holdings-list-item{align-items:flex-start;background:#fff;background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:14px;border-radius:var(--border-radius);display:flex;gap:16px;gap:var(--spacing-md);justify-content:space-between;margin-bottom:12px;margin-bottom:var(--spacing-sm);padding:16px;padding:var(--spacing-md)}.holdings-list-item-left{flex:1 1;min-width:0}.holdings-list-item .symbol{color:#2563eb;color:var(--primary-color);font-size:1rem;font-weight:700;margin-bottom:2px}.holdings-list-item .company-name{color:#475569;color:var(--text-secondary);font-size:.85rem;margin-bottom:8px;margin-bottom:var(--spacing-xs)}.holdings-list-item-right{text-align:right}.holdings-list-item .weight{color:#059669;color:var(--success-color);font-size:1.1rem;font-weight:700;margin-bottom:8px;margin-bottom:var(--spacing-xs)}.holdings-list-item .chips{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.error-section{background:#fef2f2;border:1px solid #fecaca;border-radius:14px;border-radius:var(--border-radius);color:#dc2626;color:var(--error-color);margin:24px 0;margin:var(--spacing-lg) 0;padding:24px;padding:var(--spacing-lg)}.error-section h3{margin-bottom:12px;margin-bottom:var(--spacing-sm)}.skeleton{animation:loading 1.5s ease-in-out infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:14px;border-radius:var(--border-radius)}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{height:120px;margin-bottom:16px;margin-bottom:var(--spacing-md)}.info-box{background:#f8fafc;background:var(--bg-secondary);color:#475569;color:var(--text-secondary);font-size:.875rem;line-height:1.6;margin-top:24px;margin-top:var(--spacing-lg);padding:16px;padding:var(--spacing-md)}.info-box,.portfolio-summary{border-radius:14px;border-radius:var(--border-radius)}.portfolio-summary{background:#eff6ff;background:var(--bg-elevated);border:1px solid #e2e8f0;border:1px solid var(--border-color);margin-bottom:32px;margin-bottom:var(--spacing-xl);padding:24px;padding:var(--spacing-lg)}.portfolio-summary h3{color:#1e293b;color:var(--text-primary);font-size:1.1rem;font-weight:600;margin-bottom:16px;margin-bottom:var(--spacing-md)}.summary-stats{grid-gap:12px;grid-gap:var(--spacing-sm);display:grid;gap:12px;gap:var(--spacing-sm);grid-template-columns:1fr}.summary-item{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:12px 0;padding:var(--spacing-sm) 0}.summary-item:last-child{border-bottom:none}.summary-item .label{color:#475569;color:var(--text-secondary);font-size:.9rem;font-weight:500}.summary-item .value{color:#1e293b;color:var(--text-primary);font-size:1rem;font-weight:700}.summary-item .value.success{color:#059669;color:var(--success-color)}.summary-item .value.warning{color:#d97706;color:var(--warning-color)}.app-footer{border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color);color:#475569;color:var(--text-secondary);font-size:.9rem;margin-top:40px;margin-top:var(--spacing-2xl);padding:32px 16px;padding:var(--spacing-xl) var(--spacing-md);text-align:center}.footer-links{align-items:center;display:flex;flex-wrap:wrap;gap:12px;gap:var(--spacing-sm);justify-content:center;margin-bottom:16px;margin-bottom:var(--spacing-md)}.footer-link{background:none;border:none;border-radius:14px;border-radius:var(--border-radius);color:#2563eb;color:var(--primary-color);cursor:pointer;font-size:inherit;font-weight:500;padding:4px 8px;transition:color .2s ease,background .2s ease;transition:color var(--transition-fast),background var(--transition-fast)}.footer-link:hover{background:#eff6ff;background:var(--bg-elevated);color:#1d4ed8;color:var(--primary-dark)}.footer-sep{color:#e2e8f0;color:var(--border-color);font-weight:300;-webkit-user-select:none;user-select:none}.footer-credit{font-size:.85rem;margin:0;opacity:.9}.footer-modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:16px;padding:var(--spacing-md);position:fixed;z-index:2000}.footer-modal{background:#fff;background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:20px;border-radius:var(--border-radius-lg);box-shadow:0 20px 40px #0f172a1a;box-shadow:var(--shadow-xl);max-height:90vh;max-width:480px;overflow:auto;width:100%}.footer-modal-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:24px;padding:var(--spacing-lg)}.footer-modal-header h2{color:#1e293b;color:var(--text-primary);font-size:1.25rem;font-weight:600;letter-spacing:-.01em;margin:0}.footer-modal-close{align-items:center;background:none;border:none;border-radius:14px;border-radius:var(--border-radius);color:#475569;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.5rem;height:36px;justify-content:center;line-height:1;padding:0;transition:background .2s ease,color .2s ease;transition:background var(--transition-fast),color var(--transition-fast);width:36px}.footer-modal-close:hover{background:#f8fafc;background:var(--bg-secondary);color:#1e293b;color:var(--text-primary)}.footer-modal-body{padding:24px;padding:var(--spacing-lg)}.footer-modal-body p,.footer-modal-pre{line-height:1.6;margin:0}.footer-modal-pre{font-family:inherit;font-size:.9rem;white-space:pre-wrap}@media (max-width:360px){.App{padding:8px;padding:var(--spacing-xs);padding-bottom:80px;padding-bottom:calc(var(--spacing-xs) + 72px)}.container{border-radius:14px;border-radius:var(--border-radius);padding:12px;padding:var(--spacing-sm);padding-bottom:84px;padding-bottom:calc(var(--spacing-sm) + 72px)}.app-header h1{font-size:1.35rem}.app-header p{font-size:.85rem}.settings-card{padding:16px;padding:var(--spacing-md)}.settings-card h3{font-size:1.1rem}.metric-card{padding:16px;padding:var(--spacing-md)}.metric-value{font-size:1.5rem}.weight-header .symbol{font-size:1rem}.weight-value{font-size:1.05rem}.mobile-action-bar{padding:12px;padding:var(--spacing-sm);padding-bottom:max(12px,env(safe-area-inset-bottom));padding-bottom:max(var(--spacing-sm),env(safe-area-inset-bottom))}.optimize-btn,.reset-btn{font-size:.9rem;padding:12px 16px;padding:var(--spacing-sm) var(--spacing-md)}}@media (max-width:480px){.App{padding:12px;padding:var(--spacing-sm);padding-bottom:92px;padding-bottom:calc(var(--spacing-sm) + 80px)}.container{border-radius:14px;border-radius:var(--border-radius);padding:16px;padding:var(--spacing-md);padding-bottom:96px;padding-bottom:calc(var(--spacing-md) + 80px)}.app-header h1{font-size:1.5rem}.mobile-action-bar{display:block}.mobile-action-bar .action-buttons{display:flex}#action-buttons-desktop,.weights-grid{display:none}.holdings-list{display:block}.metric-value{font-size:1.75rem}.results-header h2{font-size:1.35rem}.weights-section h3{font-size:1.1rem}}@media (min-width:481px) and (max-width:768px){.App{padding-bottom:96px;padding-bottom:calc(var(--spacing-md) + 80px)}.container{padding-bottom:104px;padding-bottom:calc(var(--spacing-lg) + 80px)}.input-grid{grid-template-columns:1fr}.metrics-grid,.weights-grid{grid-template-columns:repeat(2,1fr)}.mobile-action-bar{display:block}.mobile-action-bar .action-buttons{display:flex}#action-buttons-desktop,.holdings-list{display:none}}@media (min-width:769px) and (max-width:1024px){.container{padding:32px;padding:var(--spacing-xl)}.input-grid{grid-template-columns:repeat(2,1fr)}.metrics-grid{grid-template-columns:repeat(3,1fr)}.weights-grid{grid-template-columns:repeat(2,1fr)}.stats-bar{align-items:center;flex-direction:row;justify-content:center}.optimization-info{flex-direction:row;gap:16px;gap:var(--spacing-md)}.summary-stats{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.App{padding:32px;padding:var(--spacing-xl);padding-bottom:32px;padding-bottom:var(--spacing-xl)}.container{padding:40px;padding:var(--spacing-2xl);padding-bottom:40px;padding-bottom:var(--spacing-2xl)}.app-header h1{font-size:2.5rem}.input-grid{grid-template-columns:repeat(2,1fr)}.metrics-grid{grid-template-columns:repeat(5,1fr)}.weights-grid{grid-template-columns:repeat(3,1fr)}.stats-bar{align-items:center;justify-content:center}.optimization-info,.stats-bar{flex-direction:row;gap:24px;gap:var(--spacing-lg)}.summary-stats{grid-template-columns:repeat(3,1fr)}.beta-slider-container{flex-direction:row}.mobile-action-bar{display:none}.action-buttons{display:flex}}@media (min-width:1440px){.container{max-width:1400px}}@media print{.App{background:#fff;padding:0}.container{border-radius:0;box-shadow:none}.action-buttons,.clear-cache-btn,.mobile-action-bar{display:none}}
/*# sourceMappingURL=main.8f3f2cab.css.map*/