:root{font-family:-apple-system,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;--bg: #f7f8fa;--panel: #ffffff;--panel-2: #f1f3f6;--border: #d6dbe2;--text: #1a1f24;--text-dim: #5b6571;--accent: #1f7ad1;--green: #15803d;--red: #c2410c;--plot-paper: #ffffff;--plot-grid: #e0e4ea;--plot-zero: #b8bec5}[data-theme=dark]{--bg: #0b0d10;--panel: #14181d;--panel-2: #1a2026;--border: #232a31;--text: #e7ecf1;--text-dim: #98a2ad;--accent: #4cc2ff;--green: #4ade80;--red: #f87171;--plot-paper: #14181d;--plot-grid: #232a31;--plot-zero: #3a4654}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;background:var(--bg);color:var(--text);min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.layout{max-width:1400px;margin:0 auto;padding:24px}header.topbar{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--border);margin-bottom:24px}.topbar h1{font-size:20px;margin:0;letter-spacing:.02em}.topbar nav{display:flex;align-items:center}.topbar nav a{margin-left:18px;color:var(--text-dim)}.topbar nav a.active{color:var(--text)}.theme-toggle{background:none;border:none;cursor:pointer;color:var(--text-dim);display:flex;align-items:center;justify-content:center;margin-left:18px;padding:0;transition:color .2s}.theme-toggle:hover{color:var(--text)}.theme-toggle svg{width:18px;height:18px;fill:currentColor}.spark-up .spark-stroke{stroke:var(--green)}.spark-down .spark-stroke{stroke:var(--red)}.spark-up .spark-fill{fill:var(--green);fill-opacity:.12}.spark-down .spark-fill{fill:var(--red);fill-opacity:.12}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:18px;margin-bottom:18px}.muted{color:var(--text-dim);font-size:13px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}th{color:var(--text-dim);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.05em}tr:hover td{background:var(--panel-2)}.pos{color:var(--green)}.neg{color:var(--red)}.tags{display:flex;gap:6px;flex-wrap:wrap}.tag{background:var(--panel-2);color:var(--text-dim);border-radius:12px;padding:2px 10px;font-size:11px}.grid-2{display:grid;grid-template-columns:2fr 1fr;gap:18px}@media (max-width: 900px){.grid-2{grid-template-columns:1fr}}.review{background:var(--panel-2);border-radius:6px;padding:14px;white-space:pre-wrap;font-size:14px;line-height:1.5}.review-meta{font-size:12px;color:var(--text-dim);margin-bottom:8px}.feed-item{padding:10px 0;border-bottom:1px solid var(--border);font-size:13px}.feed-item:last-child{border-bottom:none}.feed-item .meta{color:var(--text-dim);font-size:11px;margin-top:4px}input.search{background:var(--panel-2);border:1px solid var(--border);color:var(--text);padding:8px 12px;border-radius:6px;width:240px}.ticker-tape{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:18px;position:relative}.ticker-tape-track{display:inline-flex;white-space:nowrap;animation:tape-scroll 240s linear infinite;padding:10px 0}.ticker-tape:hover .ticker-tape-track{animation-play-state:paused}.ticker-tape-item{display:inline-flex;align-items:baseline;gap:8px;padding:0 22px;border-right:1px solid var(--border);font-size:13px;color:var(--text);text-decoration:none}.ticker-tape-item:hover{background:var(--panel-2)}.tape-sym{font-weight:600;color:var(--accent)}.tape-price{color:var(--text-dim)}.tape-change{font-variant-numeric:tabular-nums;min-width:70px;text-align:right}@keyframes tape-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.news-feed{display:flex;flex-direction:column}.news-row{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--border)}.news-row:last-child{border-bottom:none}.news-tag{flex:0 0 auto;background:var(--panel-2);color:var(--accent);font-weight:600;font-size:12px;padding:4px 10px;border-radius:4px;text-decoration:none;min-width:56px;text-align:center}.news-tag:hover{background:var(--border);text-decoration:none}.news-body{flex:1;min-width:0}.news-title{display:block;font-size:14px;line-height:1.4;color:var(--text)}.news-title:hover{color:var(--accent)}.news-meta{color:var(--text-dim);font-size:11px;margin-top:4px}.rec-section{margin:18px 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-weight:600;border-top:1px solid var(--border);padding-top:12px}.rec-list{display:flex;flex-direction:column;gap:10px}.rec-item{display:flex;gap:12px;align-items:flex-start;background:var(--panel-2);border-radius:6px;padding:10px 12px;font-size:14px;line-height:1.45}.rec-symbol{flex:0 0 auto;min-width:56px;text-align:center;font-weight:700;font-size:13px;text-decoration:none;background:var(--panel);border-radius:4px;padding:4px 8px}.rec-body{flex:1;min-width:0}.rec-theme-item{background:var(--panel-2);border-radius:6px;padding:10px 12px;font-size:14px;line-height:1.5}.rec-theme-title{font-weight:600;color:var(--accent);font-size:14px;margin-bottom:6px}.th-wrap{position:relative;display:inline-block}.th-pop{position:absolute;z-index:1000;bottom:calc(100% + 8px);left:0;width:320px;max-width:calc(100vw - 32px);background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:10px 12px;box-shadow:0 8px 24px #00000080;font-size:13px;line-height:1.45;color:var(--text);pointer-events:none;white-space:normal;text-align:left;cursor:default}.th-pop-head{display:flex;align-items:baseline;gap:8px;margin-bottom:6px;border-bottom:1px solid var(--border);padding-bottom:6px}.th-pop-sym{font-weight:700;color:var(--accent);font-size:14px}.th-pop-name{color:var(--text-dim);font-size:12px}.th-pop-rating{display:flex;gap:8px;align-items:baseline;margin-bottom:6px}.th-pop-summary{font-size:12.5px;color:var(--text)}.th-pop-thesis{font-size:12px;color:var(--text-dim);font-style:italic;line-height:1.45;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--border)}.brief-story{display:flex;gap:14px;align-items:flex-start;background:var(--panel-2);border-radius:6px;padding:12px 14px}.brief-tickers{display:flex;flex-direction:column;gap:4px;flex:0 0 auto;min-width:64px;max-width:96px}.brief-ticker{display:block;text-align:center;font-weight:700;font-size:12px;background:var(--panel);color:var(--accent);border-radius:4px;padding:3px 8px;text-decoration:none;white-space:nowrap}.brief-ticker:hover{background:var(--border);text-decoration:none}.brief-ticker.untracked{color:var(--text-dim);background:transparent;border:1px dashed var(--border);cursor:default}.brief-story-body{flex:1;min-width:0}.acct-row{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--border);font-size:14px}.acct-row:last-child{border-bottom:none}.charts-row{display:grid;grid-template-columns:1.6fr 1fr;gap:18px;margin-bottom:18px}@media (max-width: 900px){.charts-row{grid-template-columns:1fr}}.positions-row{align-items:stretch}.trades-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden}.trades-scroll{flex:1 1 0;min-height:0;overflow-y:auto}.cmp-strategy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:16px}.cmp-strategy-card{background:var(--panel-2);border-radius:6px;padding:10px 12px;font-size:13px}.cmp-strategy-name{font-weight:700;color:var(--accent);margin-bottom:4px}.cmp-strategy-stats{font-size:11px;margin-bottom:6px}.cmp-strategy-desc{font-size:12px;line-height:1.45;color:var(--text-dim)}.cmp-strategy-notes{font-size:11px;line-height:1.4;margin-top:6px;font-style:italic}.cmp-table-wrap{overflow-x:auto}.cmp-table{font-variant-numeric:tabular-nums}.cmp-table th,.cmp-table td{padding:6px 10px}
