/* Invest NY figures: the Dealroom chart card in Invest NY's colour.
   Series ramp = blues for the base, teal/green, lavender, peach for the
   newest slice — the same family on both charts (the stacked-EV ramp Yoram
   picked, 2026-09-08). No legends: the renderers label series directly.
   The platform strip and logo row come from ecosystem-platform.css;
   --ny-brand is Invest NY's header navy. */
:root{--ny-series-0:#285ca8;--ny-series-1:#5487cd;--ny-series-2:#8fb8e8;--ny-series-3:#51a59a;--ny-series-4:#86c9a5;--ny-series-5:#bdabdd;--ny-series-6:#eaa78d;--ny-us-0:#14396b;--ny-us-1:#22528f;--ny-us-2:#285ca8;--ny-us-3:#5487cd;--ny-us-4:#8fb8e8;--ny-us-5:#c6dcf4;--ny-brand:#122c54;--ny-brand-ink:#fff;--ny-share-ink:#122c54;--ny-share-ink-on-blue:#fff;--eco-brand:var(--ny-brand);--ny-stack-gap:#fff} /* theme-guardrail-allow: chart-family token layer, both themes defined here */
[data-theme="dark"]{--ny-series-0:#659bfd;--ny-series-1:#89b6ef;--ny-series-2:#c3ddf6;--ny-series-3:#61b9ac;--ny-series-4:#a1dfb5;--ny-series-5:#c8b3eb;--ny-series-6:#ffb79c;--ny-us-0:#2c6ac9;--ny-us-1:#4382e0;--ny-us-2:#659bfd;--ny-us-3:#89b6ef;--ny-us-4:#a9ccf4;--ny-us-5:#c3ddf6;--ny-brand:#1c3b6e;--ny-share-ink:#0b1a33;--ny-share-ink-on-blue:#0b1a33;--ny-stack-gap:#001234} /* theme-guardrail-allow: chart-family token layer, both themes defined here */
*{box-sizing:border-box}body{margin:0;padding:24px;background:var(--mv-bg);color:var(--mv-text);font-family:var(--font-sans)}.embedded{padding:0}[hidden]{display:none!important}
#card{width:100%;padding:26px 30px 22px;background:var(--mv-card);border:1px solid var(--mv-border);border-radius:16px}.export-title{font-family:var(--font-display);font-size:26px;line-height:1.15;margin:0 0 18px}.embedded .export-title{display:none}
.scope{font-size:14px;color:var(--mv-text-sec);line-height:1.5;margin:16px 0 10px}.view-toggle{display:flex;gap:8px;flex-wrap:wrap}button{font:inherit;color:var(--mv-text-sec);background:transparent;border:1px solid var(--mv-footer-border);border-radius:20px;padding:7px 14px;cursor:pointer}button.active{background:var(--ny-brand);border-color:var(--ny-brand);color:var(--ny-brand-ink)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--mv-blue);outline-offset:3px}
#graphic{width:100%;min-width:0}
.ny-color-0{--ny-fill:var(--ny-series-0)}.ny-color-1{--ny-fill:var(--ny-series-1)}.ny-color-2{--ny-fill:var(--ny-series-2)}.ny-color-3{--ny-fill:var(--ny-series-3)}.ny-color-4{--ny-fill:var(--ny-series-4)}.ny-color-5{--ny-fill:var(--ny-series-5)}.ny-color-6{--ny-fill:var(--ny-series-6)}.ny-color-7{--ny-fill:var(--ny-series-5)}.ny-color-8{--ny-fill:var(--ny-series-6)}
[data-series="young"] .ny-color-0{--ny-fill:var(--ny-series-6)}
/* Investor headquarters picks from the same ramp: US = the mid blue that carries
   the stacked chart, Europe = teal, Asia = lavender, rest of world = peach. */
[data-series="geography"] .ny-color-0{--ny-fill:var(--ny-series-1)}[data-series="geography"] .ny-color-1{--ny-fill:var(--ny-series-3)}[data-series="geography"] .ny-color-2{--ny-fill:var(--ny-series-5)}[data-series="geography"] .ny-color-3{--ny-fill:var(--ny-series-6)}
/* By state / by city: the five named US bands plus Other US read as ONE country
   down a single blue ramp (darkest at the bottom, where the biggest band sits),
   so a reader still sees "US against the rest" at a glance and only then reads
   the split. Europe/Asia/rest of world keep teal/lavender/peach unchanged from
   the four-category view, which is what makes the two comparable. Both views
   carry nine bands in this fixed order, so one rule set serves both. */
[data-series="states"] .ny-color-0,[data-series="cities"] .ny-color-0{--ny-fill:var(--ny-us-0)}[data-series="states"] .ny-color-1,[data-series="cities"] .ny-color-1{--ny-fill:var(--ny-us-1)}[data-series="states"] .ny-color-2,[data-series="cities"] .ny-color-2{--ny-fill:var(--ny-us-2)}[data-series="states"] .ny-color-3,[data-series="cities"] .ny-color-3{--ny-fill:var(--ny-us-3)}[data-series="states"] .ny-color-4,[data-series="cities"] .ny-color-4{--ny-fill:var(--ny-us-4)}[data-series="states"] .ny-color-5,[data-series="cities"] .ny-color-5{--ny-fill:var(--ny-us-5)}[data-series="states"] .ny-color-6,[data-series="cities"] .ny-color-6{--ny-fill:var(--ny-series-3)}[data-series="states"] .ny-color-7,[data-series="cities"] .ny-color-7{--ny-fill:var(--ny-series-5)}[data-series="states"] .ny-color-8,[data-series="cities"] .ny-color-8{--ny-fill:var(--ny-series-6)}
#plot svg{display:block;width:100%;height:auto;overflow:visible}#plot text{font-family:var(--font-sans);fill:var(--mv-text-sec);font-size:12px}.ny-grid{stroke:var(--mv-footer-border);stroke-width:1}.ny-mark{fill:var(--ny-fill);stroke:var(--ny-stack-gap);stroke-width:1;cursor:crosshair}.ny-mark:hover,.ny-mark:focus{stroke:var(--mv-text);stroke-width:2;outline:none}.ny-flow{fill:var(--ny-fill);fill-opacity:.3;pointer-events:none}.ny-leader{stroke:var(--mv-text-muted);stroke-width:1;stroke-opacity:.5}
#plot .ny-total{font-size:13px;font-weight:700;fill:var(--mv-text)}#plot .ny-label{font-size:12.5px;fill:var(--mv-text)}#plot .ny-label-muted{fill:var(--mv-text-sec)}#plot .ny-label-value{font-weight:700}#plot .ny-share{fill:var(--ny-share-ink);font-size:12px;font-weight:600;pointer-events:none}#plot .ny-share-on-blue{fill:var(--ny-share-ink-on-blue)}
/* Band hunting: while a series is picked out, everything else in the plot recedes
   rather than disappearing — a reader still sees the shape of the whole stack.
   Only opacity moves, so the fills stay the ones named in the token layer, and
   the lit mark keeps its own :hover stroke. */
#plot.ny-hunting [data-band]{opacity:.16;transition:opacity .1s ease-out}
#plot.ny-hunting [data-band].ny-lit{opacity:1}
#plot.ny-hunting .ny-lit.ny-mark{stroke:var(--mv-text);stroke-width:1.5}
@media (prefers-reduced-motion:reduce){#plot.ny-hunting [data-band]{transition:none}}
/* One-line method footnote under the footer row: quieter and smaller than the
   source line beside it, and it stays in the PNG — a shared image should say
   what it weights. */
.ny-note{margin:0 0 14px;font-size:12px;line-height:1.45;color:var(--mv-text-sec)}
.ny-tooltip{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;min-height:37px;line-height:1.5;font-size:13px;color:var(--mv-text-sec);padding:8px 0}.ny-tooltip.has-value .ny-tip{color:var(--mv-text);font-weight:600}.ny-source{margin-left:auto}
#table{overflow-x:auto;max-width:100%;font-size:13px}table{width:100%;border-collapse:collapse;text-align:right;font-variant-numeric:tabular-nums}th,td{padding:10px 12px;border-bottom:1px solid var(--mv-footer-border);white-space:nowrap}th:first-child{text-align:left}td small{display:block;color:var(--mv-text-sec)}.ny-table-caption{font-size:13px;color:var(--mv-text-sec)}a{color:var(--mv-blue)}
@media(max-width:620px){body{padding:12px}.embedded{padding:0}#card{padding:18px 16px 16px}.export-title{font-size:23px}.scope{font-size:13px}}
