.industry-preview[data-heatmap-preview="true"] .industry-preview__chart { height: auto; padding: 16px; transition: none; overflow: visible; }
.industry-preview[data-heatmap-preview="true"] .industry-preview__chart.is-collapsed { display: none; }
.industry-preview[data-heatmap-preview="true"] .industry-preview__chart-skeleton { height: 420px; }
.ip-heatmap { color: var(--ip-text); }
.ip-heatmap__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.ip-heatmap__stats { display: flex; gap: 16px; flex-wrap: wrap; font-size: 13px; color: var(--ip-muted); }
.ip-heatmap__stats b { margin-left: 5px; color: var(--ip-text); font-size: 17px; }
.ip-heatmap__stats .is-up { color: var(--ip-up); }
.ip-heatmap__stats .is-down { color: var(--ip-down); }
.ip-heatmap__modes { display: flex; padding: 3px; border: 1px solid var(--ip-border); border-radius: 9px; background: var(--ip-panel-soft); }
.ip-heatmap__modes button { background: transparent; color: var(--ip-muted); padding: 6px 10px; border-radius: 6px; font-size: 12px; }
.ip-heatmap__modes button[aria-pressed="true"] { background: var(--ip-accent-soft); color: var(--ip-accent); }
.ip-heatmap__map { position: relative; width: 100%; height: clamp(360px, 38vw, 490px); border-radius: 11px; background: var(--ip-panel-soft); overflow: hidden; }
.industry-preview__chart .ip-heatmap__tile { position: absolute; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; padding: 8px; border: 2px solid var(--ip-panel); border-radius: 7px; color: #fff; overflow: hidden; text-align: center; line-height: 1.3; transition: filter .15s; }
.ip-heatmap__tile:hover { filter: brightness(1.13); z-index: 1; }
.ip-heatmap__tile:focus-visible,
.ip-heatmap__tile[aria-pressed="true"] { outline: 3px solid var(--ip-text); outline-offset: -5px; z-index: 2; }
.ip-heatmap__tile strong { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: clamp(12px, 1.05vw, 17px); max-width: 100%; overflow: hidden; overflow-wrap: anywhere; }
.ip-heatmap__tile span { font-size: clamp(13px, 1.5vw, 24px); font-weight: 800; }
.ip-heatmap__tile small { font-size: 11px; opacity: .85; }
.ip-heatmap__tile.is-small { gap: 2px; padding: 4px; }
.ip-heatmap__tile.is-small strong { font-size: 11px; }
.ip-heatmap__tile.is-small span { font-size: 12px; }
.ip-heatmap__tile.is-small small { display: none; }
.ip-heatmap__legend { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 12px; color: var(--ip-muted); font-size: 12px; }
.ip-heatmap__scale { display: flex; align-items: center; gap: 8px; }
.ip-heatmap__gradient { width: 130px; height: 8px; border-radius: 8px; background: linear-gradient(90deg, #167247, #465368, #ae293c); }
.ip-heatmap__detail { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; min-height: 54px; margin-top: 14px; padding: 12px 14px; border: 1px solid var(--ip-border); border-radius: 10px; background: var(--ip-panel-soft); font-size: 13px; color: var(--ip-muted); }
.ip-heatmap__detail strong { color: var(--ip-text); font-size: 15px; }
.ip-heatmap__detail a,
.industry-preview__chart .ip-heatmap__detail button { margin-left: auto; padding: 6px 10px; background: var(--ip-accent-soft); border-radius: 6px; color: var(--ip-accent); }
@media (max-width: 600px) {
    .industry-preview[data-heatmap-preview="true"] .industry-preview__chart { padding: 10px; }
    .ip-heatmap__map { height: 470px; }
    .ip-heatmap__tile small { display: none; }
    .ip-heatmap__stats { gap: 10px; }
}
