:root { --bg-primary: #0a0a0a; --bg-secondary: #1a1a1a; --text-primary: #ffffff; --text-secondary: #a1a1aa; --accent: #3b82f6; /* Subtle blue, can be changed */ --border: #27272a; /* Spacing */ --spacing-sm: 0.5rem; --spacing-md: 1rem; --spacing-lg: 2rem; --spacing-xl: 4rem; /* Transitions */ --transition-fast: 0.2s cubic-bezier(0.4, 0, 0.2, 1); --transition-smooth: 0.4s cubic-bezier(0.4, 0, 0.2, 1); /* Component Colors */ --header-bg: rgba(10, 10, 10, 0.8); /* Map Tile Filter: Dark Mode */ --map-filter: grayscale(0.5) invert(1) hue-rotate(180deg) brightness(0.9) contrast(1.1); } [data-theme="light"] { --bg-primary: #ffffff; --bg-secondary: #f4f4f5; --text-primary: #0a0a0a; --text-secondary: #52525b; --border: #e4e4e7; --header-bg: rgba(255, 255, 255, 0.8); /* Map Tile Filter: Light Mode */ --map-filter: grayscale(0.1); } * { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: 'Inter', system-ui, -apple-system, sans-serif; background-color: var(--bg-primary); color: var(--text-primary); line-height: 1.5; -webkit-font-smoothing: antialiased; } img { max-width: 100%; display: block; } button { background: none; border: none; color: inherit; cursor: pointer; font-family: inherit; } ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: var(--bg-primary); } ::-webkit-scrollbar-thumb { background: var(--border); border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: var(--text-secondary); }