/* market_lab.css -- live market / break-even scene plus graph. */
.ml-grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 0.75rem; }
.ml-scene svg { display: block; width: 100%; height: auto; background: radial-gradient(circle at 50% 10%, rgba(56, 189, 248, 0.12), transparent 55%); }
.ml-ground { fill: rgba(15, 23, 42, 0.82); stroke: rgba(255, 255, 255, 0.12); }
.ml-stall, .ml-factory { fill: rgba(15, 23, 42, 0.82); stroke: rgba(255, 255, 255, 0.22); stroke-width: 1.5; }
.ml-awning { fill: rgba(251, 113, 133, 0.22); stroke: #fb7185; stroke-width: 1.5; }
.ml-roof { fill: rgba(56, 189, 248, 0.14); stroke: #38bdf8; stroke-width: 1.5; }
.ml-price { fill: #fef3c7; font-size: 20px; font-weight: 800; text-anchor: middle; paint-order: stroke; stroke: #07111f; stroke-width: 4px; }
.ml-person { fill: #fde68a; stroke: #07111f; stroke-width: 1; }
.ml-body { stroke: #cbd5e1; stroke-width: 2; stroke-linecap: round; }
.ml-tax { fill: rgba(251, 113, 133, 0.16); stroke: #fb7185; stroke-width: 1.5; }
.ml-tax-text { fill: #fecdd3; font-size: 13px; font-weight: 800; text-anchor: middle; }
.ml-base { fill: none; stroke: rgba(148, 163, 184, 0.5); stroke-width: 1.8; stroke-dasharray: 5 4; }
.ml-base-b { stroke: rgba(203, 213, 225, 0.38); }
.ml-curve-a { fill: none; stroke: #38bdf8; stroke-width: 2.8; stroke-linecap: round; filter: drop-shadow(0 0 4px rgba(56, 189, 248, 0.42)); }
.ml-curve-b { fill: none; stroke: #fb7185; stroke-width: 2.8; stroke-linecap: round; filter: drop-shadow(0 0 4px rgba(251, 113, 133, 0.36)); }
.ml-control { stroke: #fbbf24; stroke-width: 2.2; stroke-dasharray: 6 4; }
.ml-lab-a, .ml-lab-b { font-size: 10px; font-weight: 800; paint-order: stroke; stroke: #07111f; stroke-width: 3px; stroke-linejoin: round; }
.ml-lab-a { fill: #bae6fd; }
.ml-lab-b { fill: #fecdd3; }
.ml-old { fill: #94a3b8; }
.ml-new { fill: #fbbf24; }
@media (max-width: 760px) { .ml-grid { grid-template-columns: 1fr; } }
