@font-face {
    font-family: "TheChelsLight";
    src: url("TheChelsLight.woff") format("woff")
}

@font-face {
    font-family: "TheChelsMedium";
    src: url("TheChelsMedium.woff") format("woff");
    font-weight: bold
}

:root {
        --background: #f7efe1;
        --primary: #2e1f14;
        --secondary: #8b2f2f;
        --links: #0f6a6c;
        --accent: #d17a00;
        --marker-start: #ffd9a88c;
        --marker-end: #ffd9a852;
        --code: #efe3d0;
        --tab: #dccab1;
        --alt-tab: #f9f3e8;
}


.font-stack {
    font-family: TheChelsLight, -system-ui, "Gill Sans", sans-serif
}

.font-mono {
    font-family: ui-monospace, monospace, "Courier New"
}

html {
    font-size: 100%;
    height: 100%;
    scroll-behavior: smooth;
}

body {
    font-family: TheChelsLight, -system-ui, "Gill Sans", sans-serif;
    color: var(--primary);
    background: var(--background);
    box-sizing: border-box;
    max-width: 48em;
    margin: 0 auto;
    padding: 1.5em;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.flow>*+* {
    margin-block-start: var(--flow-space, 1em)
}

.stack>*+* {
    margin-block-start: 1.5em
}


.blog-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5em;
    padding-bottom: 1em;
    border-bottom: 2px solid var(--accent)
}

.blog-identity {
    display: flex;
    align-items: stretch;
    gap: 0.5em
}

.blog-avatar {
    width: 2.5em;
    min-width: 2.5em;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
    border: 2px solid var(--accent)
}

.blog-text {
    display: flex;
    flex-direction: column;
    justify-content: center
}

.blog-title {
    font-size: 1.5em;
    font-family: TheChelsMedium, -system-ui, "Gill Sans", sans-serif;
    line-height: 1;
    outline: none
}

.blog-title a {
    text-decoration: none;
    color: var(--primary)
}

.blog-slogan {
    font-size: 0.9em;
    color: var(--secondary);
    margin-top: 0.2em
}


.highlight>pre {
    background: var(--code);
    color: var(--primary);
    padding: 0.525em;
    border-radius: 0.5em;
    margin: 0.525em;
    border: 1px solid #121212
}

.footer {
    border-top: 2px solid var(--accent);
    display: block;
    width: 100%;
}

.meta {
    color: var(--secondary);
    display: block;
    font-size: 0.8em;
    margin-top: 1.5em;
}


:is(h1, h2, h3, h4, h5, h6) {
    color: var(--primary);
    position: relative;
    display: block;
    font-family: TheChelsMedium, -system-ui, "Gill Sans", sans-serif
    ;text-wrap: balance;
}


:is(h1, h2, h3, h4, h5, h6) a {
    text-decoration: none;
    color: var(--primary)
}

:is(h1, h2, h3, h4, h5, h6) a:hover {
    text-decoration: none
}

:is(h1, h2, h3, h4, h5, h6) a:focus {
    text-decoration: none
}

ol li::marker {
    color: var(--primary)
}

ul li::marker {
    color: var(--accent)
}

ul li {
    margin-bottom: 0.5em
}

p {
    line-height: 1.4;
    overflow-wrap: anywhere;
    word-break: break-word;
}

strong,
b {
    font-family: TheChelsMedium;
    font-weight: bold
}

a {
    color: var(--links)
}

a:hover,
a:focus,
a:active {
    color: var(--accent);
    transition: color 4s ease-in-out;
    text-decoration: underline
}

.codeblock {
    font-family: ui-monospace, monospace, "Courier New";
    border: 0.125em solid var(--secondary);
    border-radius: 1em;
    font-size: 0.9em;
    padding: 0.625em
}

pre,
code {
    font-family: ui-monospace, monospace, "Courier New";
    font-size: 0.75em
}

pre>code {
    font-size: 0.9em
}

blockquote,
cite {
    padding: 0 1em;
    border-left: 0.25em solid var(--accent);
    width: 90%;
    margin-left: 0.625em
}

.footnote {
    font-size: 0.8em;
    color: var(--secondary)
}

.footnote sup {
    color: var(--primary);
    margin-right: 0.3125em
}

.posts {
    margin-left: 0;
    padding-left: 0;
    transition: all 0.1s
}

.floated {
    float: left;
    vertical-align: top;
    margin-right: 1.4em;
    margin-top: 0.8em
}

.clearfix::after {
    content: "";
    display: block;
    clear: both
}

.content {
    position: relative
}

img {
    display: block;
    max-width: 100%;
    width: 100%;
    height: auto;
    border: 1px solid var(--primary);
    box-sizing: border-box;
}

table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid var(--tab)
}

table th,
table td {
    padding: 0.5em;
    text-align: left;
    border: 1px solid var(--alt-tab)
}

table th {
    background-color: var(--accent);
    color: var(--primary)
}

table tr:nth-child(even) {
    background-color: var(--alt-tab)
}

table tr:hover {
    background-color: var(--code)
}

/** custom gruber star removal */
a[title*="Permanent"] {
    display: none;
}

.nnw-youtube-embed {
    margin: 0.9em 0 1.5em;
}

.nnw-youtube-frame {
    aspect-ratio: 16 / 9;
    width: 100%;
}

.nnw-youtube-iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 1px solid var(--accent);
    border-radius: 0.65em;
    background: #000000;
}

.nnw-youtube-actions {
    margin-top: 0.5em;
    font-size: 0.9em;
}