/* Body and Global Styles */ /* Hide scrollbars but keep functionality */ ::-webkit-scrollbar { width: 0; height: 0; } ::-webkit-scrollbar-thumb:hover, ::-webkit-scrollbar-thumb:active { background-color: var(--black-alpha-12); } /* Global text rendering */ * { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; } /* Body defaults */ body { font-family: var(--font-sans); font-size: 1rem; line-height: 1.5; color: var(--accent-black); background-color: var(--background-base); overflow-anchor: none; } /* Prevent image dragging */ img, video { max-width: unset; user-select: none; -webkit-user-drag: none; -khtml-user-drag: none; -moz-user-drag: none; -o-user-drag: none; user-drag: none; } /* Form elements */ input, input:focus, textarea, textarea:focus, select, select:focus { outline: 0; } /* Focus states handled by utilities */ *:focus { outline: 0; } /* Smooth scrolling */ html { scroll-behavior: smooth; } @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } } /* Section defaults */ section { position: relative; } /* Text selection */ h1, h2, h3, h4, h5, h6, p { user-select: text; } /* Button defaults */ button { text-align: left; user-select: none; } /* Selection color using design system colors */ *::selection { background-color: var(--heat-20); color: var(--accent-black); } /* Links */ a { color: inherit; text-decoration: none; transition: color 0.2s ease; } a:hover { color: var(--heat-100); } /* Code blocks */ code { font-family: var(--font-mono); font-size: 0.875em; background-color: var(--black-alpha-4); padding: 0.125rem 0.25rem; border-radius: 0.25rem; } pre code { background-color: transparent; padding: 0; } /* Prevent FOUC */ html { visibility: visible !important; } /* Responsive text sizing */ @media (max-width: 768px) { html { font-size: 15px; } } @media (min-width: 1536px) { html { font-size: 17px; } }