diff options
Diffstat (limited to 'assets/css/main.css')
| -rw-r--r-- | assets/css/main.css | 138 |
1 files changed, 130 insertions, 8 deletions
diff --git a/assets/css/main.css b/assets/css/main.css index 6c0b660..dedab3d 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -1,15 +1,137 @@ -@import "components/header.css"; -@import "components/footer.css"; +@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'; + +/* Base Styles */ +html { + font-size: 17px; + scroll-behavior: smooth; +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} body { - color: #222; - font-family: sans-serif; - line-height: 1.5; - margin: 1rem; - max-width: 768px; + 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: #00e; + 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; + } } |
