@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;600&family=JetBrains+Mono:ital,wght@0,300;0,400;0,500;0,700;1,300&family=Oxanium:wght@700;800&display=swap'); @import 'variables.css'; @import 'components/header.css'; @import 'components/footer.css'; @import 'components/hero.css'; @import 'components/card.css'; @import 'components/feed.css'; @import 'components/code.css'; @import 'components/progress-bar.css'; /* Base Styles */ html { font-size: 17px; scroll-behavior: smooth; } * { margin: 0; padding: 0; box-sizing: border-box; } body { background-color: var(--bg); color: var(--text); font-family: var(--font-body); font-size: var(--fs-body); line-height: 1.95; transition: background-color 0.2s, color 0.2s; } /* Typography */ h1 { font-family: var(--font-head); font-size: var(--fs-h2); font-weight: 800; line-height: 1.1; margin-bottom: 0.5rem; } h2 { font-family: var(--font-head); font-size: var(--fs-h2); font-weight: 800; line-height: 1.1; margin: 2rem 0 1rem; } h3 { font-family: var(--font-head); font-size: var(--fs-h3); font-weight: 800; line-height: 1.2; margin: 1.5rem 0 0.75rem; } h4, h5, h6 { font-family: var(--font-head); font-weight: 800; margin: 1rem 0 0.5rem; } p { margin-bottom: 1rem; } a { color: var(--accent); text-decoration: none; transition: var(--transition); } a:hover { color: var(--accent2); } /* Utilities */ .container { max-width: var(--container-max); margin: 0 auto; padding: 0 1.5rem; } .container-narrow { max-width: var(--container-narrow); margin: 0 auto; padding: 0 1.5rem; } main { min-height: calc(100vh - 200px); } /* Lists */ ul, ol { margin-left: 1.5rem; margin-bottom: 1rem; } li { margin-bottom: 0.5rem; } code { font-family: var(--font-mono); background: var(--surface); padding: 0.25rem 0.5rem; border-radius: 4px; font-size: 0.9em; } pre { margin-bottom: 1rem; overflow-x: auto; } pre code { padding: 0; background: none; border-radius: 0; } /* Focus styles for accessibility */ :focus { outline: 2px solid var(--accent); outline-offset: 2px; } button:focus, a:focus { outline: 2px dashed var(--accent); outline-offset: 4px; } /* Reduced motion support */ @media (prefers-reduced-motion: reduce) { * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; } }