Base
Resets, fonts, and themes — applied once across the entire application.
Purpose
The base/ directory contains foundational styles loaded once:
resets, fonts, and theme variables. These are not reusable components —
they define the technical baseline everything else builds on.
_reset.sass
Normalizes browser defaults so you start from a consistent baseline. Keep it minimal — only reset what you actually override.
base/_reset.sass
*,
*::before,
*::after
box-sizing: border-box
margin: 0
padding: 0
html
-webkit-font-smoothing: antialiased
scroll-behavior: smooth
img, video, svg
display: block
max-width: 100%
input, button, textarea, select
font: inherit _fonts.sass
Declares @font-face rules, sets the base font-family
on body, and defines base typography scale.
base/_fonts.sass
@font-face
font-family: 'Inter'
src: url('/fonts/inter.woff2') format('woff2')
font-weight: 100 900
font-display: swap
body
font-family: 'Inter', -apple-system, sans-serif
font-size: 16px
line-height: 1.6 _themes.sass
Defines CSS custom properties for your design tokens. Using CSS variables here (rather than Sass variables) makes runtime theming possible without recompiling.
base/_themes.sass
:root
--color-bg: #0F172A
--color-card: #111827
--color-border: #1F2937
--color-text: #F8FAFC
--color-text-muted: #94A3B8
// Optional dark/light variants
[data-theme="light"]
--color-bg: #F8FAFC
--color-text: #0F172A