/* CP-I5 — Investments Hub tab (Obsidian Editorial tokens only).
 * Host vars: --paper --ink --muted --faint --surface --line --line2
 * --green --red --amber --teal --blue --coral2 --on-ink --toolbar-bg
 * --disp --body --shadow-sm --ease --teal-soft
 */
/* ---- Investments Hub ---- */
.inv-hero{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:16px 17px;margin-bottom:12px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}
.inv-hero::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:4px;background:linear-gradient(180deg,var(--teal),var(--green))}
.inv-kicker{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);font-weight:850;margin-bottom:6px}
.inv-title{font-family:var(--disp);font-size:24px;font-weight:750;line-height:1.1;margin-bottom:4px;color:var(--ink)}
.inv-copy{font-size:12.5px;line-height:1.5;color:var(--muted)}
.inv-status-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;align-items:center}
.inv-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:3px 9px;font-size:10.5px;font-weight:850;border:1px solid var(--line2);background:var(--surface);color:var(--muted)}
.inv-badge.live{background:color-mix(in srgb,var(--green) 12%,transparent);border-color:color-mix(in srgb,var(--green) 30%,transparent);color:var(--green)}
.inv-badge.delayed{background:color-mix(in srgb,var(--amber) 12%,transparent);border-color:color-mix(in srgb,var(--amber) 32%,transparent);color:var(--amber)}
.inv-badge.stale,.inv-badge.disconnected{background:var(--surface);border-color:var(--line2);color:var(--muted)}
.inv-badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.inv-badge.live .dot{box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 18%,transparent);animation:invpulse 1.6s ease infinite}
@keyframes invpulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--green) 20%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 12%,transparent)}}
.inv-seg{display:flex;gap:4px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none;position:sticky;top:0;z-index:2;background:var(--toolbar-bg);backdrop-filter:blur(14px);margin:0 -2px 4px}
.inv-seg::-webkit-scrollbar{display:none}
.inv-seg button{border:1px solid var(--line);background:var(--paper);color:var(--muted);border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer;font-family:inherit;box-shadow:var(--shadow-sm)}
.inv-seg button.on{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.inv-grid{display:grid;gap:10px}
.inv-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:13px 14px;box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .16s var(--ease),box-shadow .18s;animation:cardin .4s var(--ease) both}
.inv-card:active{transform:scale(.985)}
.inv-card-top{display:flex;align-items:flex-start;gap:10px}
.inv-sym{font-weight:900;font-size:14.5px;letter-spacing:.02em;direction:ltr;text-align:left;color:var(--ink)}
.inv-kind{font-size:10px;color:var(--faint);font-weight:800;margin-top:2px}
.inv-price-col{margin-inline-start:auto;text-align:left;direction:ltr}
.inv-price{font-family:var(--disp);font-size:18px;font-weight:700;line-height:1.1;transition:color .25s;color:var(--ink)}
.inv-price.up{color:var(--green);text-shadow:0 0 18px color-mix(in srgb,var(--green) 28%,transparent)}
.inv-price.down{color:var(--red);text-shadow:0 0 18px color-mix(in srgb,var(--red) 24%,transparent)}
.inv-chg{display:inline-block;margin-top:4px;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:900}
.inv-chg.up{background:color-mix(in srgb,var(--green) 12%,transparent);color:var(--green)}
.inv-chg.down{background:color-mix(in srgb,var(--red) 12%,transparent);color:var(--red)}
.inv-chg.flat{background:var(--surface);color:var(--muted)}
.inv-spark{width:72px;height:28px;flex:none;margin-top:2px}
.inv-card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:9px;padding-top:8px;border-top:1px solid var(--line2);font-size:10.5px;color:var(--faint);font-weight:750}
.inv-movers{display:flex;gap:8px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:none}
.inv-movers::-webkit-scrollbar{display:none}
.inv-mover{min-width:112px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:10px 11px;box-shadow:var(--shadow-sm);cursor:pointer}
.inv-mover b{display:block;font-size:12px;font-weight:900;direction:ltr;text-align:left;color:var(--ink)}
.inv-story{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:10px;box-shadow:var(--shadow-sm);cursor:pointer}
.inv-story.pinned{border-color:color-mix(in srgb,var(--teal) 35%,var(--line));box-shadow:var(--shadow-sm),inset 0 0 0 1px color-mix(in srgb,var(--teal) 12%,transparent)}
.inv-story h3{margin:0 0 6px;font-family:var(--disp);font-size:17px;font-weight:700;line-height:1.25;color:var(--ink)}
.inv-story p{margin:0;font-size:12.5px;line-height:1.55;color:var(--muted)}
.inv-story-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.inv-sent{border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:850}
.inv-sent.risk_off{background:color-mix(in srgb,var(--red) 12%,transparent);color:var(--red)}
.inv-sent.risk_on{background:color-mix(in srgb,var(--green) 12%,transparent);color:var(--green)}
.inv-sent.neutral,.inv-sent.mixed{background:var(--surface);color:var(--muted)}
.inv-detail-head{margin-bottom:10px}
.inv-detail-sym{font-family:var(--disp);font-size:28px;font-weight:750;direction:ltr;text-align:left;color:var(--ink)}
.inv-detail-price{font-family:var(--disp);font-size:34px;font-weight:700;direction:ltr;text-align:left;margin:4px 0;transition:color .25s;color:var(--ink)}
.inv-ranges{display:flex;gap:6px;margin:10px 0 12px}
.inv-ranges button{flex:1;border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:8px 0;font-size:12px;font-weight:850;color:var(--muted);cursor:pointer;font-family:inherit}
.inv-ranges button.on{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.inv-chart{height:240px;background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:var(--shadow-sm)}
.inv-section{margin:14px 0 8px;font-size:12px;font-weight:900;color:var(--faint);letter-spacing:.08em;text-transform:uppercase}
.inv-section-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:14px 0 8px}
.inv-section-row .inv-section{margin:0}
.inv-back{border:0;background:none;color:var(--coral2);font:750 13px var(--body);padding:0 0 10px;cursor:pointer}
.inv-err{background:color-mix(in srgb,var(--red) 10%,transparent);border:1px solid color-mix(in srgb,var(--red) 24%,transparent);color:var(--red);border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.5;margin-bottom:10px}
.inv-note{font-size:11px;color:var(--faint);line-height:1.45;margin-top:8px}
.inv-empty{text-align:center;padding:28px 16px;color:var(--muted);font-size:13px;line-height:1.5}
.inv-empty .big{display:block;font-size:28px;margin-bottom:8px;opacity:.55}

/* lenses + horizons chips */
.inv-lens-row,.inv-horizon-row{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 10px}
.inv-chip{border:1px solid var(--line);background:var(--paper);color:var(--muted);border-radius:999px;padding:6px 11px;font-size:11.5px;font-weight:800;cursor:pointer;font-family:inherit;box-shadow:var(--shadow-sm)}
.inv-chip.on{background:var(--teal-soft);border-color:color-mix(in srgb,var(--teal) 40%,var(--line));color:var(--teal)}
.inv-chip:disabled{opacity:.45;cursor:wait}
.inv-analyze{display:flex;flex-direction:column;gap:8px;margin:14px 0;padding:12px 13px;background:var(--paper);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-sm)}
.inv-analyze-h{font-size:12px;font-weight:900;color:var(--faint);letter-spacing:.06em;text-transform:uppercase}
.inv-btn{border:0;border-radius:8px;padding:10px 14px;font:800 13px var(--body);cursor:pointer;background:linear-gradient(135deg,var(--teal),var(--coral2));color:var(--on-accent);box-shadow:0 6px 16px -10px var(--teal-glow,var(--teal))}
.inv-btn:disabled{opacity:.5;cursor:wait}
.inv-btn.ghost{background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.inv-btn.sm{padding:7px 11px;font-size:11.5px}

/* watchlist editor */
.inv-wl{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:12px 13px;margin-bottom:12px;box-shadow:var(--shadow-sm)}
.inv-wl-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.inv-wl-head b{font-size:13px;font-weight:850;color:var(--ink)}
.inv-wl-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;min-height:28px}
.inv-wl-tag{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line2);background:var(--surface);border-radius:999px;padding:4px 8px 4px 10px;font-size:11.5px;font-weight:850;color:var(--ink);direction:ltr}
.inv-wl-tag button{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:14px;line-height:1;padding:0 2px}
.inv-wl-add{display:flex;gap:6px}
.inv-wl-add input{flex:1;border:1px solid var(--line);background:var(--paper-soft,var(--paper));color:var(--ink);border-radius:8px;padding:8px 10px;font:700 13px var(--body);direction:ltr;text-align:left}
.inv-wl-add input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}

/* sentiment strip on overview */
.inv-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:none;margin-bottom:4px}
.inv-strip::-webkit-scrollbar{display:none}
.inv-strip-card{min-width:200px;flex:1;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:10px 12px;box-shadow:var(--shadow-sm);cursor:pointer}
.inv-strip-card .lab{font-size:10px;font-weight:900;color:var(--faint);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.inv-strip-card .ttl{font-size:12.5px;font-weight:800;color:var(--ink);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.inv-gen-hint{font-size:11px;color:var(--faint);margin-top:4px;line-height:1.4}

@media (min-width:760px){.inv-grid{grid-template-columns:1fr 1fr}.inv-title{font-size:30px}}

/* tick flash (Robinhood-ish) */
.inv-price.inv-tick,
.inv-detail-price.inv-tick{
  animation: invtick .55s ease;
}
@keyframes invtick{
  0%{ filter:brightness(1.25); transform:scale(1.03); }
  100%{ filter:brightness(1); transform:scale(1); }
}
@keyframes cardin{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:none}
}
