.EcosystemMap-module__nHtO6a__map{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-3);overflow:hidden}.EcosystemMap-module__nHtO6a__row{border-top:1px solid var(--border);align-items:stretch;display:flex}.EcosystemMap-module__nHtO6a__row:first-child{border-top:none}.EcosystemMap-module__nHtO6a__rowLabel{min-width:160px;padding:var(--sp-6) var(--sp-5);flex:0 0 200px}.EcosystemMap-module__nHtO6a__rowTitle{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink);margin:0 0 6px;font-weight:400}.EcosystemMap-module__nHtO6a__rowNote{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-3);margin:0;line-height:1.7}.EcosystemMap-module__nHtO6a__rowBody{min-width:0;padding:var(--sp-6) var(--sp-5);border-left:1px solid var(--border);flex:460px}.EcosystemMap-module__nHtO6a__grid{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2);grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.EcosystemMap-module__nHtO6a__gridWide{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.EcosystemMap-module__nHtO6a__cell{padding:var(--sp-4) var(--sp-5);background:var(--surface);box-shadow:0 0 0 1px var(--border);flex-direction:column;gap:5px;display:flex}.EcosystemMap-module__nHtO6a__cellInline{align-items:center;gap:var(--sp-3);flex-direction:row}.EcosystemMap-module__nHtO6a__cellTitle{font-family:var(--font-ui);font-size:var(--fs-base);color:var(--ink);font-weight:600}.EcosystemMap-module__nHtO6a__cellNote{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-3)}.EcosystemMap-module__nHtO6a__cellTrailing{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-3);white-space:nowrap;margin-left:auto}.EcosystemMap-module__nHtO6a__dot{border-radius:50%;flex:none;width:6px;height:6px}.EcosystemMap-module__nHtO6a__deterministic{background:var(--brand)}.EcosystemMap-module__nHtO6a__generative{background:var(--accent)}.EcosystemMap-module__nHtO6a__knowledge{border:1px solid var(--border);border-radius:var(--r-3);background:var(--surface);overflow:hidden}.EcosystemMap-module__nHtO6a__knowledgeHead{align-items:baseline;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);background:var(--surface-2);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.EcosystemMap-module__nHtO6a__knowledgeTitle{font-family:var(--font-display);font-size:var(--fs-md);letter-spacing:-.02em;color:var(--ink);font-weight:600}.EcosystemMap-module__nHtO6a__knowledgeNote,.EcosystemMap-module__nHtO6a__knowledgeTrailing{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-2)}.EcosystemMap-module__nHtO6a__knowledgeTrailing{white-space:nowrap;margin-left:auto}.EcosystemMap-module__nHtO6a__figures{background:var(--surface);border-bottom:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;margin:0;display:grid}.EcosystemMap-module__nHtO6a__figure{align-items:baseline;gap:var(--sp-3);padding:var(--sp-5);background:var(--surface);box-shadow:0 0 0 1px var(--border);display:flex}.EcosystemMap-module__nHtO6a__figureValue{font-family:var(--font-mono);font-size:var(--fs-lg);letter-spacing:var(--tracking-display);color:var(--ink);margin:0;font-weight:700;line-height:1}.EcosystemMap-module__nHtO6a__figureLabel{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-3);line-height:1.5}.EcosystemMap-module__nHtO6a__chips{background:var(--surface);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;margin:0;padding:0;list-style:none;display:grid}.EcosystemMap-module__nHtO6a__chip{padding:var(--sp-4) var(--sp-5);background:var(--surface);box-shadow:0 0 0 1px var(--border);font-family:var(--font-ui);font-size:var(--fs-sm);color:var(--ink-2)}@media (max-width:860px){.EcosystemMap-module__nHtO6a__row{flex-direction:column}.EcosystemMap-module__nHtO6a__rowLabel{padding-bottom:var(--sp-4);flex:none}.EcosystemMap-module__nHtO6a__rowBody{padding-top:var(--sp-4);border-left:none;flex:none}}
