diff --git a/data_visualization/css/base.css b/data_visualization/css/base.css new file mode 100644 index 0000000..32a7026 --- /dev/null +++ b/data_visualization/css/base.css @@ -0,0 +1,93 @@ +/* ============================== + Variables + ============================== */ +:root { + --color-background: #f8f9fa; + --color-surface: #ffffff; + --color-text-primary: #1a1a1a; + --color-text-secondary: #555555; + --color-accent: #006d77; + --color-highlight: #ffb703; + + --font-base: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; + --font-size-base: 1rem; + + --spacing-xs: 0.25rem; + --spacing-sm: 0.5rem; + --spacing-md: 1rem; + --spacing-lg: 1.5rem; + --spacing-xl: 2rem; + + --radius-sm: 4px; + --radius-md: 8px; + --transition-fast: 150ms ease-in-out; + --max-width-content: 1200px; +} + +/* ============================== + Base Reset + ============================== */ +html, body { + margin: 0; + padding: 0; + height: 100%; + font-family: var(--font-base); + font-size: var(--font-size-base); + background-color: var(--color-background); + color: var(--color-text-primary); + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +*, *::before, *::after { + box-sizing: border-box; +} + +a { + color: var(--color-accent); + text-decoration: none; + transition: color var(--transition-fast); +} + +a:hover, a:focus { + color: var(--color-highlight); +} + +/* ============================== + App Structure + ============================== */ +.app-header { + background-color: var(--color-surface); + padding: var(--spacing-md); + border-bottom: 1px solid #ddd; +} + +.app-main { + max-width: var(--max-width-content); + margin: 0 auto; + padding: var(--spacing-md); +} + +.app-footer { + text-align: center; + padding: var(--spacing-sm); + font-size: 0.85rem; + color: var(--color-text-secondary); + border-top: 1px solid #ddd; + background-color: var(--color-surface); +} + +.app-footer::after { + content: "© 2026 Donau2Space.de"; + display: block; + margin-top: var(--spacing-xs); +} + +@media (min-width: 640px) { + .app-header, .app-footer { + padding: var(--spacing-lg); + } + .app-main { + padding: var(--spacing-lg); + } +} \ No newline at end of file