*,::after,::before{box-sizing:border-box}ol[class],ul[class]{padding:0}blockquote,body,dd,dl,figcaption,figure,h1,h2,h3,h4,li,ol[class],p,ul[class]{margin:0}body{min-height:100vh;scroll-behavior:smooth;text-rendering:optimizeSpeed;line-height:1.5}ol[class],ul[class]{list-style:none}a:not([class]){text-decoration-skip-ink:auto}img{max-width:100%;display:block}article>*+*{margin-top:1em}button,input,select,textarea{font:inherit}@media (prefers-reduced-motion:reduce){*{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}}

:root {
    --bg: #fafafa;
    --black: #000000;
    --white: #ffffff;
    --grey: #E8E7E6;
    --blue: #001edf;
}

html { 
    background-color: var(--bg); 
    color: var(--black);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans",
    "Droid Sans", "Helvetica Neue", sans-serif;
  	font-size: 16px;
  	font-weight: 400;
    height: 100%; 
    min-height: 100%; 
    text-underline-offset: 2px;
    width: 100%; 
}

body {
    line-height: 1.8;
    margin: 0;
    padding: 0;
}

.container { max-width: 48rem; padding: 4rem; }

a { color: var(--black); font-weight: 600; }
a:hover { color: var(--blue); text-decoration: none; }
.button { background-color: var(--black); border: none; color: var(--white); cursor: pointer; display: inline-block; margin: 0; outline: none; padding: 8px 24px; text-decoration: none; }
.button:hover { background-color: var(--blue); color: var(--white); text-decoration: none; }
.active { color: var(--blue); text-decoration: line-through; }

h1, h2, h3, h4, h5, h6 { font-size: 1rem; font-weight: 800; margin: 0 0 1.2rem 0; text-transform: uppercase; }
h1::after, .post-title::after { border-bottom: 1px solid var(--black); content: ''; display: block; margin: 1rem 0; max-width: 4rem; }

p { margin: 0 0 1.2rem 0; }
p:last-child { margin-bottom: 0; }

strong { font-weight: 600; }
hr { border: 0; border-top: 1px solid var(--grey); display: block; height: 1px; margin: 2rem 0; }
ul, ol { list-style-position: outside; margin: 1.2rem 0; }
li { line-height: 1.4; margin: 0 0 0.8rem 0; }
blockquote { border-left: 1px solid var(--black); margin: 1.2rem 0; padding: 0 1rem; }
code { font-family: monospace; font-weight: 500; }
pre { background-color: var(--white); border: 1px solid var(--black); color: var(--blue); font-size: 0.8rem; margin: 2rem 0; overflow: scroll; padding: 1rem; }
pre code { color: var(--black); }
table { background-color: var(--white); line-height: 1.2; margin: 2rem 0; width: 100%; }
table, tr, td, th { border: 1px solid var(--black); border-collapse: collapse; }
th, td { padding: 0.8rem 1rem; text-align: left; }
th { background-color: var(--grey); color: var(--black); }
iframe { margin: 1.2rem 0; }
kbd { background-color: var(--white); border: 1px solid var(--grey); border-radius: 4px; color: var(--black); font-family: monospace; line-height: 0; text-transform: uppercase; padding: 2px 6px; }

.site-header { border-bottom: 1px solid var(--grey); }
.site-header .site-title { color: var(--black); font-weight: 600; text-decoration: none; text-transform: uppercase; }
.site-footer { border-top: 1px solid var(--grey); }
.site-title { font-weight: 800 !important; letter-spacing: 4px; }
.logo { width: 100px; }

article { margin: 0 0 8rem 0; }
.meta { display: block; margin-bottom: 2rem; }
.meta::before { content: '@ '; }
img { margin: 2rem 0; }
.page_number { display: block; margin: 1rem 0; }
.post-title a { text-decoration: none; }
.post-title a:hover { text-decoration: underline; }
.external-link { color: var(--blue); font-weight: 600; }
.post-category { color: var(--blue); font-weight: 600; }
.permalink { margin-bottom: 2rem; }

/* Resources */
.resources-section { display: grid; grid-template-columns: 1fr 1fr; grid-gap: 1rem; margin-bottom: 1.2rem; }
.resource { background-color: var(--white); border: 1px solid var(--black); font-size: 0.8rem; padding: 2rem; }
.resource h3 { font-size: 1rem; margin-bottom: 0.2rem; }
.resource .book-auth { font-style: italic; }
.resource p { line-height: 1.4; }

/* RSS */
.rss { background-color: var(--blue); color: var(--white); margin: 0 0 4rem 0; padding: 2rem; }
.rss a { color: var(--white); }
.rss .button { background-color: var(--black); color: var(--white); }
.rss .button:hover { background-color: var(--white); color: var(--black); }

/* Mobile Stuff */
@media screen and (max-width: 36rem) {
    html { font-size: 14px; }
    .container { padding: 2rem; }
    ul, ol { list-style-position: outside; margin: 1rem; }
    th, td { display: block; text-align: center !important; }
    .resources-section { display: block; }
    .resource { margin-bottom: 1.2rem; }
}