.map-layer-controls {display:flex;flex-wrap:wrap;gap:12px;padding:12px 18px;border-bottom:1px solid var(--border,#29343d);font-size:12px}
.map-layer-controls label {display:flex;align-items:center;gap:7px;cursor:pointer}
.map-layer-controls input,.station-downloads input {accent-color:var(--hkn-accent);width:16px;height:16px}
.map-grid {position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}
.power-cell {position:absolute;border:1px solid #89c8e480;background:#89c8e40a;pointer-events:none}
.power-cell.solar {border-color:#f1bb6a99;background:#f1bb6a08}
.power-cell.selected {border-width:2px;background:#89c8e42b}
.power-cell.solar.selected {background:#f1bb6a24}
.power-grid-line {position:absolute;pointer-events:none;border-color:#89c8e445}
.power-grid-line.vertical {top:0;bottom:0;border-left:1px solid #89c8e445}
.power-grid-line.horizontal {left:0;right:0;border-top:1px solid #89c8e445}
.power-grid-line.solar {border-color:#f1bb6a80}
.power-grid-line.solar.vertical {border-left-style:dashed}
.power-grid-line.solar.horizontal {border-top-style:dashed}
.power-cell-label {position:absolute;top:4px;left:5px;color:#b2e8ff;font-size:10px;white-space:nowrap}
.power-cell.solar .power-cell-label {color:#f1cc93}
.map-marker.published {width:12px;height:12px;background:#8ccde8;border:2px solid #15212b;border-radius:3px;box-shadow:0 0 0 1px #8ccde8aa}
.map-marker.published:hover,.map-marker.published:focus-visible {width:18px;height:18px;z-index:8}
.explorer-status {margin:10px 18px;color:#9babb6;font-size:12px;line-height:1.6}
.station-cell-warning {margin:12px 18px;border-color:#bd9146!important;background:#332a19!important;color:#f0d4a5!important}
.station-cell-warning button {margin-top:10px}
.station-browser {margin:16px 18px;padding:18px;border:1px solid #3f6475;border-radius:6px;background:#12212b}
.station-browser h3 {margin:0;font-size:19px}
.station-browser .section-heading {gap:10px;align-items:start}
.station-downloads {display:grid;gap:8px;margin:16px 0}
.station-download {display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #34444f;border-radius:4px}
.station-download label {display:flex;gap:10px;align-items:center;flex:1}
.station-download a {color:var(--hkn-accent);white-space:nowrap}
.chart-workspace {margin:30px 0;padding:24px;border:1px solid #34444f;border-radius:6px;background:#101b23}
.chart-workspace h3 {margin:0 0 7px}
.chart-controls {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}
.chart-controls label {display:grid;gap:7px;color:#afbdc7;font-size:12px;min-width:0}
.chart-controls select {width:100%;max-width:100%;min-width:0}
.chart-surface {overflow:hidden;width:100%;border-top:1px solid #34444f;padding-top:14px}
.chart-surface svg {display:block;width:100%;height:auto;min-height:220px;font-family:var(--hkn-font-family)}
.chart-caption {color:#a6b4bf;font-size:12px;line-height:1.6}
.chart-summary {display:flex;gap:22px;flex-wrap:wrap;color:var(--hkn-accent);font-size:13px;margin-top:14px}
@media(max-width:700px){.chart-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-workspace{padding:16px}.station-browser{margin:12px;padding:14px}.map-layer-controls{gap:10px;padding:10px 12px}.header-actions{flex-wrap:wrap}.station-download{padding:10px;gap:5px}}
@media(max-width:390px){.chart-controls{grid-template-columns:1fr}.map-layer-controls{font-size:11px}.header-product{display:none}}

.grid-key {display:inline-block;width:17px;border-top:2px solid #89c8e4}
.solar-layer .grid-key {border-color:#f1bb6a;border-top-style:dashed}
.grid-explanation {margin-top:8px;margin-bottom:8px}
