@layer reset { /* Theme Defaults */ :root { --font-headings: ui-serif, serif; --font-body: ui-sans-serif, sans-serif; --font-code: ui-monospace, monospace; --text-size: 1.4rem; --text-line-height: 1.65; --spacing: 2rem; --transition-duration: 250ms; --site-width: 700px; --content-width: 420px; --headings-width: 480px; --color-background: #F5EDD8; --color-text: #3B2A1A; --color-link: #2D5438; --color-link-hover: #1E3826; --color-support: #D9634E; --color-shadows: color-mix(in srgb, var(--color-text), transparent 85%); --color-shadows-hover: color-mix(in srgb, var(--color-text), transparent 75%); --color-border: color-mix(in srgb, currentcolor, transparent 50%); } @media (prefers-color-scheme: dark) { :root { --color-background: #3B2A1A; --color-text: #F5EDD8; --color-link: #E8A054; --color-link-hover: #F5C880; --color-support: #D9634E; } } html { box-sizing: border-box; color-scheme: light dark; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: 100%; -webkit-font-feature-settings: "kern" 1; -moz-font-feature-settings: "kern" 1; -o-font-feature-settings: "kern" 1; font-feature-settings: "kern" 1; text-size-adjust: none; hanging-punctuation: first allow-end last; } *, *::before, *::after { box-sizing: inherit; } body, h1, h2, h3, h4, h5, h6, p, blockquote, pre, hr, dl, dd, ol, ul, figure, picture, audio, video, table, iframe { margin: 0; padding: 0; } img, video, audio, figure, picture, table { max-width: 100%; } iframe { display: block; } h1, h2, h3, h4, h5, h6 { text-wrap: balance; } p { text-wrap: pretty; } ul, ol { list-style-position: outside; padding-inline-start: 1lh; } @media (prefers-reduced-motion) { :root { --transition-duration: 0 !important; } } @media (prefers-reduced-motion: no-preference) { html { interpolate-size: allow-keywords; } } input, button, textarea, select { font-family: inherit; font-size: inherit; } :target { scroll-margin-block: 5ex; } } html { font: 62.5%/100% var(--font-body); } body { padding-inline: 5vw; background-color: var(--color-background); color: var(--color-text); font-size: var(--text-size); line-height: 1.5; } .site { display: flex; flex-flow: column nowrap; max-width: var(--site-width); margin-block: calc(var(--spacing) * 2); margin-inline: auto; } /* Site Header */ .site-header { display: flex; flex-flow: row wrap; align-items: center; gap: var(--spacing); margin-bottom: calc(var(--spacing) * 2); .site-branding { display: inline-flex; flex-flow: row nowrap; align-items: center; gap: calc(var(--spacing) / 2); line-height: 100%; } .site-logo { max-height: 2.5rem; width: auto; border-radius: 100%; box-shadow: none; } .site-name { font-family: var(--font-headings); font-weight: bolder; font-style: italic; } .site-title { display: block; font-size: 2.5rem; line-height: 1; } } .site-menu { display: inline-flex; flex-flow: row wrap; justify-items: flex-end; gap: var(--spacing); margin-left: auto; } .site-menu .menu-item { flex-shrink: 0; } /* Content */ /* Categories */ .category { display: inline-flex; padding-inline: 8px; border-radius: 3px; box-shadow: 0.5rem 0.2rem 0 var(--color-shadows); color: var(--color-text) !important; font-size: var(--text-size); line-height: 1.85; text-decoration: none !important; transition: box-shadow var(--transition-duration) ease; } @media (prefers-color-scheme: dark) { .category { color: var(--color-background) !important; } } .category:hover, .category:focus { box-shadow: 0.4rem 0.2rem 0 var(--color-shadows-hover); } .category:active { box-shadow: 0.1rem 0.1rem 0 var(--color-shadows-hover); } .blog-categories { margin-bottom: calc(var(--spacing) * 2); } /* Archives */ .archive-title { margin-bottom: calc(var(--spacing) * 2); font-family: var(--font-headings); } .blog-pagination { display: flex; flex-flow: row nowrap; max-width: var(--content-width); margin-left: auto; } /* Post */ .post { margin-bottom: calc(var(--spacing) * 4); } /* Header */ .post-header { vertical-align: baseline; margin-bottom: var(--spacing); } .post-header .post-permalink { display: inline; margin-right: calc(var(--spacing) / 4); font-family: var(--font-headings); color: color-mix(in srgb, var(--color-link), transparent 50%); font-size: 2rem; } .post-header .post-permalink:hover, .post-header .post-permalink:focus { color: color-mix(in srgb, var(--color-link-hover), transparent 50%); } .post-title { display: inline; margin-block: 0; font-family: var(--font-headings); font-size: 2rem; } .post-header .category { margin-left: calc(var(--spacing) / 4); } /* Content */ .post-content > * { width: 100%; max-width: var(--content-width); margin-left: auto; margin-bottom: var(--spacing); } .post-content > h1, .post-content > h2, .post-content > h3, .post-content > h4, .post-content > h5, .post-content > h6 { max-width: var(--headings-width); } .post-content a { text-decoration-color: var(--color-border); } /* Post Footer */ .post-footer { max-width: var(--content-width); margin-left: auto; margin-top: calc(var(--spacing) * 2); font-size: 1.2rem; &::before { content: " "; display: block; height: 1px; width: 3lh; background-color: var(--color-border); margin-bottom: var(--spacing); } } .post-tags { display: flex; flex-flow: row wrap; justify-content: flex-start; padding-inline-start: 0; gap: 1lh; } .post-tags .tag-item { list-style: none; padding: .2rem .5rem; border-radius: .2rem; background-color: var(--color-shadows); &::before { content: "#"; color: var(--color-shadows-hover); } a { color: var(--color-text); } } /* Site Footer */ .site-footer { margin-top: calc(var(--spacing) * 4); width: 100%; max-width: 420px; margin-left: auto; } .footer-menu { display: flex; flex-flow: column nowrap; align-items: flex-start; gap: calc(var(--spacing) / 2); margin-top: var(--spacing); }