body {
    box-sizing: border-box;
    margin: 0;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

img {
    max-width: 100%;
    height: auto;
}

header,
header nav {
    box-sizing: border-box;
    font-family: Roboto, Arial, sans-serif;
}
@media (min-width: 621px) {
    header nav a[title="Notes"]::after {
        content: " Notes";
    }
    header nav a[title="Projects"]::after {
        content: " Projects";
    }
}

h1 {
    font-family: Roboto, Arial, sans-serif;
    font-size: 1.5rem;
}

h2 {
    font-family: Roboto, Arial, sans-serif;
    font-size: 1.25rem;
}

header {
    align-items: center;
    background-color: rgba(255, 255, 255, 0.95);
    display: flex;
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 40;
}

header nav {
    display: flex;
    justify-content: space-between;
    max-width: 1024px;
    width: 100%;
}

header nav div {
    align-items: center;
    display: flex;
}

div.name {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2rem;
}

div.nav {
    font-size: 1rem;
    font-weight: 450;
    line-height: 1.5rem;
}

header > nav ul {
    display: flex;
    list-style-type: none;
    padding-inline-start: 10px;
}

header > nav li {
    height: 32px;
    line-height: 32px;
    margin-left: 8px;
}

header > nav li:first-child {
    margin-left: 0;
}

header > nav li a {
    display: flex;
    gap: 10px;
    line-height: 32px;
    vertical-align: middle;
}

header > nav icon-kaggle,
header > nav icon-scholar,
header > nav icon-x {
    border: 1px solid black;
}

header > nav img {
    height: 33px;
}

header > nav a:link,
header > nav a:visited,
header > nav a:hover,
header > nav a:active {
    color: inherit;
    text-decoration: none;
}

header > nav a:hover {
    background-color: Highlight;
    color: HighlightText;
}

div.content {
    backdrop-filter: blur(8px);
    display: flex;
    flex-direction: row;
    font-family: Garamond, Georgia, Merriweather, serif;
    font-size: 16px;
    /*height: 100vh;*/
    line-height: 1.5;
    margin: 0 auto;
    max-width: 100%;
}

div.main {
    flex: 1;
}

.date {
    color: #666;
    grid-column: 1;
    white-space: nowrap;
}

div.notes dl,
div.archives dl {
    column-gap: 1rem;
    display: grid;
    grid-template-columns: max-content 1fr;
    line-height: 2;
}

div.notes dt,
div.archives dt {
    display: contents;
    grid-column: 1 / -1;
}

div.notes dt .title,
div.archives dt .title {
    grid-column: 2 / -1;
}

div.notes dd,
div.archives dd {
    grid-column: 2 / -1;
    margin: 0;
    color: #666;
}

blockquote,
figcaption {
    margin: 1rem;
}

blockquote {
    border-left: 0.5rem solid #5d5d9b22;
    padding-left: 1rem;
}

figure.framed blockquote {
    border-left: none;
    padding-left: 0;
    margin-right: 0;
    margin-top: 0;
    padding: 4px;
}

.ctr {
    text-align: center;
}
p:has(img.ctr) {
    text-align: center;
}

.framed {
    border: 2px solid #333;
}

.rflow {
    float: right;
    margin-left: 2rem !important;
    vertical-align: top;
}

.lflow {
    float: left;
    margin-right: 2rem !important;
    vertical-align: top;
}

.rflow::after,
.lflow::after {
    clear: both;
}

.quote {
    min-width: 30%;
    width: 30%;
}

table.table-border {
    border: 3px solid #333;
    border-collapse: collapse;
    margin-left: 30px;
    margin-top: 10px;
    min-width: 30%;
}

.table-border thead {
    border: 3px solid #333;
}

.table-border thead th {
    text-align: left;
}

.table-border td,
.table-border th {
    border: 1px solid #333;
    border-collapse: collapse;
    padding: 4px;
}

pre[class*="language-"] {
    background-color: #333;
    border: 1px solid #333;
    font-size: 14px !important;
    margin: 0;
    overflow: auto;
    padding: 0.5em;
    width: 90%;
}

pre[data-lang]::before {
    background: #04b404;
    color: white;
    content: attr(data-lang);
    display: block;
    font-family: Gotham, 'Gotham Rounded A', 'Gotham Rounded B', sans-serif;
    font-style: normal;
    font-weight: 500;
    height: 1.2em;
    left: 0;
    line-height: 1.2em;
    margin: -1em -1em 1em -1em;
    padding: 0.5em 0;
    position: relative;
    text-indent: 15px;
    top: 0;
    width: auto;
}

pre.invalid[data-lang]::before {
    background: #b40404;
}

dl.projects dt {
    font-weight: bold;
}
dl.projects dd {
    margin-bottom: 1rem;
}
