[Template: Data Visualization Report]
- Header: report title + time range + data source description.
- KPI card grid: 3-5 most important metrics, each card shows value + year-over-year change + mini trend line.
- Main chart area: at least 2 charts (bar / line / pie / scatter), using Chart.js or ECharts (imported via jsdelivr CDN), with data parsed from user input.
- Chart containers must have a fixed height: each
<canvas>is wrapped in an outer<div style="position:relative;height:NNNpx">(KPI sparkline ~40px, main chart ~240–280px). When Chart.js usesresponsive:true, maintainAspectRatio:false, if the parent container has no explicit height, it falls into a ResizeObserver infinite loop, and the chart grows indefinitely until it freezes the browser.Absolutely do notwrite theheight=attribute directly on the canvas as layout; that is only an initial value. - Data table: excerpt of the user's raw data, using
<table>+ modern styling (zebra stripe, hover, sticky header). - Insight block: 3-5 text insights, starting with emoji, like a product weekly report.
- Bottom "Methodology" collapsible section.
- Restrained, professional color scheme: primary color 1 + neutral scale, charts use a palette.
- Must parse the actual data provided by the user, do not fabricate.