/* =============================== Global Base =============================== */ html, body { margin: 0; padding: 0; width: 100%; height: 100%; box-sizing: border-box; font-family: var(--font-base); background-color: var(--color-bg); color: var(--color-text); } *, *::before, *::after { box-sizing: inherit; } body { display: flex; flex-direction: column; min-height: 100vh; } /* =============================== Variables =============================== */ :root { --color-bg: #f6f7fb; --color-surface: #ffffff; --color-text: #1b1b1b; --color-accent: #0055cc; --color-border: #d0d7de; --color-legend-low: #e0efff; --color-legend-high: #002b80; --font-base: system-ui, sans-serif; --font-size-base: 1rem; --line-height-base: 1.5; --spacing-xs: 0.25rem; --spacing-sm: 0.5rem; --spacing-md: 1rem; --spacing-lg: 2rem; --radius-sm: 4px; --radius-md: 8px; --shadow-sm: 0 1px 2px rgba(0,0,0,0.1); --transition-fast: 0.2s ease; --transition-normal: 0.3s ease; --breakpoint-sm: 640px; --breakpoint-md: 1024px; } /* =============================== Layout Containers =============================== */ .app-header { background-color: var(--color-surface); border-bottom: 1px solid var(--color-border); padding: var(--spacing-md); display: flex; align-items: center; justify-content: space-between; } .app-controls { background-color: var(--color-surface); padding: var(--spacing-md); border-bottom: 1px solid var(--color-border); display: flex; flex-wrap: wrap; gap: var(--spacing-sm); } .heatmap-area { flex: 1; display: flex; align-items: center; justify-content: center; background-color: var(--color-bg); padding: var(--spacing-md); overflow: auto; } .heatmap-legend { background-color: var(--color-surface); border-top: 1px solid var(--color-border); padding: var(--spacing-md); display: flex; align-items: center; justify-content: center; } .app-footer { background-color: var(--color-surface); border-top: 1px solid var(--color-border); padding: var(--spacing-sm) var(--spacing-md); text-align: center; font-size: 0.875rem; color: var(--color-text); } @media (min-width: 640px) { .app-controls { justify-content: flex-start; } } @media (min-width: 1024px) { .heatmap-area { padding: var(--spacing-lg); } } .app-footer::after { content: "© 2026 Donau2Space.de"; display: block; margin-top: var(--spacing-xs); font-size: 0.75rem; color: var(--color-text); }