/* Output: GDP treemap and figures on the shared report styles. */
.section-title { font-size: 13px; font-weight: 500; color: var(--muted); margin: 16px 0 6px; }
.section-sub { font-weight: 400; }
.treemap { display: flex; flex-direction: column; gap: 4px; width: 100%; height: 400px; margin: 0 0 6px; }
.band { display: flex; min-height: 52px; gap: 4px; }
.band-label { flex: 0 0 118px; display: flex; flex-direction: column; justify-content: center; padding: 6px 8px; background: var(--band); border-left: 3px solid var(--ink); }
.band-label .gname { font-weight: 600; font-size: 14px; line-height: 1.2; }
.band-label .gshare { font-size: 13px; color: var(--muted); font-variant-numeric: tabular-nums; }
.band-cells { flex: 1; display: flex; gap: 3px; min-width: 0; }
.cell { min-width: 0; overflow: hidden; padding: 6px 8px; color: #fff; font-size: 12.5px; line-height: 1.25; overflow-wrap: anywhere; }
.cell.vert { writing-mode: vertical-rl; padding: 8px 0; display: flex; align-items: center; justify-content: flex-start; }
.cell.vert .pname, .cell.vert .pct { display: inline; white-space: nowrap; font-size: 12px; }
.cell.vert .pct { margin-top: 6px; }
.cell .pname { font-weight: 600; display: block; }
.cell .pct { opacity: 0.85; display: block; font-size: 12px; }
.cell.small { padding: 5px 6px; font-size: 11px; }
.cell.small .pct { font-size: 11px; }
.cell.tiny { padding: 4px 3px; }
.cell.tiny .pname { display: none; }
.cell.tiny .pct { font-size: 10.5px; }
.stats td.price { font-weight: 600; white-space: nowrap; padding-left: 16px; }
.stats td .yr { color: var(--muted); font-weight: 400; font-size: 11.5px; margin-left: 6px; }
.guess-form { margin-top: 20px; }
.guesses th:nth-child(3), .guesses td.dir { text-align: center; width: 64px; }
.answer-list td.pct { text-align: right; font-weight: 600; }
@media (max-width: 520px) { .treemap { height: 460px; } .band-label { flex-basis: 84px; padding: 4px 6px; } .band-label .gname { font-size: 12.5px; } .band-label .gshare { font-size: 12px; } .cell { font-size: 11px; padding: 4px 5px; } }
