/* ============================================================ Base — Reset + Typography ============================================================ */ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html { font-size: 14px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; } body { font-family: var(--font-body); color: var(--fg); background: var(--bg); line-height: 1.6; overflow: hidden; height: 100vh; } #root { height: 100vh; display: flex; } a { color: var(--cyan); text-decoration: none; transition: color var(--transition-fast); } a:hover { color: var(--accent); } h1, h2, h3, h4, h5, h6 { font-family: var(--font-display); color: var(--fg-bright); line-height: 1.25; letter-spacing: -0.01em; } h1 { font-size: 2rem; font-weight: 700; } h2 { font-size: 1.5rem; font-weight: 600; margin-bottom: var(--sp-4); } h3 { font-size: 1.2rem; font-weight: 600; margin-bottom: var(--sp-3); } h4 { font-size: 1.05rem; font-weight: 600; margin-bottom: var(--sp-2); } p { margin-bottom: var(--sp-4); } code { font-family: var(--font-mono); font-size: 0.9em; background: var(--surface-raised); padding: 2px 6px; border-radius: var(--radius-sm); color: var(--accent); } pre { font-family: var(--font-mono); font-size: 0.85rem; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); padding: var(--sp-4); overflow-x: auto; line-height: 1.5; margin-bottom: var(--sp-4); } ul, ol { padding-left: var(--sp-6); margin-bottom: var(--sp-4); } li { margin-bottom: var(--sp-1); } ::selection { background: var(--accent); color: var(--bg); } * { scrollbar-width: thin; scrollbar-color: var(--border-light) transparent; } ::-webkit-scrollbar { width: 6px; height: 6px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: var(--border-light); border-radius: var(--radius-pill); } ::-webkit-scrollbar-thumb:hover { background: var(--muted); }