html, body { margin: 0; padding: 0; width: 100%; height: 100%; } html { box-sizing: border-box; } *, *::after, *::before { box-sizing: border-box; } a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, del, details, dfn, div, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video { margin: 0; padding: 0; vertical-align: baseline; } body { background: var(--background); color: var(--foreground); font-size: var(--fontSize); font-family: var(--fontFamily); line-height: 1.8rem; word-wrap: break-word; } // Text formatting p { margin: 1.2rem auto; } a { color: currentColor; } kbd { padding: 0.2rem; border: var(--primaryBorder) var(--foreground); } mark { background: var(--accent-light); color: var(--background-dark); } pre { --border: var(--primaryBorder) var(--accent); background: var(--background-light); border: var(--border); padding: 1rem; overflow: auto; code { background: unset; color: unset; font-size: inherit; } } code { background: var(--accent-dark); color: var(--accent); padding: 0.25rem; font-size: 0.95rem; } h1, h2, h3, h4, h5, h6 { margin-bottom: 1rem; } h1 { font-size: 2.15rem; margin-top: 4rem; } h2 { font-size: 1.6rem; margin-top: 3.5rem; } h3 { font-size: 1.5rem; margin-top: 3rem; } h4, h5, h6 { margin-top: 2.5rem; } h4 { font-size: 1.4rem; } h5 { font-size: 1.25rem; } h6 { font-size: 1.1rem; } blockquote { --border: var(--primaryBorder) var(--accent); margin: 2rem 0; border: var(--border); padding: 1rem; } ol, ul { margin: 2.2rem; padding: 0; } ul { list-style: none; & > li { margin-bottom: 1rem; &::before { content: "\25BA"; color: var(--accent); position: absolute; margin-left: -1.5em; } } & ul, & ol { margin: 1rem; margin-left: 1.2rem; } } ol { li { margin-bottom: 1rem; } & ul, & ol { margin: 1rem; margin: 1.2rem; } } // Table table { border-collapse: collapse; margin: 2rem 0; overflow: auto; table-layout: fixed; width: 100%; } table, td, th { border: var(--secondaryBorder) var(--accent); padding: 1.2rem; } // Document structure nav { & > * { margin: 1rem; } } main { & > * { margin-bottom: 1rem; &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } } & h1 { padding-bottom: 0.25rem; border-bottom: var(--primaryBorder) var(--accent); } & h1:first-child { margin-top: 0; } & h2 { padding-bottom: 0.25rem; border-bottom: var(--primaryBorder) var(--foreground); } } // Multimedia iframe { width: 100%; height: auto; } img { width: 100%; height: auto; } video { width: 100%; height: auto; } audio { width: 100%; height: auto; } svg { fill: currentColor; } // Form control button { background: var(--background); border: var(--primaryBorder) currentColor; color: var(--accent); font-family: var(--fontFamily); font-size: 1.1rem; padding: 0.75rem; &:hover { background: var(--foreground); color: var(--background); cursor: pointer; } } input { font-size: var(--fontSize); width: 100%; padding: 0.5rem; &:focus { outline-width: 0.5rem; outline-color: var(--accent); } }