.app-shell{display:grid;grid-template-columns:220px 1fr;min-height:100%}.sidebar{border-right:1px solid var(--border);background:#05080ceb;padding:18px 14px;display:flex;flex-direction:column;gap:8px}.brand{padding:6px 10px 18px}.brand-row{display:flex;align-items:center;gap:8px}.brand-icon{flex-shrink:0;border-radius:5px;display:block}.brand h1{margin:0;font-size:18px;letter-spacing:.02em}.brand p{margin:4px 0 0;font-size:12px;color:var(--muted)}.nav-btn{text-align:left;border:1px solid transparent;background:transparent;border-radius:8px;padding:10px 12px;color:var(--muted);min-height:40px}.nav-btn:hover{background:var(--bg-elev);color:var(--text)}.nav-btn.active{background:var(--bg-elev-2);border-color:var(--border);color:var(--text)}.main{padding:18px 22px 40px;display:flex;flex-direction:column;gap:16px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar h2{margin:0;font-size:20px}.content-split{display:grid;grid-template-columns:1.4fr .9fr;gap:14px;align-items:start}.calc-layout{display:grid;grid-template-columns:3fr 1fr;gap:16px;align-items:start}.calc-layout .calc-main>.card{padding:22px 24px}.calc-layout .calc-main .leverage-headline{font-size:18px}.calc-layout .calc-main .leverage-panel{padding:16px 18px;margin-top:16px}.calc-layout .calc-main .stat-value{font-size:28px}.calc-layout .calc-side{display:flex;flex-direction:column;gap:16px;min-width:0}.overview-layout{display:grid;grid-template-columns:3fr 2fr;gap:16px;align-items:start}.overview-layout .calc-side{display:flex;flex-direction:column;gap:16px;min-width:0}@media (max-width: 900px){.overview-layout{grid-template-columns:1fr}}.watchlist-side{padding:12px}.watchlist-side .table-wrap,.watchlist-card .table-wrap{max-height:none;overflow-x:auto;overflow-y:visible}.watchlist-toolbar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:10px}.watchlist-toolbar-controls{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:6px;flex:1 1 220px;min-width:0;max-width:100%}.watchlist-toolbar-controls input{flex:1 1 auto;min-width:72px;min-height:32px;height:32px;padding:4px 8px;font-size:13px;box-sizing:border-box}.watchlist-toolbar-controls .btn{min-height:32px;height:32px;min-width:52px;padding:4px 10px;font-size:13px;flex:0 0 auto}.watchlist-side table.data{font-size:12px;table-layout:auto;width:100%}.watchlist-side th,.watchlist-side td{padding:6px 8px;white-space:nowrap}@media (max-width: 900px){.calc-layout{grid-template-columns:1fr}.calc-layout .calc-main>.card{min-height:0}}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}.sidebar{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px;border-right:none;border-bottom:1px solid var(--border);padding:12px 10px;position:sticky;top:0;z-index:20;background:#05080cf0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.sidebar .brand{width:100%;padding:4px 8px 8px}.sidebar .brand p{display:none}.nav-btn{flex:1 1 auto;min-height:44px;min-width:44px;padding:10px 12px;text-align:center;font-size:13px}.main{padding:14px 12px 32px}.content-split,.calc-layout,.overview-layout,.research-layout,.research-split{grid-template-columns:1fr}.calc-layout .calc-main>.card{min-height:0}.universe-controls{flex-direction:column;align-items:stretch}.universe-controls .universe-input,.universe-controls .btn{width:100%;max-width:none;min-height:44px}.ticker-row{gap:10px}.ticker-chip .ticker-main{min-height:44px;min-width:72px;padding:10px 28px 10px 12px;justify-content:center}.ticker-remove{width:28px;height:28px;top:4px;right:4px;opacity:1}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.grid-2,.grid-3,.grid-4,.grid-5,.etf-pill-row{grid-template-columns:1fr}.research-toolbar{flex-direction:column;align-items:stretch}}.table-wrap{overflow:auto;max-height:520px;max-width:100%;-webkit-overflow-scrolling:touch}.import-drop{border:1px dashed var(--border);border-radius:var(--radius);padding:16px;text-align:center;background:#ffffff05}.import-drop.drag{border-color:var(--accent);background:#3d8bfd14}.stack{display:flex;flex-direction:column;gap:14px}.row-actions{display:flex;gap:6px;justify-content:flex-end}.leverage-panel{margin-top:12px;padding:12px;border-radius:10px;border:1px solid var(--accent, #3d8bfd);background:#3d8bfd14}.leverage-headline{font-size:15px;font-weight:600;margin-top:4px;line-height:1.35}.toggle-row{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;font-size:13px;cursor:pointer}.toggle-row input{margin-top:3px}.research-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.ticker-row{display:flex;flex-wrap:wrap;gap:8px}.universe-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.universe-input{min-width:88px;max-width:160px;padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:#070b11;color:var(--text);font-size:13px}.universe-input.mono{text-transform:uppercase;letter-spacing:.04em;max-width:100px}.universe-input:focus{outline:none;border-color:var(--accent)}.ticker-chip{position:relative;display:inline-flex;border-radius:8px;border:1px solid var(--border);background:#070b11}.ticker-chip:hover,.ticker-chip.active{border-color:var(--accent)}.ticker-chip.active{background:#3d8bfd1f}.ticker-chip .ticker-main{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:72px;padding:8px 22px 8px 10px;border-radius:8px;color:var(--text)}.ticker-chip .ticker-select{display:block;padding:0;border:none;border-radius:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.ticker-chip .ticker-select:hover{border-color:transparent}.ticker-chip .ticker-chip-symbol{line-height:1.2}.ticker-remove{position:absolute;top:2px;right:2px;width:18px;height:18px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--muted);font-size:14px;line-height:1;cursor:pointer;opacity:0}.ticker-chip:hover .ticker-remove,.ticker-chip.active .ticker-remove{opacity:1}.ticker-remove:hover{color:#f07178;background:#f0717826}.ticker-chip .ticker-name{font-size:10px;color:var(--muted);max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.etf-pill-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.etf-pill{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:#ffffff05}.etf-pill.bull{border-color:#3dd68c59}.etf-pill.bear{border-color:#f0717859}.news-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.news-list li a{font-weight:500;text-decoration:none}.news-list li a:hover{text-decoration:underline}table.data tr.row-selected td{background:#3d8bfd1a}@media (max-width: 900px){.research-split,.etf-pill-row{grid-template-columns:1fr}}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.bull-badge{background:#3dd68c26;color:#3dd68c}.bear-badge{background:#f0717826;color:#f07178}.research-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(260px,1fr);gap:16px;align-items:start}.research-layout .research-main,.research-layout .research-side{display:flex;flex-direction:column;gap:16px;min-width:0}@media (max-width: 900px){.research-layout{grid-template-columns:1fr}}.etf-focus-item{display:block;width:100%;text-align:left;background:transparent;border:1px solid transparent;border-radius:6px;padding:4px 6px;margin:2px 0;color:inherit;cursor:pointer;font:inherit}.etf-focus-item:hover{background:#3d8bfd14;border-color:#3d8bfd40}.etf-focus-item.focused{background:#3d8bfd24;border-color:#3d8bfd73}.etf-map-row{cursor:pointer}.etf-map-row:hover td{background:#3d8bfd0f}.etf-info-card .etf-info-name{font-size:13px;color:var(--text);margin:2px 0 4px}.etf-info-pc{display:flex;flex-direction:column;gap:8px}.etf-info-pc-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.etf-info-pc-label.pros{color:#3dd68c}.etf-info-pc-label.cons{color:#f07178}.etf-info-pros,.etf-info-cons{margin:0;padding-left:16px;font-size:12px;line-height:1.35;color:var(--muted)}.etf-info-pros li,.etf-info-cons li{margin-bottom:3px}.etf-yahoo-btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;width:100%;box-sizing:border-box}.news-list-side{max-height:420px;overflow-y:auto;padding-right:4px}button.linkish{background:none;border:none;padding:0;color:var(--accent, #3d8bfd);cursor:pointer;font:inherit;text-decoration:underline}button.linkish:hover{opacity:.85}:root{color-scheme:dark;--bg: #05080c;--bg-elev: #0a0e14;--bg-elev-2: #10161f;--border: #1a2230;--text: #e4ebf5;--muted: #7a8ba3;--accent: #3d8bfd;--accent-2: #20c997;--danger: #f07178;--warn: #e6b450;--gain: #3dd68c;--loss: #f07178;--radius: 10px;--font: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--mono: "IBM Plex Mono", "SF Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:radial-gradient(1200px 600px at 10% -10%,#0e1624 0%,var(--bg) 55%);color:var(--text);line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent)}.mono{font-family:var(--mono)}.ticker-link{color:inherit;text-decoration:underline;text-underline-offset:2px}.ticker-link:hover{color:var(--accent)}.pos{color:var(--gain)}.neg{color:var(--loss)}.hl-fee{color:var(--warn)}.hl-notional,.hl-stat{color:var(--text)}.stat-value.pos{color:var(--gain);background:#3dd68c1f;border:1px solid rgba(61,214,140,.22);border-radius:10px;padding:4px 12px;display:inline-block}.stat-value.neg{color:var(--loss);background:#f071781f;border:1px solid rgba(240,113,120,.22);border-radius:10px;padding:4px 12px;display:inline-block}.stat-value.hl-fee{color:var(--warn);background:#e6b4501f;border:1px solid rgba(230,180,80,.28);border-radius:10px;padding:4px 12px;display:inline-block}.stat-value.hl-notional{color:var(--text);background:#3d8bfd1a;border:1px solid rgba(61,139,253,.22);border-radius:10px;padding:4px 12px;display:inline-block}.stat-value.hl-stat{color:var(--text);background:#ffffff0a;border:1px solid var(--border);border-radius:10px;padding:4px 12px;display:inline-block}.stat-value.pos.hl-stat{color:var(--gain);background:#3dd68c24;border-color:#3dd68c47}.stat-value.neg.hl-stat{color:var(--loss);background:#f0717824;border-color:#f0717847}.leverage-panel .pos,.leverage-panel .neg,.leverage-panel .hl-fee,.leverage-panel .hl-notional,.leverage-panel .hl-stat{display:inline-block;border-radius:999px;padding:2px 8px}.leverage-panel .pos{background:#3dd68c1f;border:1px solid rgba(61,214,140,.22)}.leverage-panel .neg{background:#f071781f;border:1px solid rgba(240,113,120,.22)}.leverage-panel .hl-fee{background:#e6b4501f;border:1px solid rgba(230,180,80,.28)}.leverage-panel .hl-notional{background:#3d8bfd1a;border:1px solid rgba(61,139,253,.22)}.leverage-panel .hl-stat{background:#ffffff0a;border:1px solid var(--border);border-radius:8px;padding:4px 10px}.muted{color:var(--muted)}.card{background:linear-gradient(180deg,var(--bg-elev) 0%,#080c12 100%);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card h3{margin:0 0 12px;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:600}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}@media (max-width: 1100px){.grid-4{grid-template-columns:1fr 1fr}.grid-5{grid-template-columns:repeat(3,1fr)}.grid-3{grid-template-columns:1fr}}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data th,table.data td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:right;white-space:nowrap}table.data th:first-child,table.data td:first-child,table.data th.left,table.data td.left{text-align:left}table.data th{color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.03em}table.data tr:hover td{background:#3d8bfd0f}.btn{border:1px solid var(--border);background:var(--bg-elev-2);border-radius:8px;padding:8px 12px;transition:border-color .15s,background .15s}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#061018;font-weight:600}.btn.ghost{background:transparent}.btn.small{padding:4px 8px;font-size:12px}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.field label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.field input,.field select,.field textarea{background:#070b11;border:1px solid var(--border);border-radius:8px;padding:8px 10px}.field input:focus,.field select:focus,.field textarea:focus{outline:1px solid var(--accent);border-color:var(--accent)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#121a26;border:1px solid var(--border);font-size:11px;color:var(--muted)}.caveat{font-size:12px;color:var(--warn);background:#e6b45014;border:1px solid rgba(230,180,80,.25);border-radius:8px;padding:8px 10px;margin:8px 0 12px}.stat-value{font-family:var(--mono);font-size:22px;font-weight:600}.stat-label{font-size:12px;color:var(--muted)}button.stat-card-link,.stat-card-link{display:block;width:100%;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}button.stat-card-link:hover,.stat-card-link:hover{border-color:var(--accent);box-shadow:0 0 0 1px #3d8bfd40}button.stat-card-link:focus-visible,.stat-card-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
