:root { --bg-body: #0a0a0a; --bg-landing: #000; --text-primary: #e5e5e5; --text-secondary: #a3a3a3; --text-muted: #a0a0a0; --accent: #5b9bd5; --accent-hover: #4a88c2; --accent-subtle: rgba(91, 155, 213, 0.15); --awards: #f0c040; --border: rgba(255, 255, 255, 0.08); --card-bg: rgba(255, 255, 255, 0.05); --glass-bg: rgba(255, 255, 255, 0.2); --glass-border: rgba(255, 255, 255, 0.2); --radius-card: 12px; --radius-pill: 20px; --radius-input: 24px; --font: "Helvetica Neue", Helvetica, Arial, sans-serif; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: var(--font); background: var(--bg-body); color: var(--text-primary); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } @keyframes scroll-left { from { transform: translateX(0); } to { transform: translateX(-50%); } } @keyframes scroll-right { from { transform: translateX(-50%); } to { transform: translateX(0); } } /* View Transitions */ ::view-transition-group(search-bar) { animation-duration: 0.5s; animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } ::view-transition-old(search-bar), ::view-transition-new(search-bar) { animation: none; mix-blend-mode: normal; } ::view-transition-old(landing-hero), ::view-transition-old(landing-pills) { animation: vt-fade-up 0.3s ease both; } ::view-transition-new(landing-hero), ::view-transition-new(landing-pills) { animation: vt-fade-down-in 0.3s ease both; } ::view-transition-old(root) { animation-duration: 0.35s; } ::view-transition-new(root) { animation-duration: 0.35s; } @keyframes vt-fade-up { to { opacity: 0; transform: translateY(-30px); } } @keyframes vt-fade-down-in { from { opacity: 0; transform: translateY(30px); } }