:root{font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;background:radial-gradient(circle at 25% 15%,rgba(99,102,241,.15),transparent 30%),radial-gradient(circle at 80% 0%,rgba(34,197,94,.12),transparent 25%),linear-gradient(180deg,#0a0f1c,#070b14);color:#e6edf7}:root{--bg-page: #0e1117;--bg-surface: #151b21;--bg-surface-elevated: #1e232c;--bg-card: #151b21;--bg-card-light: #1a202c;--bg-card-strong: #0d1117;--accent: #4f8cff;--accent-soft: #8a5cff;--accent-green: #16c784;--accent-red: #f6465d;--text-primary: #ffffff;--text-secondary: #9aa4b2;--border-subtle: rgba(255, 255, 255, .06);--border: rgba(255, 255, 255, .08);--primary: #4f8cff;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius: var(--radius-lg);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .35);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .55);--shadow: var(--shadow-sm);--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--text: var(--text-primary);--text-muted: var(--text-secondary);--positive: var(--accent-green);--negative: var(--accent-red);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}body{margin:0;padding:0;background:var(--bg-page);color:var(--text-primary);font-size:14px;line-height:1.5;font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:flex;flex-direction:column}.top-nav{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-xl);background:#151b21e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:10;box-shadow:var(--shadow-sm)}.top-brand{display:flex;align-items:center;gap:var(--space-sm);font-weight:700;letter-spacing:-.01em;font-size:1rem}.badge{background:#4f8cff29;border:1px solid rgba(79,140,255,.4);color:var(--accent);padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:700}.top-actions{display:flex;align-items:center;gap:var(--space-sm)}.top-nav-home-pill{border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#ffffff0a;color:var(--text-primary);padding:6px 14px;display:inline-flex;align-items:center;gap:4px;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;cursor:pointer;transition:background .2s ease,border .2s ease}.top-nav-home-pill.active{border-color:#4f8cff99;background:#4f8cff1f}.top-nav-home-pill:hover{background:#ffffff14}.top-nav-market{display:flex;justify-content:center;align-items:center}.market-status-badge{padding:5px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#0e1118e6;display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);transition:border .2s ease,background .2s ease}.market-status-badge--open{border-color:#10b98180}.market-status-badge__time{font-weight:600;color:var(--text-primary)}.btn{border:1px solid var(--border-subtle);background:#ffffff05;color:var(--text-primary);padding:10px 12px;border-radius:var(--radius-md);cursor:pointer;font-weight:600;transition:all .12s ease;font-size:13px}.btn:hover{border-color:#ffffff24;transform:translateY(-1px)}.btn-primary{background:linear-gradient(120deg,#6ba3ff,#8ab5ff);border:none;color:#0b1020;box-shadow:0 12px 30px #6ba3ff59}.btn-ghost{background:transparent;border:1px solid var(--border-subtle);color:var(--text-primary)}.app-body{display:grid;grid-template-columns:240px 1fr;gap:var(--space-6);padding:var(--space-6) var(--space-7) var(--space-8)}.dashboard-controls-bar{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-6);padding:0 var(--space-sm);margin-bottom:var(--space-5)}.dashboard-controls-left{display:flex;flex-wrap:wrap;gap:var(--space-4)}.dashboard-control-group{display:flex;flex-direction:column;gap:.35rem;min-width:160px}.dashboard-controls-pills{display:flex;flex-wrap:wrap;gap:.5rem}.dashboard-pill{padding:6px 12px;font-size:.8rem}.dashboard-select{border-radius:var(--radius-sm);border:1px solid var(--border);background:#ffffff05;color:inherit;padding:.55rem .9rem;font-size:.85rem;min-width:160px}.dashboard-controls-right{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.nav-links{display:flex;flex-direction:column;gap:6px}.nav-section{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-sm)}.nav-section-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);padding:2px 2px 0}.nav-link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-md);color:var(--text-secondary);border:1px solid transparent;transition:all .12s ease;font-size:13px}.nav-link.active{color:var(--text-primary);background:#4f8cff1f;border-color:var(--border-subtle);box-shadow:var(--shadow-sm)}.nav-link:hover{color:var(--text-primary);border-color:var(--border-subtle)}.app-body{display:flex;gap:var(--space-lg);padding:var(--space-lg) var(--space-xl) var(--space-xl);align-items:flex-start}.sidebar{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm);position:sticky;top:84px;height:fit-content;width:256px;flex-shrink:0}.main-content,.content-shell{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-5);padding:0 var(--space-xl) var(--space-xl) var(--space-xl)}.page-header{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow);display:flex;justify-content:space-between;gap:var(--space-4)}.page-header h1{margin:0;font-size:1.6rem;letter-spacing:-.02em}.page-header p{margin:6px 0 0;color:var(--text-muted)}.page-layout{display:flex;flex-direction:column;gap:var(--space-5)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:1.4rem;margin-bottom:1.5rem;box-shadow:0 16px 40px #0000003d;transition:transform .12s ease,box-shadow .12s ease}.card:hover{transform:translateY(-1px);box-shadow:0 24px 60px #0000004d}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-md)}.card-title{margin:0;font-size:1rem;letter-spacing:-.01em}.card-subtitle{margin:4px 0 0;color:var(--text-secondary);font-size:.9rem}.card-actions{display:flex;gap:var(--space-sm);align-items:center}.page-shell{display:flex;flex-direction:column;gap:var(--space-lg)}.page-shell__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-lg);margin-bottom:var(--space-md)}.page-shell__title-row{display:flex;align-items:center;gap:.75rem}.mode-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;padding:0 var(--space-xl);margin-top:.5rem}.mode-selector__tab{border-radius:999px;border:1px solid var(--border);background:#ffffff08;padding:.6rem 1.1rem;display:flex;flex-direction:column;gap:.15rem;align-items:flex-start;justify-content:center;cursor:pointer;transition:border .2s ease,transform .2s ease}.mode-selector__tab.active{border-color:#4f8cff99;transform:translateY(-1px)}.mode-selector__label{font-weight:600;font-size:.95rem}.mode-selector__subtitle{font-size:.75rem;color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase}.research-disclaimer{background:#4f8cff1f;border:1px solid rgba(79,140,255,.4);border-radius:var(--radius-lg);padding:1rem 1.25rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;font-size:.9rem}.context-badge{font-size:.75rem;padding:.25rem .9rem;border-radius:999px;font-weight:700;letter-spacing:.08em}.badge-live{background:#10b9811f;border:1px solid rgba(16,185,129,.4);color:#34d399}.badge-paper{background:#fbbf241f;border:1px solid rgba(251,191,36,.45);color:#fbbf24}.badge-backtest{background:#3b82f61f;border:1px solid rgba(59,130,246,.45);color:#93c5fd}.error-boundary-shell{padding:var(--space-6);border-radius:var(--radius-lg);background:#94a3b80f;border:1px solid rgba(148,163,184,.25);display:flex;flex-direction:column;gap:.4rem}.metric-info-popover{position:relative}.metric-info-popover__trigger{width:18px;height:18px;border-radius:50%;border:1px solid rgba(148,163,184,.8);background:#0f172ae6;color:#e2e8f0;font-size:.7rem;display:grid;place-items:center;cursor:pointer}.metric-info-popover__panel{position:absolute;top:110%;right:0;width:220px;background:#0f172af2;border:1px solid rgba(148,163,184,.4);border-radius:var(--radius-md);padding:.75rem;font-size:.75rem;z-index:20;box-shadow:0 15px 35px #00000080}.metric-card--muted .text-2xl,.metric-card--muted .text-sm{opacity:.7}.page-hero{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-lg);margin-top:var(--space-md)}.metric-row{display:flex;flex-wrap:wrap;gap:var(--space-md)}.about-container{max-width:1100px;margin:0 auto;padding:0 var(--space-md) var(--space-xl);display:flex;flex-direction:column;gap:var(--space-lg)}.about-hero{display:flex;flex-direction:column;gap:var(--space-sm)}.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-md)}.about-links{display:flex;flex-wrap:wrap;gap:.75rem}.modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:40;padding:var(--space-md)}.modal-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:520px;width:100%;padding:var(--space-lg)}.mobile-warning-overlay{position:fixed;inset:0;background:#020617f2;display:flex;align-items:center;justify-content:center;padding:var(--space-6);z-index:70}.mobile-warning-overlay__panel{width:min(420px,90vw);background:#0f172af2;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.1);padding:var(--space-6);box-shadow:0 20px 60px #0000008c;text-align:center}.page-title{margin:4px 0;font-size:1.7rem;letter-spacing:-.02em}.page-subtitle{margin:0;color:var(--text-secondary)}.page-shell__actions{display:flex;gap:var(--space-sm)}.landing-hero{display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:center}.landing-hero__copy{display:flex;flex-direction:column;gap:var(--space-3)}.landing-hero__title{margin:0;font-size:clamp(2.2rem,3vw,2.8rem);letter-spacing:-.02em}.landing-hero__subtitle{margin:0;color:var(--text-secondary);max-width:520px}.landing-hero__actions{display:flex;flex-wrap:wrap;gap:.75rem}.landing-hero__notes{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.landing-hero__panel{background:linear-gradient(160deg,#4f8cff1a,#0ea5e90d);border-color:#4f8cff66}.landing-hero__panel-footer{margin-top:var(--space-4);display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--text-secondary)}.landing-bio-card{background:#0f172ae6}.landing-bio-card__links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:var(--space-4)}.feature-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.feature-card{min-height:150px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#0f172a99,#0f172a66)}.architecture-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.architecture-card{background:#171b29e6}.landing-bio-card__links{margin-top:var(--space-4);display:flex;flex-wrap:wrap;gap:.75rem}.label-sm{text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--text-secondary)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.section-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.section-actions{display:flex;gap:var(--space-3)}.section-title{margin:2px 0 0;font-size:1.05rem;letter-spacing:-.01em}.analytics-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.dashboard-chart-layout{display:grid;gap:var(--space-4);grid-template-columns:minmax(0,2fr) minmax(220px,1fr);align-items:stretch}.dashboard-chart-layout .dashboard-curve-chart{min-height:240px}.dashboard-chart-metrics{display:grid;gap:var(--space-3)}@media(max-width:1024px){.dashboard-chart-layout{grid-template-columns:1fr}.dashboard-controls-bar{flex-direction:column}.dashboard-controls-right{justify-content:flex-start}}.strategy-top-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.strategy-config-card{min-width:320px}.strategy-chart-card{min-height:360px}.strategy-metrics-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.strategy-trades-card{margin-top:var(--space-5)}.strategy-empty-card{border-style:dashed;margin-top:var(--space-4);text-align:center}.strategy-table th,.strategy-table td{padding:.8rem .6rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-sm)}.metric-card.pro{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-md);min-width:200px;min-height:110px;display:flex;flex-direction:column;justify-content:space-between}.metric-label{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--text-secondary)}.metric-value{font-size:clamp(20px,2.4vw,28px);font-weight:700;margin-top:4px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-helper{margin:4px 0 0;color:var(--text-secondary);font-size:12px}.muted{color:var(--text-muted)}.analytics-page header,.analytics-page .card h3{letter-spacing:-.01em}.table-wrapper{width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}th,td{padding:10px 12px;border-bottom:1px solid var(--border)}th{text-align:left;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:11px;background:#ffffff05}tr:last-child td{border-bottom:none}.compact-table td,.compact-table th{padding:8px 10px}.compact-table.dense td,.compact-table.dense th{padding:6px 8px;font-size:12px}tbody tr:nth-child(2n){background:#ffffff03}tbody tr:hover{background:#ffffff05}input,select,textarea{background:#ffffff05;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text);padding:10px 12px;width:100%;font-size:.95rem}input:focus,select:focus,textarea:focus{outline:1px solid var(--primary);border-color:var(--primary);box-shadow:0 0 0 3px #7c9bff33}.action-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.chart-wrapper{background:var(--bg-card-strong);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3);box-shadow:inset 0 1px #ffffff05}.chart-title{margin:0 0 var(--space-3);color:var(--text-muted);font-size:.95rem}.error-text{color:var(--negative)}.period-heatmap td{text-align:center;font-size:.85rem;min-width:72px}.analytics-page h2{margin:0}.pill{background:#ffffff0a;border:1px solid var(--border);border-radius:999px;padding:6px 10px;color:var(--text-muted);font-size:.85rem}.tab-spacer{margin-top:.75rem}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1rem}.metric-card{background:radial-gradient(circle at 20% 20%,#60a5fa1f,#60a5fa08),var(--bg-card);padding:1rem;border-radius:14px;border:1px solid var(--border);box-shadow:0 16px 40px #00000040}.metric-card h3{margin:0 0 .4rem;font-size:.9rem;color:var(--text-muted)}.metric-card p{margin:0;font-size:1.35rem;font-weight:600}.positive{color:var(--positive)}.negative{color:var(--negative)}.card{background:var(--bg-card);padding:1.4rem;border-radius:16px;border:1px solid var(--border);margin-bottom:1.5rem;box-shadow:0 24px 60px #0000003d}.chart-card{height:340px}.card h2{margin-top:0;margin-bottom:1rem}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse;color:var(--text)}table th{background:linear-gradient(90deg,#60a5fa26,#60a5fa0d);padding:.7rem;font-size:.85rem;color:var(--text-muted);font-weight:600;text-align:left}table td{padding:.7rem;border-bottom:1px solid rgba(255,255,255,.05);font-size:.92rem}tr:hover td{background:#ffffff0a}th.numeric,td.numeric{text-align:right}.data-table{font-size:.9rem}.ticker-cell{font-weight:600;color:var(--accent)}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);color:var(--text-primary);background:#ffffff0a;font-size:12px}.pill-green{border-color:#16c78466;color:var(--accent-green)}.pill-yellow{border-color:#ffbf4666;color:#ffbf46}.pill-red{border-color:#f6465d66;color:var(--accent-red)}.table-wrapper thead th{position:sticky;top:0;z-index:1}.empty-state{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-sm);padding:var(--space-sm);border:1px dashed var(--border-subtle);border-radius:var(--radius-md)}.empty-glyph{font-size:18px;color:var(--text-secondary)}.empty-title{margin:0 0 2px;font-weight:600}.empty-action{display:flex;gap:var(--space-xs)}.simple-list{list-style:none;padding:0;margin:.4rem 0 0;display:flex;flex-direction:column;gap:.35rem}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.info-dot{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:#60a5fa2e;color:var(--text);font-size:12px;cursor:help;border:1px solid rgba(96,165,250,.35)}.confidence{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;color:var(--text-muted)}.confidence-dot{width:10px;height:10px;border-radius:999px}.confidence-green{background:#22c55e}.confidence-yellow{background:#f59e0b}.confidence-red{background:#ef4444}.micro-chart{display:grid;gap:.45rem}.micro-row{display:flex;align-items:center;gap:.5rem}.micro-label{width:120px;color:var(--text-muted);font-size:.85rem}.micro-bar{flex:1;height:8px;border-radius:999px;background:#ffffff14;overflow:hidden}.micro-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#60a5fab3,#22c55e99)}.attention-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:.5rem}.attention-section{padding:.4rem .1rem}.attention-heading{color:var(--text-muted);font-size:.85rem;margin:0 0 .35rem;letter-spacing:.01em}.callout{background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:.75rem .85rem;color:var(--text)}.insight-headline{font-size:1.05rem;font-weight:700;margin:.1rem 0 .5rem}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;border-radius:999px;font-size:.85rem;font-weight:600;border:1px solid rgba(255,255,255,.08)}.badge-stable{background:#22c55e1f;color:#22c55e;border-color:#22c55e59}.badge-elevated{background:#f59e0b1f;color:#f59e0b;border-color:#f59e0b59}.badge-volatile{background:#ef44441f;color:#ef4444;border-color:#ef444459}.drift-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.35rem}.drift-item{display:flex;justify-content:space-between;align-items:center;font-size:.92rem}.drift-status{text-transform:capitalize}.attention-divider{height:1px;width:100%;background:#ffffff0f;margin:.6rem 0}.next-step{margin-top:.6rem;font-size:.9rem;color:var(--text-muted)}.empty-state{background:var(--bg-card-light);border:1px dashed rgba(255,255,255,.15);border-radius:12px;padding:.9rem;color:var(--text-muted)}.warning-state{background:#ef444414;border:1px solid rgba(239,68,68,.35);color:var(--text);border-radius:12px;padding:.8rem}.section-title{margin:0 0 .75rem;font-size:1.05rem;letter-spacing:.01em}.app-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:1.5rem}.left-column,.right-column{display:flex;flex-direction:column;gap:1.5rem}.muted{color:var(--text-muted);font-size:.85rem}.skeleton{position:relative;overflow:hidden;background:linear-gradient(90deg,#ffffff0d,#ffffff1f,#ffffff0d);background-size:200% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{display:inline-block;width:14px;height:14px;border-radius:999px;border:2px solid rgba(255,255,255,.35);border-top-color:transparent;animation:spin .8s linear infinite}.analytics-page{display:flex;flex-direction:column;gap:2rem}.analytics-page-header,.section-heading{display:flex;flex-direction:column;gap:.35rem}.analytics-section{display:flex;flex-direction:column;gap:1rem}.analytics-subsection{display:flex;flex-direction:column;gap:1rem;margin-top:.35rem}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.analytics-form{background:var(--bg-card);border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.7rem}.analytics-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--text-muted)}.analytics-form input,.analytics-form select{background:var(--bg-card-light);border:1px solid rgba(255,255,255,.07);border-radius:8px;color:var(--text);padding:.45rem .6rem}.form-row{display:flex;gap:.7rem;flex-wrap:wrap}.form-row label{flex:1}.error-text{color:var(--negative);margin:0}.analytics-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1rem;margin-top:1rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.8rem;margin-bottom:1rem}.stat-box{background:var(--bg-card-light);border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:.75rem}.chart-wrapper{background:var(--bg-card-light);border-radius:10px;border:1px solid rgba(255,255,255,.05);padding:.75rem}.chart-title{margin:0 0 .35rem .1rem;color:var(--text-muted);font-size:.85rem;letter-spacing:.02em;text-transform:uppercase}.action-row{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:.75rem}.preset-row{display:flex;flex-direction:column;gap:.75rem}.preset-actions{display:flex;gap:.6rem;flex-wrap:wrap}.preset-actions input{background:var(--bg-card-light);border:1px solid rgba(255,255,255,.07);border-radius:8px;color:var(--text);padding:.45rem .6rem}.preset-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.builder-rules{display:flex;flex-direction:column;gap:.5rem;margin:.75rem 0}.builder-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.4rem;align-items:center}.builder-row input,.builder-row select,.builder-row button{width:100%}.heatmap{display:grid;gap:2px}.heatmap-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(40px,1fr));gap:2px}.heatmap-cell{text-align:center;padding:.45rem .25rem;font-size:.8rem;border-radius:6px;color:#0b1220;font-weight:600}@media(max-width:1024px){.app-body{flex-direction:column;padding:var(--space-md)}.sidebar{position:relative;top:auto;width:100%}.main-content,.content-shell{padding:0}}@media(max-width:900px){.app-layout{grid-template-columns:1fr}.metrics-grid{grid-template-columns:repeat(2,1fr)}.app-header{flex-direction:column}nav button{padding:.5rem .75rem}}.spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px}.spinner{border:3px solid rgba(79,140,255,.15);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.spinner-label{margin:0;font-size:14px;color:var(--text-secondary);text-align:center}.tax-harvest-header{display:flex;flex-direction:column;gap:var(--space-4)}@media(min-width:960px){.tax-harvest-header{flex-direction:row;align-items:flex-start}}.tax-summary-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));flex:1}.tax-summary-card{padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border);background:#0f172ae6;display:flex;flex-direction:column;gap:.25rem}.tax-summary-label{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.tax-summary-value{font-size:1.5rem;font-weight:700}.tax-summary-meta{font-size:.8rem;color:var(--text-secondary)}.tax-controls-card{min-width:280px;border:1px solid rgba(79,140,255,.25);background:#0ea5e90d}.tax-control-row{display:flex;flex-direction:column;gap:.4rem;margin-bottom:var(--space-3)}.tax-control-row label{font-weight:600;color:var(--text-secondary)}.tax-control-row input[type=number],.tax-control-row select{border-radius:var(--radius-sm);border:1px solid var(--border);background:#ffffff08;color:inherit;padding:.55rem .9rem}.tax-slider{display:flex;align-items:center;gap:.75rem}.tax-slider input[type=range]{flex:1}.tax-presets{display:flex;flex-wrap:wrap;gap:.5rem}.tax-status-banner{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px dashed var(--border);margin-top:var(--space-4);background:#ffffff05;color:var(--text-secondary)}.tax-status-banner.tax-error{border-color:#ef444499;color:var(--accent-red)}.tax-empty-card{margin-top:var(--space-4);border:1px dashed rgba(255,255,255,.2);padding:var(--space-4);text-align:center;color:var(--text-secondary)}.tax-table-card{margin-top:var(--space-5)}.tax-table-wrapper{overflow-x:auto;margin-top:var(--space-4)}.tax-table{width:100%;border-collapse:collapse;font-size:.9rem}.tax-table th,.tax-table td{padding:.8rem .4rem;text-align:left;border-bottom:1px solid var(--border)}.tax-table th{text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;color:var(--text-secondary)}.tax-symbol{display:flex;flex-direction:column;gap:.1rem}.tax-symbol-meta{font-size:.75rem;color:var(--text-secondary)}.tax-pill{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:999px;border:1px solid rgba(255,255,255,.2);font-size:.7rem;margin-top:.25rem}.tax-pill.safe{color:var(--text-secondary)}.tax-pill.recommended{background:#4f8cff1a;border-color:#4f8cff66;color:#7dd3fc}.tax-pl{color:var(--accent-red)}.tax-table tbody tr.selected-row{background:#4f8cff14}.tax-table-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-3)}.tax-table-subtitle{margin:0;color:var(--text-secondary);font-size:.85rem}.portfolio-lab{padding:2rem;background:var(--bg-page);min-height:100vh}.control-panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:12px;padding:2rem;margin-bottom:2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;box-shadow:var(--shadow-sm)}.control-group input[type=text],.control-group input[type=number],.control-group select{padding:.75rem;border:1px solid var(--border-subtle);background:var(--bg-page);border-radius:6px;font-size:.95rem;transition:border-color .3s;color:var(--text-primary)}.control-group input[type=text]:focus,.control-group input[type=number]:focus,.control-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.control-group input[type=range]{height:6px;cursor:pointer}.control-group input[type=checkbox]{width:20px;height:20px;cursor:pointer}.control-group .tooltip{font-size:.85rem;color:var(--text-secondary);font-style:italic}.btn-primary{background:linear-gradient(135deg,#6ba3ff,#8ab5ff);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;font-size:1rem}.error-message{background:#f6465d1a;color:var(--accent-red);padding:1rem;border-radius:8px;margin-bottom:1.5rem;font-weight:500;border:1px solid rgba(246,70,93,.3)}.tabs{display:flex;gap:0;background:var(--bg-surface);border-radius:12px 12px 0 0;overflow:hidden;margin-bottom:0;box-shadow:var(--shadow-sm);border:1px solid var(--border-subtle)}.tab{flex:1;padding:1rem;border:none;background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;font-weight:500;transition:all .3s;border-bottom:3px solid transparent}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;margin-bottom:1.5rem}.metric .value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.metric .value.negative{color:var(--accent-red)}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:1rem}.detail-item{background:var(--bg-surface-elevated);padding:1rem;border-radius:6px;border-left:3px solid #764ba2}.detail-item strong{color:var(--text-primary);display:block;margin-bottom:.5rem}.detail-item p{margin:0;color:var(--text-secondary);font-size:.95rem}.insights-list{list-style:none;padding:0;margin:0}.insights-list li{padding:1rem;background:var(--bg-surface-elevated);margin-bottom:.5rem;border-radius:6px;border-left:3px solid var(--accent-green);color:var(--text-primary)}.description{color:var(--text-secondary);font-size:.95rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-subtle)}.empty-state{text-align:center;padding:3rem;color:var(--text-secondary);font-size:1.1rem}@media(max-width:768px){.portfolio-lab{padding:1rem}.page-header h1{font-size:1.8rem}.control-panel{grid-template-columns:1fr;gap:1rem}.grid-2{grid-template-columns:1fr}.tabs{flex-wrap:wrap}.tab{flex:1;min-width:150px}.content{padding:1rem}}.advanced-backtest-v2{background:linear-gradient(135deg,#0f172a,#1e293b);min-height:100vh;padding:20px}.hero-section{background:linear-gradient(135deg,#6366f11a,#10b9810d);border:1px solid rgba(99,102,241,.2);border-radius:16px;padding:48px 32px;margin-bottom:40px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-content h1{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,#6366f1,#10b981);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 12px}.hero-content p{font-size:1.1rem;color:#cbd5e1;margin:0 0 20px}.hero-badges{display:flex;gap:12px;flex-wrap:wrap}.badge{background:#6366f126;border:1px solid rgba(99,102,241,.3);color:#a5b4fc;padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:600}.tabs-container{margin-bottom:32px}.tabs{display:flex;gap:12px;flex-wrap:wrap;border-bottom:1px solid rgba(99,102,241,.1);padding-bottom:12px}.tab{background:transparent;border:2px solid transparent;padding:12px 20px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:12px;color:#94a3b8;transition:all .2s ease;font-size:.95rem}.tab:hover{background:#6366f11a;border-color:#6366f133}.tab.active{background:linear-gradient(135deg,#6366f133,#10b9811a);border-color:#6366f1;color:#e0e7ff}.tab-icon{font-size:1.3rem}.tab-text{display:flex;flex-direction:column;gap:2px}.tab-label{font-weight:700}.tab-hint{font-size:.8rem;color:#64748b;font-weight:400}.backtest-container{display:grid;grid-template-columns:350px 1fr;gap:24px;margin-bottom:40px}@media(max-width:1024px){.backtest-container{grid-template-columns:1fr}}.params-panel{height:fit-content;position:sticky;top:20px}.params-card{background:linear-gradient(135deg,#1e293bcc,#0f172acc);border:1px solid rgba(99,102,241,.15);border-radius:12px;padding:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.params-card h3{margin:0 0 20px;color:#e0e7ff;font-size:1.1rem;font-weight:700}.param-group{margin-bottom:18px;display:flex;flex-direction:column;gap:6px}.param-group label{color:#cbd5e1;font-weight:600;font-size:.9rem}.param-group input,.param-group select{background:#0f172a80;border:1px solid rgba(99,102,241,.2);color:#e0e7ff;padding:10px 12px;border-radius:6px;font-size:.9rem;transition:all .2s ease}.param-group input:focus,.param-group select:focus{outline:none;border-color:#6366f1;background:#0f172acc;box-shadow:0 0 0 3px #6366f11a}.param-group .hint{font-size:.8rem;color:#64748b}.weight-display{display:flex;gap:8px;flex-wrap:wrap}.weight-badge{background:#10b98126;color:#6ee7b7;padding:4px 12px;border-radius:4px;font-size:.8rem;font-weight:600}.run-btn{width:100%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;padding:12px 16px;border-radius:8px;font-weight:700;cursor:pointer;font-size:.95rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px}.run-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #6366f14d}.run-btn:disabled{opacity:.6;cursor:not-allowed}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-box{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:12px;border-radius:6px;font-size:.9rem;margin-top:12px;display:flex;gap:8px;align-items:flex-start}.error-icon{flex-shrink:0}.results-panel{background:linear-gradient(135deg,#1e293bcc,#0f172acc);border:1px solid rgba(99,102,241,.15);border-radius:12px;padding:32px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.results-content{display:flex;flex-direction:column;gap:24px}.empty-state{text-align:center;padding:60px 20px}.empty-icon{font-size:3rem;margin-bottom:16px}.empty-state h3{color:#e0e7ff;font-size:1.3rem;margin:0 0 12px}.empty-state p{color:#94a3b8;margin:0}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.metric-card{background:linear-gradient(135deg,#6366f11a,#10b9810d);border:1px solid rgba(99,102,241,.2);border-radius:8px;padding:18px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.metric-card.primary{border-color:#6366f166;background:linear-gradient(135deg,#6366f126,#6366f10d)}.metric-card.success{border-color:#10b9814d;background:linear-gradient(135deg,#10b9811a,#10b9810d)}.metric-card.warning{border-color:#f59e0b4d;background:linear-gradient(135deg,#f59e0b1a,#f59e0b0d)}.metric-card.danger{border-color:#ef44444d;background:linear-gradient(135deg,#ef44441a,#ef44440d)}.metric-label{display:block;color:#cbd5e1;font-size:.85rem;font-weight:600;margin-bottom:8px}.metric-value{display:block;color:#e0e7ff;font-size:1.8rem;font-weight:800;margin-bottom:4px}.metric-value.red{color:#fca5a5}.metric-insight{display:block;color:#94a3b8;font-size:.8rem}.metric-insight.success{color:#6ee7b7}.metric-insight.warning{color:#fcd34d}.chart-section{background:linear-gradient(135deg,#0f172a80,#141e3080);border:1px solid rgba(99,102,241,.1);border-radius:8px;padding:20px}.chart-section h4{margin:0 0 16px;color:#e0e7ff;font-size:1rem;font-weight:700}.info-box{background:linear-gradient(135deg,#10b9811a,#06b6d40d);border:1px solid rgba(16,185,129,.2);border-radius:8px;padding:16px}.info-box h4{margin:0 0 12px;color:#6ee7b7;font-size:.95rem}.cointegration-result{display:flex;gap:24px;color:#6ee7b7;font-weight:600}.factor-loadings{background:linear-gradient(135deg,#0f172a80,#141e3080);border:1px solid rgba(99,102,241,.1);border-radius:8px;padding:20px}.factor-loadings h4{margin:0 0 16px;color:#e0e7ff;font-weight:700}.factor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.factor-item{background:#6366f11a;border:1px solid rgba(99,102,241,.2);border-radius:6px;padding:12px;display:flex;justify-content:space-between;align-items:center}.factor-name{color:#cbd5e1;font-weight:600;font-size:.85rem;text-transform:capitalize}.factor-value{color:#e0e7ff;font-weight:700;font-size:1rem}.factor-value.positive{color:#6ee7b7}.factor-value.negative{color:#fca5a5}.footer-info{background:linear-gradient(135deg,#6366f10d,#10b9810d);border:1px solid rgba(99,102,241,.1);border-radius:12px;padding:24px;margin-top:40px}.footer-info p{margin:8px 0;color:#cbd5e1;font-size:.9rem;line-height:1.5}.recharts-cartesian-axis-tick,.recharts-tooltip-label,.recharts-legend-item-text{color:#cbd5e1!important}.recharts-default-tooltip{background-color:#0f172af2!important;border:1px solid rgba(99,102,241,.3)!important;border-radius:6px!important}.recharts-tooltip-item{color:#e0e7ff!important}@media(max-width:768px){.hero-section{padding:32px 20px}.hero-content h1{font-size:1.8rem}.hero-content p{font-size:.95rem}.params-panel{position:relative;top:0}.tabs{gap:8px}.tab{padding:10px 16px;font-size:.85rem}.tab-text{display:none}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.metric-value{font-size:1.4rem}.results-panel{padding:20px}}@media(max-width:480px){.advanced-backtest-v2{padding:12px}.hero-section{padding:24px 16px}.hero-content h1{font-size:1.4rem}.tabs{overflow-x:auto;flex-wrap:nowrap}.tab{flex-shrink:0}.backtest-container{gap:16px}.metrics-grid{grid-template-columns:1fr}}.risk-lab{padding:2rem;background:var(--bg-page);min-height:100vh}.page-header{text-align:center;color:var(--text-primary);margin-bottom:2rem}.page-header h1{font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-header p{font-size:1.1rem;color:var(--text-secondary)}.control-panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:12px;padding:2rem;margin-bottom:2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;box-shadow:var(--shadow-sm)}.control-group{display:flex;flex-direction:column;gap:.5rem}.control-group label{font-weight:600;color:var(--text-primary);font-size:.95rem}.control-group input,.control-group select{padding:.75rem;border:1px solid var(--border-subtle);background:var(--bg-page);border-radius:6px;font-size:.95rem;color:var(--text-primary)}.control-group input:focus,.control-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.control-group input[type=range]{cursor:pointer;height:6px}.btn-primary{background:linear-gradient(135deg,#6ba3ff,#8ab5ff);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;font-size:1rem}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #6ba3ff4d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#f6465d1a;color:var(--accent-red);padding:1rem;border-radius:8px;margin-bottom:1.5rem;border:1px solid rgba(246,70,93,.3)}.tabs{display:flex;gap:0;background:var(--bg-surface);border-radius:12px 12px 0 0;overflow:hidden;margin-bottom:0;box-shadow:var(--shadow-sm);flex-wrap:wrap;border:1px solid var(--border-subtle)}.tab{flex:1;min-width:120px;padding:1rem;border:none;background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;font-weight:500;transition:all .3s;border-bottom:3px solid transparent}.tab:hover{background:var(--bg-surface-elevated);color:var(--text-primary)}.tab.active{background:var(--bg-surface-elevated);color:#667eea;border-bottom-color:#667eea}.content{background:var(--bg-surface);border-radius:0 0 12px 12px;padding:2rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-subtle);border-top:none}.tab-content{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card{background:var(--bg-surface-elevated);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;border:1px solid var(--border-subtle)}.card h3{margin-top:0;margin-bottom:1.5rem;color:var(--text-primary);font-size:1.2rem}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin-bottom:1.5rem}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.metric{display:flex;flex-direction:column;background:var(--bg-surface-elevated);padding:1rem;border-radius:6px;border-left:4px solid #667eea}.metric .label{font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem}.metric .value{font-size:1.5rem;font-weight:700;color:#667eea}.metrics-list{list-style:none;padding:0;margin:0}.metrics-list li{display:flex;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--border-subtle);background:var(--bg-surface-elevated)}.metrics-list li:last-child{border-bottom:none}.metrics-list span:first-child{color:var(--text-secondary);font-weight:500}.metrics-list span:last-child{color:#667eea;font-weight:600}.metrics-list .negative{color:var(--accent-red)}.note{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-subtle);color:var(--text-secondary);font-size:.95rem;font-style:italic}.scenario-table{width:100%;border-collapse:collapse;margin-top:1rem}.scenario-table thead{background:var(--bg-surface-elevated);border-bottom:2px solid #667eea}.scenario-table th{padding:1rem;text-align:left;font-weight:600;color:var(--text-primary)}.scenario-table td{padding:1rem;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary)}.scenario-table tbody tr:last-child td{border-bottom:none}.scenario-table .negative{color:var(--accent-red);font-weight:600}.variance-bars{display:flex;flex-direction:column;gap:1rem}.variance-bar{display:flex;align-items:center;gap:.5rem}.bar-label{min-width:40px;font-weight:600;color:var(--text-primary)}.bar-container{flex:1;background:var(--border-subtle);height:24px;border-radius:4px;overflow:hidden}.bar-fill{background:linear-gradient(90deg,#667eea,#764ba2);height:100%;transition:width .3s ease}.bar-value{min-width:50px;text-align:right;font-weight:600;color:#667eea}.empty-state{text-align:center;padding:3rem;background:var(--bg-surface-elevated);border-radius:12px;color:var(--text-secondary);font-size:1.1rem;margin-top:2rem;border:1px solid var(--border-subtle)}.no-data{text-align:center;color:var(--text-secondary);padding:2rem}@media(max-width:768px){.risk-lab{padding:1rem}.page-header h1{font-size:1.8rem}.control-panel,.grid-2{grid-template-columns:1fr}.tabs{flex-wrap:wrap}.tab{min-width:100px;padding:.75rem .5rem;font-size:.9rem}.content{padding:1rem}}
