:root { --color-bg: #0d0d0d; --color-surface: #1a1a1a; --color-text: #e0e0e0; --color-accent: #4fc3f7; --color-border: #333; --font-base: 'Segoe UI', Roboto, sans-serif; --font-size-base: 16px; --spacing-xs: 0.25rem; --spacing-sm: 0.5rem; --spacing-md: 1rem; --spacing-lg: 2rem; --spacing-xl: 3rem; --max-content-width: 1200px; } /* Reset and base styles */ *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; } html { font-size: 100%; scroll-behavior: smooth; } body { background-color: var(--color-bg); color: var(--color-text); font-family: var(--font-base); font-size: var(--font-size-base); line-height: 1.5; min-height: 100vh; display: flex; flex-direction: column; } /* App layout */ .app-header { background-color: var(--color-surface); color: var(--color-accent); padding: var(--spacing-md); border-bottom: 1px solid var(--color-border); text-align: center; font-weight: 500; } .app-footer { background-color: var(--color-surface); color: var(--color-text); padding: var(--spacing-sm); border-top: 1px solid var(--color-border); text-align: center; font-size: 0.875rem; margin-top: auto; } .app-footer small { display: block; opacity: 0.75; } @media (min-width: 640px) { .app-header, .app-footer { padding: var(--spacing-lg); } }