*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } :root { --bg: #fff; --text: #333; --muted: #666; --link: #888; --link-hover: #000; --border: #eee; --font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; } [data-theme="dark"] { --bg: #1a1a1a; --text: #e0e0e0; --muted: #999; --link-hover: #fff; --border: #333; } html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } body { font: 18px/1.4 var(--font); color: var(--text); background: var(--bg); } h1, h2, h3 { margin-bottom: 2rem; } .container { max-width: 900px; margin: 0 auto; padding: 0 2rem; } p { margin-bottom: 1rem; } a { color: var(--link); text-decoration: none; } a:hover { color: var(--link-hover); } hr { border: none; border-top: 1px solid var(--border); margin: 2rem 0; } small, time { font-size: 15px; color: var(--muted); } /* Layout */ .wrapper-masthead { margin: 0 2rem 3rem; } .masthead { padding: 1.25rem 0; border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; align-items: center; } .site-info { display: flex; flex-direction: column; margin-left: 2rem; } .site-info h1 { margin: 0; font-size: 1.75rem; font-weight: 300; letter-spacing: 1px; } .site-description { margin: -0.25rem 0 0 0; color: var(--muted); font-size: 1rem; } header nav { display: flex; align-items: center; gap: 1.25rem; } footer { margin-top: 4rem; text-align: center; } article { margin-bottom: 2rem; } .theme-toggle { background: transparent; border: none; padding: 0.5rem; cursor: pointer; color: var(--muted); display: flex; align-items: center; justify-content: center; } .theme-toggle:hover { color: var(--link-hover); } .giscus-container { margin-top: 3rem; } @media (max-width: 640px) { .masthead { flex-direction: column; text-align: center; gap: 1rem; } header nav { gap: 0.75rem; } }