/* ====================================== CSS Reset & Variables ====================================== */ :root { /* Color Palette */ --color-bg: #f9fafb; --color-surface: #ffffff; --color-border: #d1d5db; --color-text: #111827; --color-accent: #2563eb; --color-accent-hover: #1e40af; /* Spacing */ --spacing-xs: 0.25rem; --spacing-sm: 0.5rem; --spacing-md: 1rem; --spacing-lg: 2rem; --spacing-xl: 4rem; /* Typography */ --font-family-base: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; --font-size-base: 16px; --line-height-base: 1.5; /* Layout */ --max-width-content: 1200px; --transition-base: 0.2s ease-in-out; /* Breakpoints */ --bp-sm: 640px; --bp-md: 768px; --bp-lg: 1024px; --bp-xl: 1280px; } /* Reset Styles */ * { margin: 0; padding: 0; box-sizing: border-box; } html, body { width: 100%; height: 100%; } body { font-family: var(--font-family-base); font-size: var(--font-size-base); line-height: var(--line-height-base); background-color: var(--color-bg); color: var(--color-text); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } h1, h2, h3, h4, h5, h6 { font-weight: 600; line-height: 1.25; color: var(--color-text); } a { color: var(--color-accent); text-decoration: none; transition: color var(--transition-base); } a:hover, a:focus { color: var(--color-accent-hover); } ul, ol { list-style: none; } button { background: none; border: none; cursor: pointer; font: inherit; color: inherit; } /* ====================================== Application Shell Layout ====================================== */ .app-shell { display: flex; flex-direction: column; min-height: 100vh; } .app-header { background-color: var(--color-surface); border-bottom: 1px solid var(--color-border); padding: var(--spacing-md); text-align: center; } .app-header h1 { font-size: 1.5rem; margin-bottom: var(--spacing-sm); } main { flex: 1; max-width: var(--max-width-content); margin: 0 auto; padding: var(--spacing-lg) var(--spacing-md); width: 100%; } .app-footer { background-color: var(--color-surface); border-top: 1px solid var(--color-border); text-align: center; padding: var(--spacing-sm); font-size: 0.875rem; } .app-footer p { color: var(--color-text); opacity: 0.8; } /* Responsive typography and spacing */ @media (min-width: 640px) { .app-header h1 { font-size: 2rem; } main { padding: var(--spacing-xl) var(--spacing-lg); } } /* Footer copyright */ .app-footer::after { content: "© 2026 Donau2Space.de"; display: block; margin-top: var(--spacing-xs); font-size: 0.75rem; color: var(--color-text); opacity: 0.6; }