#article-main { margin: auto; padding: 1rem 0; line-height: 175%; > header { margin: auto; text-align: center; color: #6c7a89; h1 { font-size: 2.5rem; color: #fff; line-height: 125%; padding: 0 1em; small { display: block; font-size: 1.5rem; } } small { font-size: 1rem; } } > #article-body { margin-top: 2rem; } > #article-body, .markdown-body { display: flex; flex-direction: column; gap: 1.5rem; .drop { font-size: 1rem; max-width: var(--design-width); width: 100%; margin: 0 auto; color: #6c7a89; background: #01010c radial-gradient(at bottom center, #00101f, #000614, #01010c) no-repeat; box-shadow: 0 1px 1rem #000; border-radius: .5rem; border: solid 2px #00101f; padding: 0 1rem; summary ~ * { left: 0; right: 0; } &.down { summary ~ * { top: 3em; } } &.up { summary ~ * { bottom: 3em; } } nav { padding: .5rem; ul, ol { padding-left: 2rem; line-height: 150%; margin: 0; a { padding: .2rem 0; background: none; } li + li { margin-top: 0; } } } } .table-of-contents { margin: 2rem auto; line-height: 150%; max-width: var(--design-width); width: 100%; font-size: .8em; ol { padding-left: 1rem; } li + li { margin: 0; } } > h2, > h3, > h4, > h5, > h6 { max-width: var(--design-width); width: 100%; margin: 1rem auto; text-align: left; gap: .5rem; padding-bottom: .2rem; position: relative; .heading-permalink { position: absolute; top: 0; right: 0; font-size: .75rem; } } > h2 { font-size: 2.25rem; color: #ff6347; border-bottom: solid 1px #ff6347; } > h3 { font-size: 2rem; color: #ff8c00; border-bottom: solid 1px #ff8c00; } > h4 { font-size: 1.75rem; color: #ffa500; border-bottom: dotted 1px #ffa500; } > h5 { font-size: 1.5rem; color: #ffd700; } > h6 { font-size: 1.25rem; color: #ffff00; } hr { max-width: var(--design-width); width: 100%; border: none; height: 1px; background: linear-gradient(to right, #030712 0%, #030712 20%, #1a1f33 50%, #030712 80%, #030712 100%); margin: 1em auto; } ol, ul { max-width: var(--body-width); width: 100%; margin: auto; li { text-align: justify; } li + li { margin-top: .5em; } } > p { text-align: justify; max-width: var(--body-width); width: 100%; margin: auto; } pre.shiki { font-size: .8em; line-height: 175%; overflow: auto; border: solid 2px #112; border-radius: .5rem; max-width: var(--design-width); width: 100%; max-height: 80vh; margin: 1em auto; background: rgb(13, 13, 23) !important; > code { font-family: 'TypoPRO Fantasque Sans Mono'; counter-reset: step; counter-increment: step 0; .line::before { user-select: none; content: counter(step); counter-increment: step; width: 3rem; margin-right: 1rem; display: inline-block; text-align: right; color: #6c7a89; padding-left: .5rem; padding-right: .5rem; background-color: #112; } } } :not(pre.shiki):not(h2):not(h3):not(h4):not(h5):not(h6) { code { font-family: 'TypoPRO Fantasque Sans Mono'; background-color: #000; color: #aaa; font-size: .8em; border: solid 1px #223; padding: .2rem; border-radius: .25rem; } } strong { color: #fff; font-weight: 900; } sup { line-height: 100%; margin-left: .2rem; } } > footer { font-size: 1rem; color: #6c7a89; background: #01010c radial-gradient(at bottom center, #00101f, #000614, #01010c) no-repeat; box-shadow: 0 1px 1rem #000; border-radius: .5rem; border: solid 2px #00101f; padding: .5rem 1rem; margin: 1rem auto; max-width: var(--design-width); text-align: center; line-height: 175%; aside + aside { padding-top: 1rem; } details { summary { text-align: left; cursor: pointer; display: block; } } h3 { color: #fff; } .two-columns { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem 1rem; h4 { text-align: right; } div { text-align: left; } } } } blockquote { border-left: 4px solid #60a5fa; padding: 0.5rem 1rem; margin: 1rem auto; color: #e4f1fe; background-color: #021127; text-align: justify; max-width: var(--design-width); width: 100%; border-radius: .5rem; p + p { padding-top: 1rem; } }