/* The home page per user type (public/js/home-persona.js). Same tokens as home.css (--ih-*); the color-mode
   stylesheet forces button and text colours inside #researchView, so interactive rules use the same deep
   selector and !important as home.css. --hp is the type's color (investor blue, trader green, researcher purple). */
#researchView .ih-home { --hp: #22c55e; }
#researchView .ih-home[data-persona="investor"] { --hp: #3b82f6; }
#researchView .ih-home[data-persona="researcher"] { --hp: #a855f7; }
#researchView .ih-home[data-persona="researcher"] .ih-globe-art { background: color-mix(in srgb, #a855f7 22%, transparent); }
#researchView .ih-home[data-persona="researcher"] .ih-globe-art svg { stroke: #c084fc; }
#researchView .ih-home[data-persona="researcher"] .ih-globe-card { background: radial-gradient(120% 140% at 0% 0%, color-mix(in srgb, #a855f7 20%, transparent), transparent 60%), var(--ih-surface) !important; }
#researchView .ih-home .hp-card { animation: hp-in .35s cubic-bezier(.2, .7, .2, 1); }
@keyframes hp-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.hp-load { padding: 22px 4px; font-size: 13px; color: var(--ih-muted); }
html[data-color-mode] #researchView#researchView .ih-home .hp-sub { display: block; margin-top: 2px; font-size: 12px; color: var(--ih-muted) !important; }
.hp-tight { margin: 0 !important; }
html[data-color-mode] #researchView#researchView .ih-home a.ih-btn { text-decoration: none; }

/* header: "Trader home" and its menu, between the greeting and the market state */
.ih-hero.hp-hero { grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: "text switch state" "search search search"; }
.hp-switch { grid-area: switch; position: relative; align-self: end; }
html[data-color-mode] #researchView#researchView .ih-home .hp-switch-btn {
  display: inline-flex; align-items: center; gap: 8px; height: 31px; padding: 0 10px 0 12px; border-radius: 999px; cursor: pointer;
  border: 1px solid var(--ih-faint) !important; background: transparent !important; color: var(--ih-fg) !important; font: 600 12px var(--ih-font); }
html[data-color-mode] #researchView#researchView .ih-home .hp-switch-btn:hover { background: var(--ih-hover) !important; }
.hp-switch-btn i, .hp-menu-item i { width: 8px; height: 8px; border-radius: 50%; flex: none; box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 0%, transparent); }
.hp-switch-btn svg { width: 14px; height: 14px; opacity: .6; }
.hp-menu { position: absolute; z-index: 60; right: 0; top: calc(100% + 8px); width: 320px; padding: 6px; border: 1px solid var(--ih-faint); border-radius: 14px;
  background: var(--ih-bg); box-shadow: 0 24px 60px rgba(0, 0, 0, .45); }
.hp-menu[hidden] { display: none; }
html[data-color-mode] #researchView#researchView .ih-home .hp-menu-title { padding: 8px 10px 6px; font: 600 10.5px var(--ih-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ih-muted) !important; }
html[data-color-mode] #researchView#researchView .ih-home .hp-menu-item {
  display: flex; align-items: center; gap: 11px; width: 100%; padding: 10px; border: 0 !important; border-radius: 10px; text-align: left; cursor: pointer;
  background: transparent !important; color: var(--ih-fg) !important; font-family: var(--ih-font); }
html[data-color-mode] #researchView#researchView .ih-home .hp-menu-item:hover { background: var(--ih-hover) !important; }
.hp-menu-item span { flex: 1; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.hp-menu-item b { font-size: 13.5px; font-weight: 650; }
.hp-menu-item small { font-size: 12px; }
.hp-menu-item svg { width: 15px; height: 15px; color: var(--hp); flex: none; }
.hp-menu-sep { height: 1px; background: var(--ih-faint); margin: 6px 4px; }
html[data-color-mode] #researchView#researchView .ih-home .hp-menu-link {
  display: block; width: 100%; padding: 9px 10px; border: 0 !important; border-radius: 9px; background: transparent !important; text-align: left; cursor: pointer;
  color: var(--ih-muted) !important; font: 500 12.5px var(--ih-font); text-decoration: none; }
html[data-color-mode] #researchView#researchView .ih-home .hp-menu-link:hover { background: var(--ih-hover) !important; color: var(--ih-fg) !important; }

/* asked once: which kind of person are you? */
#researchView .ih-home .hp-ask { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(0, 2fr) auto; gap: 18px; align-items: center; margin-bottom: 18px; padding: 20px 22px;
  background: radial-gradient(80% 140% at 0% 0%, color-mix(in srgb, #a855f7 10%, transparent), transparent 60%), radial-gradient(80% 140% at 100% 100%, color-mix(in srgb, #22c55e 9%, transparent), transparent 60%), color-mix(in srgb, var(--ih-fg) 2%, var(--ih-bg)); }
.hp-ask h2 { margin: 2px 0 4px; font-size: 19px; font-weight: 700; letter-spacing: -.01em; }
.hp-ask .ih-desc { margin: 0; }
html[data-color-mode] #researchView#researchView .ih-home .hp-eyebrow { margin: 0; font: 600 10.5px var(--ih-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--ih-muted) !important; }
.hp-ask-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
html[data-color-mode] #researchView#researchView .ih-home .hp-ask-opt {
  display: flex; flex-direction: column; align-items: flex-start; gap: 3px; padding: 13px 14px; border-radius: 12px; cursor: pointer; text-align: left;
  border: 1px solid var(--ih-faint) !important; background: var(--ih-bg) !important; color: var(--ih-fg) !important; font-family: var(--ih-font); transition: border-color .15s, transform .15s; }
html[data-color-mode] #researchView#researchView .ih-home .hp-ask-opt:hover { border-color: var(--p) !important; transform: translateY(-1px); }
.hp-ask-opt i { width: 22px; height: 4px; border-radius: 2px; background: var(--p); margin-bottom: 6px; }
.hp-ask-opt b { font-size: 14.5px; font-weight: 650; }
.hp-ask-opt small { font-size: 12px; line-height: 1.4; }

/* numbers at the top of the paper cards */
.hp-kpis { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 10px; }
.hp-kpis > div { display: flex; flex-direction: column; gap: 2px; padding: 10px 11px; border: 1px solid var(--ih-faint); border-radius: 11px; min-width: 0; }
.hp-kpis small { font-size: 11px; }
.hp-kpis b { font: 700 16px var(--ih-mono); letter-spacing: -.02em; }
html[data-color-mode] #researchView#researchView .ih-home .hp-kpis span { font: 600 11.5px var(--ih-mono); color: var(--ih-muted) !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html[data-color-mode] #researchView#researchView .ih-home .hp-kpis span.ih-up { color: var(--ih-up) !important; }
html[data-color-mode] #researchView#researchView .ih-home .hp-kpis span.ih-down { color: var(--ih-down) !important; }

/* compact rows: positions, algos, holdings */
.hp-rows { display: flex; flex-direction: column; margin: 2px 0 4px; }
html[data-color-mode] #researchView#researchView .ih-home .hp-row {
  display: grid; grid-template-columns: minmax(0, auto) minmax(0, 1fr) auto; align-items: baseline; gap: 10px; width: 100%; padding: 9px 6px; cursor: pointer;
  border: 0 !important; border-bottom: 1px solid var(--ih-line) !important; border-radius: 0; background: transparent !important; color: var(--ih-fg) !important;
  font-family: var(--ih-font); text-align: left; text-decoration: none; }
html[data-color-mode] #researchView#researchView .ih-home .hp-row:last-child { border-bottom: 0 !important; }
html[data-color-mode] #researchView#researchView .ih-home .hp-row:hover { background: var(--ih-hover) !important; border-radius: 8px; }
.hp-row b { font: 700 12.5px var(--ih-mono); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 150px; }
.hp-row small { font-size: 11.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hp-row > span { font: 600 12px var(--ih-mono); }
.hp-algos .hp-row b { font-family: var(--ih-font); font-weight: 650; font-size: 13px; }
.hp-go svg { width: 14px; height: 14px; opacity: .5; }
.hp-alloc { display: flex; gap: 2px; height: 8px; border-radius: 4px; overflow: hidden; margin: 2px 0 6px; }
.hp-alloc i { background: var(--hp); min-width: 3px; }
.hp-alloc i.hp-alloc-cash { background: var(--ih-faint); }

/* investor: a line under "Your stocks" */
html[data-color-mode] #researchView#researchView .ih-home .hp-watch-sum { margin: -4px 0 10px; font-size: 12.5px; color: var(--ih-muted) !important; }
html[data-color-mode] #researchView#researchView .ih-home .hp-watch-sum b { color: var(--ih-fg) !important; font-weight: 650; }
html[data-color-mode] #researchView#researchView .ih-home .hp-watch-sum :is(b, span).ih-up { color: var(--ih-up) !important; }
html[data-color-mode] #researchView#researchView .ih-home .hp-watch-sum :is(b, span).ih-down { color: var(--ih-down) !important; }
#researchView .ih-home[data-persona="investor"] .ih-main-col .ih-grid--markets { grid-template-columns: minmax(0, 1fr); }
#researchView .ih-home[data-persona="investor"] .ih-main-col > .ih-watchlist .ih-row { min-height: 52px; }

/* researcher: canvases and people & companies in the wide column */
#researchView .ih-home[data-persona="researcher"] .ih-main-col #myCanvasesSection #myCanvasesGrid { max-height: 360px; }
#researchView .ih-home[data-persona="researcher"] .ih-main-col .ih-research .ih-connection input { min-width: 0; }
.hp-ideas .ih-tool-list { gap: 2px; }
html[data-color-mode] #researchView#researchView .ih-home .hp-ideas .ih-tool { padding: 8px 6px !important; }
.hp-ideas .ih-tool-icon { color: var(--hp); border-color: color-mix(in srgb, var(--hp) 35%, transparent); background: color-mix(in srgb, var(--hp) 8%, transparent); }
.hp-ideas .ih-tool b { font-size: 13px; line-height: 1.35; }
.ih-research.hp-flash { animation: hp-flash 1.6s ease-out; }
@keyframes hp-flash { 0%, 40% { box-shadow: 0 0 0 2px var(--hp); } 100% { box-shadow: 0 0 0 2px transparent; } }

/* getting started */
.hp-checklist .ih-card-head { align-items: center; }
.hp-progress { flex: 1; max-width: 220px; height: 5px; border-radius: 3px; background: var(--ih-faint); overflow: hidden; margin-left: auto; }
.hp-progress i { display: block; height: 100%; background: var(--hp); border-radius: 3px; transition: width .4s; }
.hp-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
html[data-color-mode] #researchView#researchView .ih-home .hp-step {
  display: flex; gap: 10px; align-items: flex-start; padding: 12px; border-radius: 12px; cursor: pointer; text-align: left;
  border: 1px solid var(--ih-faint) !important; background: transparent !important; color: var(--ih-fg) !important; font-family: var(--ih-font); }
html[data-color-mode] #researchView#researchView .ih-home .hp-step:hover { background: var(--ih-hover) !important; border-color: color-mix(in srgb, var(--hp) 45%, transparent) !important; }
.hp-step > span:last-child { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.hp-step b { font-size: 13px; font-weight: 650; line-height: 1.3; }
.hp-step small { font-size: 11.5px; line-height: 1.35; }
.hp-step-n { flex: none; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font: 700 11px var(--ih-mono); border: 1px solid var(--ih-faint); }
.hp-step-n svg { width: 12px; height: 12px; }
html[data-color-mode] #researchView#researchView .ih-home .hp-step.is-done { border-style: dashed !important; }
html[data-color-mode] #researchView#researchView .ih-home .hp-step.is-done b { color: var(--ih-muted) !important; text-decoration: line-through; text-decoration-color: color-mix(in srgb, var(--ih-fg) 30%, transparent); }
.hp-step.is-done .hp-step-n { background: var(--hp); border-color: var(--hp); color: #fff; }

/* toast */
.hp-toast { position: fixed; left: 50%; bottom: 28px; z-index: 300; transform: translate(-50%, 12px); opacity: 0; transition: all .25s; max-width: min(560px, calc(100vw - 32px));
  padding: 12px 16px; border-radius: 12px; border: 1px solid var(--ih-faint); background: var(--ih-bg); color: var(--ih-fg); font-size: 13.5px; box-shadow: 0 20px 50px rgba(0, 0, 0, .45); }
.hp-toast.is-on { transform: translate(-50%, 0); opacity: 1; }
html[data-color-mode] #researchView#researchView .ih-home .hp-toast a { color: var(--hp) !important; font-weight: 600; margin-left: 6px; }

@media (max-width: 1100px) {
  .hp-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #researchView .ih-home .hp-ask { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 700px) {
  .ih-hero.hp-hero { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "text text" "switch state" "search search"; }
  .hp-switch { justify-self: start; }
  .hp-ask-options, .hp-steps { grid-template-columns: minmax(0, 1fr); }
  .hp-menu { left: 0; right: auto; width: min(320px, calc(100vw - 32px)); }
  .hp-progress { display: none; }
}
@media (prefers-reduced-motion: reduce) { #researchView .ih-home .hp-card, .ih-research.hp-flash { animation: none; } .hp-toast { transition: none; } }

/* trader: open positions and P&L at the top */
#researchView .ih-home .hp-positions .ih-card-head h2 { display: flex; align-items: center; gap: 8px; }
html[data-color-mode] #researchView#researchView .ih-home .hp-count { font: 600 11px var(--ih-mono); padding: 2px 7px; border-radius: 99px; background: var(--ih-faint); color: var(--ih-fg) !important; }
.hp-pos-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.hp-pos-kpis > div { display: flex; flex-direction: column; gap: 3px; padding: 10px 12px; border: 1px solid var(--ih-faint); border-radius: 11px; min-width: 0; }
.hp-pos-kpis small { font-size: 11.5px; }
.hp-pos-kpis b { font: 700 18px Arial, Helvetica, sans-serif; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
html[data-color-mode] #researchView#researchView .ih-home .hp-pos-kpis span { font: 600 12px Arial, Helvetica, sans-serif; }
.hp-pos-table { display: flex; flex-direction: column; font-family: Arial, Helvetica, sans-serif; font-variant-numeric: tabular-nums; }
.hp-pos-tr { display: grid; grid-template-columns: minmax(0, 1.4fr) .7fr 1fr 1fr 1.2fr .9fr 1.3fr 70px; gap: 10px; align-items: center; padding: 9px 6px 9px 10px; border-top: 1px solid var(--ih-line); position: relative; font-size: 13px; }
.hp-pos-tr > span:not(:first-child) { text-align: right; justify-self: end; }
.hp-pos-tr::before { content: ''; position: absolute; left: 0; top: 10px; bottom: 10px; width: 2px; border-radius: 1px; }
.hp-pos-tr.is-long::before { background: var(--ih-up); } .hp-pos-tr.is-short::before { background: var(--ih-down); }
html[data-color-mode] #researchView#researchView .ih-home .hp-pos-th { border-top: 0; padding-top: 2px; font-size: 11.5px; color: var(--ih-muted) !important; }
html[data-color-mode] #researchView#researchView .ih-home .hp-pos-th span { color: var(--ih-muted) !important; }
.hp-pos-th::before { display: none; }
.hp-pos-sym { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 1px 6px; }
.hp-pos-sym b { font-weight: 700; }
.hp-pos-sym small { grid-column: 1 / -1; font-size: 11.5px; }
html[data-color-mode] #researchView#researchView .ih-home .hp-pos-tr.is-long .hp-pos-sym small { color: var(--ih-up) !important; }
html[data-color-mode] #researchView#researchView .ih-home .hp-pos-tr.is-short .hp-pos-sym small { color: var(--ih-down) !important; }
.hp-levb { justify-self: start; font-style: normal; font: 700 10px Arial, Helvetica, sans-serif; padding: 1px 5px; border-radius: 4px; background: color-mix(in srgb, #ff9800 16%, transparent); color: #ff9800; }
.hp-pos-tr span b { display: block; }
.hp-pos-tr span small { display: block; font-size: 11.5px; }
.hp-liq { color: #ff9800; }
.hp-exits em { font-style: normal; }
html[data-color-mode] #researchView#researchView .ih-home .hp-pos-go { height: 28px; padding: 0 10px; font-size: 12px; }
.hp-pos-empty { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 4px 4px; font-size: 13px; color: var(--ih-muted); }
@media (max-width: 900px) {
  .hp-pos-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hp-pos-tr { grid-template-columns: minmax(0, 1.4fr) 1fr 1.2fr 64px; }
  .hp-pos-tr > span:nth-child(3), .hp-pos-tr > span:nth-child(4), .hp-pos-tr > span:nth-child(6), .hp-pos-tr > span:nth-child(7) { display: none; }
}

/* ---------- widgets (Customize) ---------- */
#researchView .ih-home.hp-widgets .ih-main-col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
#researchView .ih-home.hp-widgets .ih-main-col > * { grid-column: 1 / -1; min-width: 0; }
#researchView .ih-home.hp-widgets .ih-main-col > .hp-w.hp-half { grid-column: auto / span 1; }
#researchView .ih-home .ih-grid--markets.hp-flat { display: none; }
#researchView .ih-home .hp-w { position: relative; min-width: 0; }
#researchView .ih-home .hp-w > .ih-card { width: 100%; margin: 0; }
#researchView .ih-home .hp-w > .ih-watchlist, #researchView .ih-home .hp-w > .ih-movers { height: 100%; }
@media (max-width: 1300px) { #researchView .ih-home.hp-widgets .ih-main-col > .hp-w.hp-half { grid-column: 1 / -1; } }
.hp-wbar { display: none; }
/* edit mode */
html[data-color-mode] #researchView#researchView .ih-home.hp-editing .hp-w { cursor: grab; border-radius: 18px; outline: 1.5px dashed color-mix(in srgb, var(--ih-fg) 28%, transparent); outline-offset: 3px; }
#researchView .ih-home.hp-editing .hp-w > :not(.hp-wbar) { pointer-events: none; user-select: none; }
#researchView .ih-home.hp-editing .hp-w.is-dragging { opacity: .35; }
#researchView .ih-home.hp-editing .hp-w:hover { outline-color: var(--hp); }
#researchView .ih-home.hp-editing .hp-wbar { display: flex; align-items: center; gap: 4px; position: absolute; z-index: 6; top: -14px; left: 14px; right: 14px; pointer-events: none; }
.hp-wname { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px 4px 6px; border-radius: 99px; background: var(--ih-bg); border: 1px solid var(--ih-faint); font: 600 11.5px Arial, Helvetica, sans-serif; color: var(--ih-fg); margin-right: auto; }
.hp-wname svg { width: 14px; height: 14px; fill: var(--ih-muted); }
html[data-color-mode] #researchView#researchView .ih-home .hp-wbtn { pointer-events: auto; width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border-radius: 99px; cursor: pointer;
  border: 1px solid var(--ih-faint) !important; background: var(--ih-bg) !important; color: var(--ih-fg) !important; font: 600 12px Arial, Helvetica, sans-serif; }
html[data-color-mode] #researchView#researchView .ih-home .hp-wbtn:hover { background: var(--ih-hover) !important; }
html[data-color-mode] #researchView#researchView .ih-home .ih-rail .hp-wbtn[data-w-size] { display: none; }
.hp-editbar { position: sticky; top: 10px; z-index: 40; display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin: 0 0 22px; padding: 12px 14px 12px 18px;
  border-radius: 14px; border: 1px solid var(--ih-faint); background: color-mix(in srgb, var(--ih-bg) 88%, transparent); backdrop-filter: blur(10px); box-shadow: 0 16px 40px rgba(0,0,0,.35); }
.hp-editbar-t { display: flex; flex-direction: column; gap: 2px; }
.hp-editbar-t b { font-size: 14px; }
html[data-color-mode] #researchView#researchView .ih-home .hp-editbar-t span { font-size: 12px; color: var(--ih-muted) !important; }
.hp-editbar-a { display: flex; align-items: center; gap: 8px; }
.hp-addw { position: relative; }
.hp-addlist { position: absolute; z-index: 60; top: calc(100% + 6px); right: 0; width: 300px; max-height: 360px; overflow-y: auto; padding: 6px; border-radius: 12px; border: 1px solid var(--ih-faint); background: var(--ih-bg); box-shadow: 0 20px 50px rgba(0,0,0,.45); }
.hp-addlist[hidden] { display: none; }
html[data-color-mode] #researchView#researchView .ih-home .hp-addi { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; width: 100%; padding: 9px 10px; border: 0 !important; border-radius: 9px; background: transparent !important; color: var(--ih-fg) !important; text-align: left; cursor: pointer; font-family: var(--ih-font); }
html[data-color-mode] #researchView#researchView .ih-home .hp-addi:hover { background: var(--ih-hover) !important; }
.hp-addi b { font-size: 13px; } .hp-addi small { font-size: 11.5px; }
html[data-color-mode] #researchView#researchView .ih-home .hp-customize.is-on { background: var(--ih-fg) !important; color: var(--ih-bg) !important; }
#researchView .ih-home.hp-editing .ih-rail, #researchView .ih-home.hp-editing .ih-main-col { min-height: 120px; padding-top: 14px; }
#researchView .ih-home.hp-editing .ih-rail { gap: 26px; }
#researchView .ih-home.hp-editing .ih-main-col { row-gap: 30px; }
.hp-switch { display: flex; align-items: center; gap: 8px; }
/* the home page: squarer buttons, fields and toggles (cards keep a small radius) */
html body #researchView#researchView#researchView :is(button, .ih-btn, .ih-tool, .ih-input, input, select, .canvas-load-btn, .shop-hget, .shop-hpublish, [role="tab"], [role="radio"]):not(.shop-avatar):not([class*="avatar"]) { border-radius: 2px !important; }
html body #researchView#researchView#researchView :is(.ih-card, .canvas-card, .shop-hcreator, .ih-feature, [class*="card"]):not(.shop-avatar) { border-radius: 6px !important; }
html body #researchView#researchView#researchView .ih-card :is(.ih-stat, [class*="-stat"], [class*="tile"]) { border-radius: 2px !important; }
/* no empty space: on wide screens the side rail is exactly as tall as the widgets column (its last card scrolls when
   it has more), and widgets side by side in a row share its height */
@media (min-width: 1101px) {
  #researchView .ih-home .ih-top { align-items: stretch; }
  #researchView .ih-home .ih-top > .ih-rail { contain: size; min-height: 100%; overflow-y: auto; scrollbar-width: thin; }
  #researchView .ih-home .ih-rail > :last-child { flex: 1 1 auto; min-height: 120px; overflow-y: auto; }
  #researchView .ih-home .ih-top > .ih-main-col { min-height: 640px; }
}
#researchView .ih-home.hp-widgets .ih-main-col { grid-auto-flow: row dense; align-items: stretch; }
#researchView .ih-home.hp-widgets .ih-main-col > .hp-w { display: flex; flex-direction: column; }
#researchView .ih-home.hp-widgets .ih-main-col > .hp-w > .ih-card, #researchView .ih-home.hp-widgets .ih-main-col > .hp-w > section, #researchView .ih-home.hp-widgets .ih-main-col > .hp-w > .ih-grid { flex: 1 1 auto; }

/* the Dev mode card keeps its own size (the side column's stretch goes to a list) */
#researchView .ih-home .ih-rail > .ih-dev-card { flex: none !important; min-height: 0 !important; }
