@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;700;800&family=Space+Grotesk:wght@500;700&display=swap";:root{--bg-base: #f5f7fb;--bg-gradient-a: #d8f3ff;--bg-gradient-b: #fce3c3;--panel: rgba(255, 255, 255, .85);--panel-strong: #ffffff;--text-main: #10243b;--text-soft: #4e6075;--line-soft: #d6deea;--accent: #146ef5;--accent-strong: #0f56c6;--danger: #cf3446;--danger-strong: #ab1f2f;--shadow-soft: 0 14px 38px rgba(18, 51, 92, .12);--radius-lg: 18px;--radius-md: 12px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(90rem 50rem at -10% -20%,var(--bg-gradient-a),transparent 65%),radial-gradient(70rem 45rem at 110% 0%,var(--bg-gradient-b),transparent 62%),var(--bg-base);color:var(--text-main);font-family:Outfit,Segoe UI,sans-serif}.app-container{max-width:1440px;margin:0 auto;display:flex;flex-direction:column;gap:20px;padding:24px}.app-header{margin:0;text-align:center;font-family:Space Grotesk,Outfit,sans-serif;font-weight:700;font-size:clamp(1.8rem,3vw,2.6rem);letter-spacing:.03em;color:#0f2b4a}.date-backtest-section,.stock-list-section,.charts-section{border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.date-backtest-section{display:flex;flex-direction:column;gap:16px;padding:18px}.date-inputs{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.date-inputs label{color:var(--text-soft);font-size:.95rem;font-weight:500}.date-inputs span{color:var(--text-soft);font-weight:600}.date-inputs input,.search-input,.stock-table input[type=number]{border:1px solid var(--line-soft);border-radius:10px;background:#fff;color:var(--text-main);padding:9px 10px;outline:none;transition:border-color .2s ease,box-shadow .2s ease;font-family:Outfit,Segoe UI,sans-serif}.date-inputs input:focus,.search-input:focus,.stock-table input[type=number]:focus{border-color:#8cb7ff;box-shadow:0 0 0 3px #146ef526}.backtest-button,.view-price-button,.remove-stock-button{border:0;border-radius:10px;padding:9px 13px;font-size:.9rem;font-weight:600;font-family:Outfit,Segoe UI,sans-serif;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,background-color .2s ease}.backtest-button{color:#fff;background:linear-gradient(135deg,var(--accent),#00a3cc);box-shadow:0 10px 22px #1166e53d}.view-price-button{color:#fff;background:linear-gradient(135deg,#1a7c66,#2fa87f);margin-right:8px}.remove-stock-button{color:#fff;background:linear-gradient(135deg,var(--danger),#e14f5f)}.backtest-button:hover,.view-price-button:hover,.remove-stock-button:hover{transform:translateY(-1px)}.backtest-button:active,.view-price-button:active,.remove-stock-button:active{transform:translateY(0)}.backtest-button:hover{background:linear-gradient(135deg,var(--accent-strong),#008ab0)}.view-price-button:hover{background:linear-gradient(135deg,#145d4e,#248a69)}.remove-stock-button:hover{background:linear-gradient(135deg,var(--danger-strong),#c93c4c)}.backtest-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:10px}.summary-item{border:1px solid #dbe4f2;border-radius:var(--radius-md);background:var(--panel-strong);padding:10px 12px;min-height:74px}.summary-label{display:block;margin-bottom:6px;color:var(--text-soft);font-size:.82rem;font-weight:500}.summary-value{display:block;color:var(--text-main);font-family:Space Grotesk,Outfit,sans-serif;font-size:1rem;font-weight:700}.stock-search-section{display:flex;justify-content:center}.search-container{position:relative;width:min(680px,100%)}.search-input{width:100%;padding:12px 14px;border-radius:12px;font-size:.95rem}.search-results{list-style:none;margin:8px 0 0;padding:6px;border:1px solid var(--line-soft);border-radius:12px;background:#fff;max-height:250px;overflow-y:auto;box-shadow:0 16px 30px #12335c29;position:absolute;width:100%;z-index:20}.search-results li{border-radius:8px;padding:8px 10px;cursor:pointer;color:#1f3452}.search-results li:hover{background:#edf4ff}.main-content{display:grid;grid-template-columns:minmax(420px,.95fr) minmax(420px,1.05fr);gap:18px;align-items:start}.stock-list-section{padding:16px}.stock-list-header{margin:0 0 12px;color:var(--text-main);font-family:Space Grotesk,Outfit,sans-serif;font-weight:700;font-size:1.1rem}.stock-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:12px;border:1px solid var(--line-soft)}.stock-table thead th{background:#ecf3ff;color:#203a5a;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.stock-table th,.stock-table td{border-bottom:1px solid #e6edf7;padding:10px 8px;text-align:left;vertical-align:middle;font-size:.9rem}.stock-table tbody tr:nth-child(2n){background:#fbfdff}.stock-row{cursor:pointer}.stock-row.is-selected{background:#e3efff}.stock-table tbody tr:hover{background:#f0f6ff}.stock-table tbody tr:last-child td{border-bottom:none}.stock-table input[type=number]{width:70px;text-align:center}.stock-detail-panel{margin-top:14px;border:1px solid #dbe4f2;border-radius:14px;background:#fff;padding:12px}.stock-detail-panel .chart-placeholder{min-height:260px}.stock-detail-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}.stock-detail-title{margin:0;color:#1c3757;font-family:Space Grotesk,Outfit,sans-serif;font-size:1rem;font-weight:700}.stock-detail-subtitle{color:#4e6075;font-size:.82rem;font-weight:500}.charts-section{padding:16px;display:flex;flex-direction:column;gap:14px}.chart-container{border:1px solid #dbe4f2;border-radius:14px;background:#fff;padding:12px;min-height:468px}.chart-header{margin:0 0 12px;color:#1c3757;font-family:Space Grotesk,Outfit,sans-serif;font-size:1.05rem;font-weight:700}.chart-placeholder{min-height:390px;border:1px dashed #bfd0e7;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#5b6f89;background:#f9fbff;text-align:center;padding:12px}@media (max-width: 1150px){.main-content{grid-template-columns:1fr}.stock-list-section,.charts-section{width:100%}}@media (max-width: 768px){.app-container{padding:12px;gap:14px}.date-backtest-section,.stock-list-section,.charts-section{border-radius:14px;padding:12px}.date-inputs{flex-direction:column;align-items:stretch}.date-inputs span{display:none}.backtest-button{width:100%}.stock-table{display:block;overflow-x:auto;white-space:nowrap}.view-price-button,.remove-stock-button{margin-right:6px;margin-bottom:6px}.chart-container{min-height:380px;padding:10px}.chart-placeholder{min-height:300px}}
