:root{color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f5f9;--surface:#fff;--surface-subtle:#f8fafc;--text:#17243b;--muted:#59677c;--border:#dce3ed;--accent:#245bd8;--accent-hover:#1948b2;--accent-soft:#edf3ff;--positive:#15724e;--negative:#b93749;--error-bg:#fff1f2;--benchmark:#9a660a;--shadow:0 4px 20px #1827410a;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101722;--surface:#182231;--surface-subtle:#1e2a3b;--text:#edf2fa;--muted:#a6b5ca;--border:#334258;--accent:#91b4ff;--accent-hover:#b4ccff;--accent-soft:#243754;--positive:#75d5ad;--negative:#ff98a5;--error-bg:#3b2530;--benchmark:#eac478;--shadow:none}}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit;min-height:44px}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}h1,h2,h3,p{margin:0}h1{letter-spacing:-.04em;font-size:clamp(1.65rem,3vw,2rem);line-height:1.2}h2{letter-spacing:-.02em;font-size:1.1rem}h3{font-size:.95rem}p{line-height:1.6}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{max-width:1440px;margin:auto;padding:40px 32px 64px}.page-header{margin-bottom:32px}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;margin-bottom:10px;font-size:.7rem;font-weight:750}.page-header>p:last-child{color:var(--muted);margin-top:10px;font-size:.95rem}.dashboard{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:24px;display:grid}.panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px}.configuration{padding:24px}.section-heading{margin-bottom:24px}.section-heading p,.chart-heading p,.results-heading p{color:var(--muted);margin-top:6px;font-size:.82rem}.form-fields{gap:16px;display:grid}.date-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.field{gap:7px;min-width:0;display:grid}.field>label{color:var(--muted);font-size:.75rem;font-weight:650}input,select{border:1px solid var(--border);background:var(--surface);width:100%;min-width:0;color:var(--text);border-radius:7px;padding:10px;font-size:.82rem}input:hover,select:hover{border-color:var(--muted)}.holdings-section{border-top:1px solid var(--border);margin-top:28px;padding-top:24px}.holdings-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.allocation{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem}.allocation.complete{color:var(--positive)}.holdings-list{gap:14px;display:grid}.holding-row{grid-template-columns:minmax(0,1fr) 76px 44px;align-items:end;gap:8px;display:grid}.weight-input{position:relative}.weight-input input{appearance:textfield;padding-right:22px}.weight-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.weight-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.weight-input span{color:var(--muted);pointer-events:none;font-size:.8rem;position:absolute;top:13px;right:9px}button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:7px;padding:10px 14px;font-size:.82rem;font-weight:650}button:hover:not(:disabled){background:var(--surface-subtle)}.remove-button{color:var(--muted);padding:0;font-size:1.3rem}.remove-button:hover:not(:disabled){background:var(--error-bg);color:var(--negative)}.secondary-button{width:100%;color:var(--accent);border-style:dashed;margin-top:16px}.primary-button{background:var(--accent);border-color:var(--accent);width:100%;color:var(--surface);margin-top:24px}.primary-button:hover:not(:disabled){background:var(--accent-hover)}.form-note{color:var(--muted);margin-top:12px;font-size:.75rem}.alert{border:1px solid var(--negative);background:var(--error-bg);color:var(--negative);overflow-wrap:anywhere;border-radius:8px;margin-top:16px;padding:12px;font-size:.82rem}.stock-search{min-width:0;position:relative}.search-dropdown{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:8px;width:100%;min-width:220px;max-height:240px;padding:4px;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 8px 24px #00000026}.search-result{text-align:left;border:0;flex-direction:column;align-items:flex-start;gap:3px;width:100%;padding:10px;display:flex}.search-result span{color:var(--muted);overflow-wrap:anywhere;font-size:.75rem;font-weight:400}.search-feedback{color:var(--muted);padding:10px;font-size:.78rem}.results{gap:20px;min-width:0;display:grid}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;display:grid}.metric{padding:20px 16px}.metric dt{color:var(--muted);font-size:.73rem;font-weight:600}.metric dd{letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:10px 0 0;font-size:clamp(1.25rem,2vw,1.75rem);font-weight:650}.positive{color:var(--positive)}.negative{color:var(--negative)}.chart-panel{min-width:0;padding:24px 24px 12px}.chart-heading{margin-bottom:20px}.chart-legend{color:var(--muted);flex-wrap:wrap;gap:20px;margin-top:16px;font-size:.75rem;display:flex}.chart-legend span{align-items:center;gap:8px;display:inline-flex}.legend-line{border-top:3px solid var(--accent);width:20px;display:inline-block}.legend-line.benchmark{border-color:var(--benchmark);border-top-style:dashed}.performance-chart{width:100%;height:320px}.chart-panel .recharts-text{fill:var(--muted);font-size:11px}.chart-panel .recharts-default-tooltip{box-shadow:var(--shadow);border-radius:8px;font-size:12px}.state-panel{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:380px;padding:48px 24px;display:flex}.state-panel p{max-width:360px;color:var(--muted);font-size:.9rem}.state-mark{background:var(--accent-soft);width:52px;height:52px;color:var(--accent);border-radius:14px;place-items:center;margin-bottom:8px;font-size:1.5rem;display:grid}@media (width<=1150px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.app-shell{padding:28px 20px 40px}.dashboard{grid-template-columns:minmax(0,1fr)}.configuration{max-width:none}.form-fields{grid-template-columns:1fr 1fr;align-items:end}}@media (width<=540px){.app-shell{padding:24px 16px 32px}.page-header{margin-bottom:24px}.configuration,.chart-panel{padding:20px 16px}.form-fields{grid-template-columns:minmax(0,1fr)}.chart-panel{padding-bottom:8px}.performance-chart{height:260px}.metric{padding:16px 12px}.state-panel{min-height:280px}}@media (width<=359px){.metrics-grid,.date-fields{grid-template-columns:minmax(0,1fr)}.holding-row{grid-template-columns:minmax(0,1fr) 70px 44px}.search-dropdown{min-width:180px}}
