:root { --primary: #1a73e8; --secondary: #fbbc04; --background: #ffffff; --text-color: #222; --grid-line: rgba(0, 0, 0, 0.1); --tooltip-bg: rgba(0, 0, 0, 0.85); --tooltip-text: #fff; --legend-height: 12px; --font-base: system-ui, sans-serif; --spacing-sm: 0.5rem; --spacing-md: 1rem; --border-radius: 4px; --transition-fast: 0.2s ease-in-out; } /* ============================== Heatmap Grid ============================== */ .heatmap-area { display: grid; grid-template-columns: repeat(auto-fill, minmax(8px, 1fr)); gap: 1px; background-color: var(--grid-line); border: 1px solid var(--grid-line); width: 100%; height: auto; aspect-ratio: 2 / 1; position: relative; } .heatmap-area div { background: var(--secondary); transition: background-color var(--transition-fast); } .heatmap-area div:hover { outline: 1px solid var(--primary); cursor: pointer; } /* ============================== Heatmap Style ============================== */ .heatmap-style { font-family: var(--font-base); color: var(--text-color); background: var(--background); padding: var(--spacing-md); } .heatmap-style .intensity-low { background-color: #dceefb; } .heatmap-style .intensity-medium { background-color: #71c1f0; } .heatmap-style .intensity-high { background-color: #1a73e8; } /* ============================== Legend and Tooltip ============================== */ .heatmap-legend { display: flex; align-items: center; justify-content: space-between; margin-top: var(--spacing-md); font-size: 0.875rem; } .heatmap-legend__scale { flex: 1; height: var(--legend-height); background: linear-gradient(to right, #dceefb, #71c1f0, #1a73e8); border-radius: var(--border-radius); } .heatmap-legend__labels { display: flex; justify-content: space-between; width: 100%; margin-top: var(--spacing-sm); font-size: 0.75rem; } .tooltip { position: absolute; background-color: var(--tooltip-bg); color: var(--tooltip-text); padding: var(--spacing-sm); border-radius: var(--border-radius); font-size: 0.75rem; pointer-events: none; opacity: 0; transition: opacity var(--transition-fast); z-index: 10; } .tooltip[aria-hidden="false"] { opacity: 1; } /* ============================== Responsive Adjustments ============================== */ @media (min-width: 640px) { .heatmap-area { grid-template-columns: repeat(auto-fill, minmax(10px, 1fr)); } .heatmap-legend { font-size: 1rem; } } @media (min-width: 1024px) { .heatmap-area { grid-template-columns: repeat(auto-fill, minmax(12px, 1fr)); } } /* ============================== Footer (falls vorhanden) ============================== */ footer { text-align: center; font-size: 0.75rem; padding: var(--spacing-md); color: var(--text-color); border-top: 1px solid var(--grid-line); } footer small { display: block; margin-top: var(--spacing-sm); content: "© 2026 Donau2Space.de"; }