:root { --color-text: #16181d; --color-muted: #5b6270; --color-bg: #ffffff; --color-surface: #f5f6f8; --color-border: #e2e5ea; --color-accent: #2f4bd8; --radius: 10px; --width: 68rem; --space: 1.25rem; } *, *::before, *::after { box-sizing: border-box; } body { margin: 0; color: var(--color-text); background: var(--color-bg); font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; font-size: 1.05rem; line-height: 1.65; } img { max-width: 100%; height: auto; } a { color: var(--color-accent); } h1, h2, h3 { line-height: 1.25; text-wrap: balance; } :focus-visible { outline: 3px solid var(--color-accent); outline-offset: 2px; } .container { width: 100%; max-width: var(--width); margin-inline: auto; padding-inline: var(--space); } .skip-link { position: absolute; left: -9999px; } .skip-link:focus { left: var(--space); top: var(--space); z-index: 10; padding: 0.5rem 0.75rem; background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius); } .muted { color: var(--color-muted); } .card-grid { display: grid; gap: 1.75rem; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); padding: 0; margin: 0; list-style: none; } .prose { max-width: 44rem; } .prose img { border-radius: var(--radius); } .prose pre { overflow-x: auto; padding: 1rem; background: var(--color-surface); border-radius: var(--radius); } .tag-list { display: flex; flex-wrap: wrap; gap: 0.5rem; padding: 0; margin: 2rem 0 0; list-style: none; } .tag-list a { display: inline-block; padding: 0.15rem 0.6rem; font-size: 0.9rem; background: var(--color-surface); border-radius: 999px; text-decoration: none; }