.heatmap-page-main{min-height:100vh;color:var(--color-text-secondary)}.heatmap-page-main:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 85% 12%,#3b82f617 0%,#0000 42%),radial-gradient(circle at 10% 60%,#2563eb0d 0%,#0000 45%);position:fixed;inset:0}.heatmap-hero{text-align:center;z-index:1;justify-content:center;padding:clamp(2rem,4vw,3.5rem) 1.5rem 2rem;display:flex;position:relative}.heatmap-hero-inner{max-width:860px}.heatmap-hero-title{letter-spacing:-.02em;text-transform:uppercase;color:#fff;margin:0 0 .75rem;font-size:clamp(2.5rem,5vw,3.5rem);font-weight:800;line-height:1.1}.heatmap-hero-title span{color:var(--color-brand)}.heatmap-hero-subtitle{color:var(--color-text-muted);max-width:580px;margin:0 auto;font-size:clamp(.95rem,2vw,1.1rem);font-weight:320;line-height:1.6}.heatmap-content-container{z-index:1;width:92%;max-width:1400px;margin:0 auto;padding:0 0 4rem;position:relative}.heatmap-card{background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--shadow-lg),0 0 48px #3b82f612;border-radius:1rem;flex-direction:column;height:calc(100vh - 180px);min-height:560px;transition:border-color .3s;display:flex;overflow:hidden}.heatmap-card:hover{border-color:var(--card-border-hover)}.heatmap-toolbar{border-bottom:1px solid var(--color-border-soft);background:#08101eeb;flex-shrink:0;justify-content:space-between;align-items:center;height:40px;padding:0 1rem;display:flex}.heatmap-toolbar-left{align-items:center;gap:.75rem;display:flex}.heatmap-toolbar-title{letter-spacing:.16em;text-transform:uppercase;color:#ffffffa6;font-family:monospace;font-size:11px;font-weight:700}.heatmap-toolbar-count,.heatmap-toolbar-right{color:#ffffff4d;font-family:monospace;font-size:10px}.heatmap-body{flex:1;min-height:0;display:flex}@media (max-width:768px){.heatmap-body{flex-direction:column}}.heatmap-canvas-wrap{background:linear-gradient(165deg,#1e293b59 0%,#08101eeb 42%,#0f172abf 100%);flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}.heatmap-empty{color:#ffffff40;justify-content:center;align-items:center;gap:10px;height:100%;font-family:monospace;font-size:12px;display:flex}.heatmap-spinner{border:2px solid #3b82f64d;border-top-color:var(--color-brand);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite heatmap-spin}@keyframes heatmap-spin{to{transform:rotate(360deg)}}.heatmap-sector-shell{pointer-events:none;border:1px solid var(--color-border-soft);border-radius:2px;position:absolute}.heatmap-canvas-wrap canvas{position:absolute;top:0;left:0}.heatmap-sector-label{pointer-events:none;border-bottom:1px solid var(--color-border-soft);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172ae0;justify-content:space-between;align-items:center;padding:0 8px;display:flex;position:absolute}.heatmap-sector-name{text-transform:uppercase;letter-spacing:.09em;color:#ffffffb8;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:600;overflow:hidden}.heatmap-sector-mcap{color:#ffffff52;flex-shrink:0;margin-left:4px;font-family:monospace;font-size:9px}.heatmap-sidebar{border-left:1px solid var(--color-border-soft);background:#08101ef0;flex-direction:column;flex-shrink:0;width:228px;display:flex;overflow:hidden}@media (max-width:768px){.heatmap-sidebar{display:none}}.heatmap-sidebar-detail{scrollbar-width:thin;scrollbar-color:#ffffff1a transparent;flex:1;min-height:0;padding:14px;overflow-y:auto}.heatmap-sidebar-detail::-webkit-scrollbar{width:4px}.heatmap-sidebar-detail::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.heatmap-detail-stock-link{color:inherit;border-radius:8px;outline:none;margin:-6px -8px 10px;padding:6px 8px;text-decoration:none;transition:background .14s,box-shadow .14s;display:block}.heatmap-detail-stock-link:hover{background:#3b82f61a;box-shadow:inset 0 0 0 1px #3b82f638}.heatmap-detail-stock-link:focus-visible{box-shadow:0 0 0 2px #60a5fabf}.heatmap-detail-symbol-row{align-items:baseline;gap:8px;margin-bottom:3px;display:flex}.heatmap-detail-symbol{color:#fff;font-size:22px;font-weight:700;line-height:1}.heatmap-detail-change{font-family:monospace;font-size:13px;font-weight:600;line-height:1}.heatmap-detail-change--up{color:#4ade80}.heatmap-detail-change--down{color:#f87171}.heatmap-detail-change--flat{color:#fff6}.heatmap-detail-name{color:#ffffff6b;font-size:11px;line-height:1.3}.heatmap-price-box{border:1px solid var(--color-border-soft);background:#1e293b59;border-radius:6px;margin-bottom:10px;padding:10px 12px}.heatmap-price-main{color:#fff;margin-bottom:8px;font-size:20px;font-weight:700;line-height:1}.heatmap-price-meta{gap:14px;display:flex}.heatmap-stat{flex-direction:column;gap:2px;display:flex}.heatmap-stat-label{text-transform:uppercase;letter-spacing:.12em;color:#ffffff47;font-family:monospace;font-size:9px}.heatmap-stat-value{color:#ffffffb8;word-break:break-word;font-size:11px;line-height:1.3}.heatmap-meta-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.heatmap-scores-label{text-transform:uppercase;letter-spacing:.14em;color:#ffffff47;margin-bottom:8px;font-family:monospace;font-size:9px}.heatmap-scores-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px;display:grid}.heatmap-score-cell{flex-direction:column;align-items:center;gap:3px;display:flex}.heatmap-score-tf{text-transform:uppercase;color:#ffffff4d;font-family:monospace;font-size:8px}.heatmap-empty-hint{color:#ffffff40;font-size:11px;line-height:1.5}.heatmap-legend{border-top:1px solid var(--color-border-soft);flex-shrink:0;padding:10px 14px 12px}.heatmap-legend-title{text-transform:uppercase;letter-spacing:.14em;color:#ffffff47;margin-bottom:7px;font-family:monospace;font-size:9px}.heatmap-legend-list{flex-direction:column;gap:4px;display:flex}.heatmap-legend-row{align-items:center;gap:7px;display:flex}.heatmap-legend-swatch{border-radius:2px;flex-shrink:0;width:10px;height:10px}.heatmap-legend-text{color:#ffffff85;font-size:10px}@media (max-width:768px){.heatmap-content-container{width:96%}.heatmap-info-grid{grid-template-columns:1fr}}.heatmap-mobile-overlay{display:none}@media (max-width:768px){.heatmap-mobile-overlay{z-index:200;background:#0009;align-items:flex-end;display:flex;position:fixed;inset:0}.heatmap-mobile-sheet{border-top:1px solid var(--color-border-soft);scrollbar-width:thin;scrollbar-color:#ffffff1a transparent;background:#08101efa;border-radius:14px 14px 0 0;width:100%;max-height:72vh;padding:20px 16px 28px;position:relative;overflow-y:auto}.heatmap-mobile-sheet::-webkit-scrollbar{width:4px}.heatmap-mobile-sheet::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.heatmap-mobile-close{color:#fff9;cursor:pointer;background:#ffffff12;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;line-height:1;display:flex;position:absolute;top:12px;right:14px}.heatmap-mobile-drag-handle{background:#ffffff2e;border-radius:2px;width:36px;height:4px;margin:0 auto 14px}}
