:root { --primary: #1e88e5; --secondary: #81d4fa; --background: #111; --surface: #1b1b1b; --text: #f0f0f0; --accent: #ffca28; --radius-md: 6px; --spacing-xs: 0.25rem; --spacing-sm: 0.5rem; --spacing-md: 1rem; --spacing-lg: 2rem; --shadow-elevated: 0 2px 8px rgba(0, 0, 0, 0.4); } /* ===================== Filter Panel ===================== */ .filter-panel { display: flex; flex-wrap: wrap; gap: var(--spacing-sm); align-items: center; background-color: var(--surface); padding: var(--spacing-md); border-radius: var(--radius-md); box-shadow: var(--shadow-elevated); color: var(--text); } .filter-input { flex: 1; min-width: 140px; padding: var(--spacing-sm); border: 1px solid var(--secondary); border-radius: var(--radius-md); background-color: #222; color: var(--text); font-size: 0.95rem; } .filter-input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 2px rgba(255, 202, 40, 0.3); } .filter-button { padding: var(--spacing-sm) var(--spacing-md); background-color: var(--primary); color: #fff; border: none; border-radius: var(--radius-md); cursor: pointer; transition: background-color 0.2s ease; } .filter-button:hover, .filter-button:focus { background-color: var(--accent); color: #000; } /* ===================== Chart Panel ===================== */ .chart-panel { background-color: var(--surface); border-radius: var(--radius-md); box-shadow: var(--shadow-elevated); padding: var(--spacing-lg) var(--spacing-md); margin-top: var(--spacing-md); overflow-x: auto; } .summary-panel { background-color: #212121; border: 1px solid #333; border-radius: var(--radius-md); padding: var(--spacing-md); margin-top: var(--spacing-md); box-shadow: var(--shadow-elevated); color: var(--text); } .summary-panel h3 { margin-top: 0; color: var(--accent); font-size: 1.1rem; } /* ===================== Tooltips ===================== */ .tooltip { position: absolute; background-color: rgba(0, 0, 0, 0.85); color: var(--text); padding: var(--spacing-xs) var(--spacing-sm); border-radius: var(--radius-md); font-size: 0.85rem; line-height: 1.4; pointer-events: none; white-space: nowrap; z-index: 1000; transition: opacity 0.15s ease; } .tooltip[data-visible="false"] { opacity: 0; } .tooltip[data-visible="true"] { opacity: 1; } /* ===================== Responsive ===================== */ @media (min-width: 640px) { .filter-panel { flex-wrap: nowrap; } } /* ===================== Footer (Copyright) ===================== */ footer { text-align: center; color: var(--text); font-size: 0.8rem; padding: var(--spacing-lg) 0; opacity: 0.6; } footer::after { content: "© 2026 Donau2Space.de"; display: block; margin-top: var(--spacing-xs); }