/* ==========================================================================
   Academic Theme - Based on AcademicPages/Minimal Mistakes (MIT Licensed)
   https://github.com/academicpages/academicpages.github.io
   Air Theme with Light/Dark Mode
   ========================================================================== */

/* ==========================================================================
   THEME VARIABLES - AIR THEME
   ========================================================================== */

:root {
    /* Typography */
    --sans-serif: -apple-system, ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", Arial, sans-serif;
    --serif: Georgia, Times, serif;
    --monospace: Monaco, Consolas, "Lucida Console", monospace;

    /* Type sizes */
    --type-size-1: 2.488em;
    --type-size-2: 1.953em;
    --type-size-3: 1.563em;
    --type-size-4: 1.25em;
    --type-size-5: 1em;
    --type-size-6: 0.8em;
    --type-size-7: 0.7em;
    --type-size-8: 0.64em;

    /* Layout */
    --border-radius: 4px;
    --box-shadow: 0 1px 1px rgba(0, 0, 0, 0.125);
    --transition: all 0.2s ease-in-out;
    --masthead-height: 70px;

    /* Spacing scale (based on 8px grid) */
    --space-xs: 0.5rem;      /* 8px */
    --space-sm: 0.75rem;     /* 12px */
    --space-md: 1rem;        /* 16px */
    --space-lg: 1.5rem;      /* 24px */
    --space-xl: 2rem;        /* 32px */
    --space-2xl: 3rem;       /* 48px */
    --space-3xl: 4rem;       /* 64px */

    /* Air Light Theme Colors (default) */
    --primary-color: #2c5f8d;
    --accent-color: #8b6914;
    --gray: #6c757d;
    --dark-gray: #dee2e6;
    --darker-gray: #e9ecef;
    --light-gray: #495057;

    --background: #f8f9fa;
    --background-light: #ffffff;
    --background-lighter: #f1f3f5;
    --text: #212529;
    --link: #2c5f8d;
    --link-dark: #1e3f5a;
    --link-light: #4a7ba7;

    /* Global theme variables - Light */
    --global-base-color: #2c5f8d;
    --global-bg-color: #f8f9fa;
    --global-footer-bg-color: #2c5f8d;
    --global-border-color: #dee2e6;
    --global-dark-border-color: #e9ecef;
    --global-code-background-color: #f1f3f5;
    --global-code-text-color: #1e3f5a;
    --global-fig-caption-color: #6c757d;
    --global-link-color: #2c5f8d;
    --global-link-color-hover: #1e3f5a;
    --global-link-color-visited: #4a7ba7;
    --global-masthead-link-color: #212529;
    --global-masthead-link-color-hover: #2c5f8d;
    --global-text-color: #212529;
    --global-text-color-light: #495057;
    --global-thead-color: #f8f9fa;
    --global-toc-bg-color: #f8f9fa;
}

/* Air Dark Theme Colors */
html[data-theme="dark"] {
    --primary-color: #5c9fd6;
    --accent-color: #d4a574;
    --gray: #8e9296;
    --dark-gray: #383c42;
    --darker-gray: #2e3238;
    --light-gray: #9ca3af;

    --background: #1a1d23;
    --background-light: #282c34;
    --background-lighter: #383c42;
    --text: #e8eaed;
    --link: #7cb3e0;
    --link-dark: #5c9fd6;
    --link-light: #a5c9e8;

    /* Global theme variables - Dark */
    --global-base-color: #5c9fd6;
    --global-bg-color: #1a1d23;
    --global-footer-bg-color: #141619;
    --global-border-color: #383c42;
    --global-dark-border-color: #282c34;
    --global-code-background-color: #282c34;
    --global-code-text-color: #a5c9e8;
    --global-fig-caption-color: #9ca3af;
    --global-link-color: #7cb3e0;
    --global-link-color-hover: #5c9fd6;
    --global-link-color-visited: #a5c9e8;
    --global-masthead-link-color: #e8eaed;
    --global-masthead-link-color-hover: #5c9fd6;
    --global-text-color: #e8eaed;
    --global-text-color-light: #9ca3af;
    --global-thead-color: #383c42;
    --global-toc-bg-color: #1a1d23;
}

/* Auto dark mode based on system preference */
@media (prefers-color-scheme: dark) {
    html:not([data-theme="light"]) {
        --primary-color: #5c9fd6;
        --accent-color: #d4a574;
        --gray: #8e9296;
        --dark-gray: #383c42;
        --darker-gray: #2e3238;
        --light-gray: #9ca3af;

        --background: #1a1d23;
        --background-light: #282c34;
        --background-lighter: #383c42;
        --text: #e8eaed;
        --link: #7cb3e0;
        --link-dark: #5c9fd6;
        --link-light: #a5c9e8;

        --global-base-color: #5c9fd6;
        --global-bg-color: #1a1d23;
        --global-footer-bg-color: #141619;
        --global-border-color: #383c42;
        --global-dark-border-color: #282c34;
        --global-code-background-color: #282c34;
        --global-code-text-color: #a5c9e8;
        --global-fig-caption-color: #9ca3af;
        --global-link-color: #7cb3e0;
        --global-link-color-hover: #5c9fd6;
        --global-link-color-visited: #a5c9e8;
        --global-masthead-link-color: #e8eaed;
        --global-masthead-link-color-hover: #5c9fd6;
        --global-text-color: #e8eaed;
        --global-text-color-light: #9ca3af;
        --global-thead-color: #383c42;
        --global-toc-bg-color: #1a1d23;
    }
}

/* Theme toggle button */
.theme-toggle {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.5em;
    color: var(--global-masthead-link-color);
    font-size: 1.2em;
    transition: var(--transition);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    width: 40px;
    height: 40px;
}

.theme-toggle:hover {
    color: var(--global-masthead-link-color-hover);
    background: var(--background-lighter);
}

.theme-toggle .fa-sun {
    display: none;
}

.theme-toggle .fa-moon {
    display: inline;
}

html[data-theme="dark"] .theme-toggle .fa-sun {
    display: inline;
}

html[data-theme="dark"] .theme-toggle .fa-moon {
    display: none;
}

@media (prefers-color-scheme: dark) {
    html:not([data-theme="light"]) .theme-toggle .fa-sun {
        display: inline;
    }
    html:not([data-theme="light"]) .theme-toggle .fa-moon {
        display: none;
    }
}

/* ==========================================================================
   STYLE RESETS (from _reset.scss)
   ========================================================================== */

html {
    box-sizing: border-box;
    background-color: var(--global-bg-color);
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

@media (min-width: 768px) {
    html {
        font-size: 18px;
    }
}

*, *:before, *:after {
    box-sizing: inherit;
}

body {
    margin: 0;
}

::-moz-selection {
    color: #fff;
    background: #000;
}

::selection {
    color: #fff;
    background: #000;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section {
    display: block;
}

audio, canvas, video {
    display: inline-block;
}

audio:not([controls]) {
    display: none;
}

a {
    color: var(--global-link-color);
}

a:hover, a:active {
    outline: 0;
}

sub, sup {
    position: relative;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

img {
    max-width: 100%;
    width: auto\9;
    height: auto;
    vertical-align: middle;
    border: 0;
    -ms-interpolation-mode: bicubic;
}

button, input, select, textarea {
    margin: 0;
    font-size: 100%;
    vertical-align: middle;
}

button, input {
    line-height: normal;
}

button::-moz-focus-inner, input::-moz-focus-inner {
    padding: 0;
    border: 0;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}

label, select, button,
input[type="button"],
input[type="reset"],
input[type="submit"],
input[type="radio"],
input[type="checkbox"] {
    cursor: pointer;
}

input[type="search"] {
    box-sizing: content-box;
    -webkit-appearance: textfield;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
}

textarea {
    overflow: auto;
    vertical-align: top;
}

/* ==========================================================================
   BASE ELEMENTS (from _base.scss)
   ========================================================================== */

html {
    position: relative;
    min-height: 100%;
}

body {
    color: var(--global-text-color);
    background-color: var(--global-bg-color);
    margin: 0;
    padding: var(--masthead-height) 0 0;
    padding-bottom: 9em;
    font-family: var(--sans-serif);
    line-height: 1.6;
}

body.overflow--hidden {
    overflow: hidden;
}

h1, h2, h3, h4, h5, h6 {
    margin: 2em 0 0.75em;
    line-height: 1.3;
    font-family: var(--sans-serif);
    font-weight: 700;
    letter-spacing: -0.02em;
}

h1 {
    margin-top: 0;
    font-size: var(--type-size-3);
    letter-spacing: -0.03em;
    font-weight: 800;
}

h2 {
    font-size: var(--type-size-4);
    font-weight: 700;
}

h3 {
    font-size: var(--type-size-5);
    font-weight: 600;
}

h4, h5, h6 {
    font-size: var(--type-size-6);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

small, .small {
    font-size: var(--type-size-6);
}

p {
    margin-bottom: 1.5em;
    line-height: 1.7;
}

.page__content p,
.post-content p {
    max-width: 70ch;
    hyphens: auto;
}

u, ins {
    text-decoration: none;
    border-bottom: 1px solid var(--global-text-color);
}

u a, ins a {
    color: inherit;
}

del a {
    color: inherit;
}

p, pre, blockquote, ul, ol, dl, figure, table, fieldset {
    orphans: 3;
    widows: 3;
}

abbr[title], abbr[data-original-title] {
    text-decoration: none;
    cursor: help;
    border-bottom: 1px dotted var(--global-text-color);
}

blockquote {
    margin: var(--space-xl) 0;
    padding: var(--space-lg) var(--space-xl);
    font-style: italic;
    font-family: var(--serif);
    font-size: 1.05em;
    line-height: 1.7;
    border-left: 4px solid var(--accent-color);
    background: var(--background-lighter);
    color: var(--light-gray);
}

blockquote p:last-child {
    margin-bottom: 0;
}

blockquote cite {
    font-style: normal;
    font-family: var(--sans-serif);
    font-size: 0.9em;
    color: var(--gray);
    display: block;
    margin-top: var(--space-md);
}

blockquote cite:before {
    content: "\2014";
    padding-right: 5px;
}

tt, code, kbd, samp, pre {
    font-family: var(--monospace);
}

pre {
    background: var(--global-code-background-color);
    border: 1px solid var(--global-border-color);
    border-left: 3px solid var(--primary-color);
    border-radius: 4px;
    padding: 1.25em 1.5em;
    margin: 2em 0;
    overflow-x: auto;
    line-height: 1.5;
    font-size: 0.9em;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

pre > code {
    background: transparent;
    border: none;
    padding: 0;
    font-size: inherit;
}

a > code, figcaption > code, li > code, p > code, td > code {
    color: var(--global-code-text-color);
    padding: 0.2em 0.4em;
    font-size: 0.875em;
    background: var(--global-code-background-color);
    border: 1px solid var(--global-border-color);
    border-radius: 3px;
    font-family: var(--monospace);
    font-weight: 500;
}

a > code:before, a > code:after,
figcaption > code:before, figcaption > code:after,
li > code:before, li > code:after,
p > code:before, p > code:after,
td > code:before, td > code:after {
    letter-spacing: -0.2em;
    content: "\00a0";
}

a > code {
    color: inherit;
}

pre > code {
    color: var(--global-code-text-color);
}

hr {
    display: block;
    margin: 1em 0;
    border: 0;
    border-top: 1px solid var(--global-border-color);
}

ul li, ol li {
    margin-bottom: 0.5em;
}

li ul, li ol {
    margin-top: 0.5em;
}

/* Figures */
figure {
    display: block;
    margin: var(--space-2xl) 0;
    padding: var(--space-lg);
    background: var(--background-light);
    border: 1px solid var(--global-dark-border-color);
    border-radius: 4px;
}

figure img, figure iframe, figure .fluid-width-video-wrapper {
    margin-bottom: var(--space-md);
}

figure img {
    width: 100%;
    border-radius: 2px;
    transition: var(--transition);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

figure > a {
    display: block;
}

figcaption {
    margin-top: var(--space-md);
    margin-bottom: 0;
    color: var(--global-fig-caption-color);
    font-family: var(--sans-serif);
    font-size: var(--type-size-7);
    line-height: 1.5;
    text-align: center;
    font-style: italic;
}

figure[data-number]::before {
    content: "Figure " attr(data-number) ". ";
    font-weight: 700;
    font-style: normal;
}

figcaption a {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid var(--global-border-color);
    transition: var(--transition);
}

figcaption a:hover {
    color: var(--primary-color);
    border-bottom-color: var(--primary-color);
}

/* Tables */
table {
    width: 100%;
    margin: var(--space-xl) 0;
    border-collapse: collapse;
    font-size: 0.9em;
    line-height: 1.5;
    background: var(--background-light);
}

thead {
    background: var(--global-thead-color);
    border-bottom: 2px solid var(--global-border-color);
}

th {
    padding: var(--space-md) var(--space-sm);
    text-align: left;
    font-weight: 700;
    color: var(--global-text-color);
    font-size: 0.85em;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

td {
    padding: var(--space-md) var(--space-sm);
    border-bottom: 1px solid var(--global-dark-border-color);
}

tr:hover {
    background: var(--background-lighter);
}

caption {
    margin-bottom: var(--space-sm);
    font-size: var(--type-size-7);
    font-style: italic;
    color: var(--gray);
    text-align: left;
    font-weight: 700;
}

caption::before {
    content: "Table. ";
}

/* Footnotes and References */
sup a[href^="#fn-"],
.footnote-ref {
    color: var(--primary-color);
    font-weight: 700;
    text-decoration: none;
    padding: 0 0.2em;
}

sup a[href^="#fn-"]:hover {
    text-decoration: underline;
}

.footnotes {
    margin-top: var(--space-3xl);
    padding-top: var(--space-xl);
    border-top: 2px solid var(--global-border-color);
    font-size: 0.9em;
}

.footnotes::before {
    content: "References";
    display: block;
    font-size: var(--type-size-4);
    font-weight: 700;
    margin-bottom: var(--space-lg);
}

.footnotes ol {
    padding-left: var(--space-lg);
}

.footnotes li {
    margin-bottom: var(--space-md);
    line-height: 1.6;
}

.footnote-backref {
    margin-left: var(--space-xs);
    text-decoration: none;
    color: var(--gray);
}

svg:not(:root) {
    overflow: hidden;
}

/* Navigation lists */
nav ul {
    margin: 0;
    padding: 0;
}

nav li {
    list-style: none;
}

nav a {
    text-decoration: none;
}

nav ul li, nav ol li {
    margin-bottom: 0;
}

nav li ul, nav li ol {
    margin-top: 0;
}

/* Animations */
@keyframes intro {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

b, i, strong, em, blockquote, p, q, span, figure, img, h1, h2, header, input, a, tr, td, form button, input[type="submit"], .btn {
    transition: var(--transition);
}

/* ==========================================================================
   MASTHEAD / TOP NAVIGATION (from _masthead.scss)
   ========================================================================== */

.masthead {
    position: fixed;
    background: var(--background-light);
    height: fit-content;
    top: 0;
    width: 100%;
    z-index: 20;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    backdrop-filter: blur(10px);
}

.masthead::after {
    content: "";
    position: absolute;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg,
        transparent 0%,
        var(--global-border-color) 20%,
        var(--global-border-color) 80%,
        transparent 100%
    );
    width: 100%;
}

.masthead__inner-wrap {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0.5em 2em;
    font-family: var(--sans-serif);
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 2em;
    align-items: center;
}

.masthead__inner-wrap nav {
    z-index: 10;
}

.masthead__inner-wrap a {
    text-decoration: none;
}

.site-title {
    font-size: 1.4em;
    font-weight: 800;
    margin: 0;
    text-align: center;
    letter-spacing: -0.02em;
}

.site-title a {
    color: var(--global-text-color);
    transition: var(--transition);
}

.site-title a:hover {
    color: var(--primary-color);
}

.masthead__menu {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 1em;
}

.masthead__menu ul {
    margin: 0;
    padding: 0;
    clear: both;
    list-style-type: none;
    display: flex;
    gap: 2em;
    justify-content: flex-start;
}

.masthead__menu-item {
    background-color: var(--global-bg-color);
    display: block;
    list-style-type: none;
    white-space: nowrap;
}

.masthead__menu-item a {
    color: var(--light-gray);
    font-size: 1em;
    font-weight: 500;
    transition: var(--transition);
    padding: 0.4em 0;
    border-bottom: 2px solid transparent;
}

.masthead__menu-item a:hover {
    color: var(--primary-color);
    border-bottom-color: var(--primary-color);
}

.masthead__menu-item.selected a {
    color: var(--global-text-color);
    font-weight: 700;
    border-bottom: 2px solid var(--primary-color);
    pointer-events: none;
    cursor: default;
}

/* ==========================================================================
   PAGE LAYOUT (from _page.scss and custom)
   ========================================================================== */

#main {
    max-width: 1400px;
    margin: 0 auto;
    margin-top: 2em;
    padding-left: 2em;
    padding-right: 2em;
    display: flex;
    gap: 2em;
    width: 100%;
    box-sizing: border-box;
}

/* ==========================================================================
   SIDEBAR (from _sidebar.scss)
   ========================================================================== */

.sidebar {
    flex: 0 0 260px;
    margin-bottom: 1em;
    transform: translate3d(0, 0, 0);
}

@media screen and (min-width: 1024px) {
    .sidebar {
        height: calc(100vh - var(--masthead-height));
        overflow-y: auto;
        position: sticky;
        top: var(--masthead-height);
    }
}

.sidebar h2, .sidebar h3, .sidebar h4, .sidebar h5, .sidebar h6 {
    margin-bottom: 0;
    font-family: var(--sans-serif);
}

.sidebar h3, .sidebar h4 {
    font-size: var(--type-size-5);
}

.sidebar p, .sidebar li {
    font-family: var(--sans-serif);
    font-size: var(--type-size-6);
    line-height: 1.5;
}

.sidebar img {
    width: 100%;
}

/* Author profile */
.author__avatar {
    display: block;
    width: auto;
    height: auto;
    padding: var(--space-md);
    background: var(--background-light);
    border-radius: 8px;
    margin-bottom: var(--space-lg);
}

.author__avatar img {
    max-width: 175px;
    border-radius: 50%;
    padding: 4px;
    border: 2px solid var(--global-border-color);
    display: block;
    margin: 0 auto;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.author__content {
    display: block;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    text-align: left;
}

.author__name {
    margin: 0;
    margin-top: 10px;
    margin-bottom: 10px;
    font-family: var(--sans-serif);
    font-size: var(--type-size-5);
}

.author__bio {
    margin: 0;
    margin-top: 10px;
    margin-bottom: 20px;
    padding-left: 1.2em;
    color: var(--gray);
    font-size: var(--type-size-6);
    list-style-type: disc;
}

.author__bio li {
    margin-bottom: 0.25em;
}

.author__urls-wrapper {
    position: relative;
    font-family: var(--sans-serif);
    z-index: 10;
    padding-left: 0;
    margin-top: var(--space-lg);
}

.author__urls {
    display: block;
    position: relative;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.author__urls li {
    white-space: nowrap;
    list-style: none;
}

.author__urls a {
    display: flex;
    align-items: center;
    margin-bottom: 5px;
    padding: var(--space-sm) 0;
    color: var(--text);
    font-size: var(--type-size-5);
    text-decoration: none;
    transition: var(--transition);
    border-radius: 4px;
}

.author__urls a:hover {
    color: var(--link);
    text-decoration: underline;
    background: var(--background-lighter);
    padding-left: var(--space-xs);
}

/* Icon padding for social links */
.icon-pad-right {
    display: inline-block;
    width: 1.5em;
    text-align: left;
    margin-right: 0.25em;
}

/* Brand colors for icons */
.fa-envelope {
    color: #7a8288;
}

.ai-google-scholar {
    color: #4285f4;
}

.fa-researchgate {
    color: #00ccbb;
}

.ai-orcid {
    color: #a6ce39;
}

.fa-github {
    color: #171515;
}

html[data-theme="dark"] .fa-github {
    color: #e8eaed;
}

@media (prefers-color-scheme: dark) {
    html:not([data-theme="light"]) .fa-github {
        color: #e8eaed;
    }
}

.fa-bluesky {
    color: #0085ff;
}

html[data-theme="dark"] .fa-bluesky {
    color: #1d9bf0;
}

@media (prefers-color-scheme: dark) {
    html:not([data-theme="light"]) .fa-bluesky {
        color: #1d9bf0;
    }
}

.fa-square-bluesky {
    color: #0085ff;
}

.fa-linkedin {
    color: #0077b5;
}

/* Non-link social items */
.social-text {
    display: flex;
    align-items: center;
    margin-bottom: 5px;
    padding: var(--space-sm) 0;
    color: var(--text);
    font-size: var(--type-size-5);
}

/* Social icons list */
.social-icons li {
    list-style: none;
}

/* ==========================================================================
   MAIN CONTENT AREA
   ========================================================================== */

.page-content {
    flex: 1;
    max-width: 900px;
    min-width: 0;
    padding-bottom: 3em;
}

.page__title {
    margin-top: 0;
    line-height: 1;
}

.page__title + .page__meta {
    margin-top: -0.5em;
}

.page__lead {
    font-family: var(--sans-serif);
    font-size: var(--type-size-4);
}

.page__content h2 {
    padding-bottom: 0.5em;
    border-bottom: 1px solid var(--global-border-color);
}

.page__content p,
.page__content li,
.page__content dl {
    font-size: 1em;
}

.page__content p {
    margin: 0 0 1.3em;
}

.page__content a {
    color: var(--primary-color);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: all 0.2s ease;
    font-weight: 500;
}

.page__content a:hover {
    color: var(--link-dark);
    border-bottom-color: var(--primary-color);
}

.page__content a[href^="http"]::after {
    content: " ↗";
    font-size: 0.85em;
    opacity: 0.6;
}

.page__content a:hover img {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
}

.page__content dt {
    margin-top: 1em;
    font-family: var(--sans-serif);
    font-weight: bold;
}

.page__content dd {
    margin-left: 1em;
    font-family: var(--sans-serif);
    font-size: var(--type-size-6);
}

.page__content .small {
    font-size: var(--type-size-6);
}

.page__content blockquote + .small {
    margin-top: -1.5em;
    padding-left: 1.25rem;
}

/* Page inner wrap */
.page__inner-wrap {
    width: 100%;
}

/* ==========================================================================
   TABLE OF CONTENTS
   ========================================================================== */

.toc {
    background: var(--global-toc-bg-color);
    border: 1px solid var(--global-border-color);
    border-radius: var(--border-radius);
    padding: var(--space-md) var(--space-lg);
    margin-bottom: var(--space-xl);
    font-size: 0.9em;
}

.toc h2 {
    font-size: 1em;
    font-weight: 600;
    margin-top: 0;
    margin-bottom: var(--space-sm);
    color: var(--primary-color);
    border-bottom: none;
    padding-bottom: 0;
}

.toc ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

.toc > ul > li {
    margin-bottom: var(--space-xs);
}

.toc ul ul {
    padding-left: var(--space-md);
    margin-top: var(--space-xs);
}

.toc a {
    color: var(--text);
    text-decoration: none;
    transition: var(--transition);
}

.toc a:hover {
    color: var(--primary-color);
}

/* ==========================================================================
   CODE HIGHLIGHTING (PYGMENTS)
   ========================================================================== */

.highlight {
    background: var(--global-code-background-color);
    border: 1px solid var(--global-border-color);
    border-left: 3px solid var(--primary-color);
    border-radius: var(--border-radius);
    padding: var(--space-md);
    margin: var(--space-lg) 0;
    overflow-x: auto;
}

.highlight pre {
    margin: 0;
    padding: 0;
    background: transparent;
    border: none;
    border-left: none;
}

/* Pygments tokens */
.highlight .hll { background-color: var(--background-lighter); }
.highlight .c { color: #6a737d; font-style: italic; } /* Comment */
.highlight .err { color: #cb2431; } /* Error */
.highlight .k { color: #d73a49; font-weight: bold; } /* Keyword */
.highlight .o { color: #d73a49; } /* Operator */
.highlight .ch { color: #6a737d; font-style: italic; } /* Comment.Hashbang */
.highlight .cm { color: #6a737d; font-style: italic; } /* Comment.Multiline */
.highlight .cp { color: #6a737d; font-weight: bold; } /* Comment.Preproc */
.highlight .cpf { color: #6a737d; font-style: italic; } /* Comment.PreprocFile */
.highlight .c1 { color: #6a737d; font-style: italic; } /* Comment.Single */
.highlight .cs { color: #6a737d; font-weight: bold; font-style: italic; } /* Comment.Special */
.highlight .gd { color: #cb2431; background-color: #ffeef0; } /* Generic.Deleted */
.highlight .ge { font-style: italic; } /* Generic.Emph */
.highlight .gr { color: #cb2431; } /* Generic.Error */
.highlight .gh { color: #005cc5; font-weight: bold; } /* Generic.Heading */
.highlight .gi { color: #22863a; background-color: #f0fff4; } /* Generic.Inserted */
.highlight .go { color: #6a737d; } /* Generic.Output */
.highlight .gp { color: #6a737d; font-weight: bold; } /* Generic.Prompt */
.highlight .gs { font-weight: bold; } /* Generic.Strong */
.highlight .gu { color: #6f42c1; font-weight: bold; } /* Generic.Subheading */
.highlight .gt { color: #cb2431; } /* Generic.Traceback */
.highlight .kc { color: #005cc5; font-weight: bold; } /* Keyword.Constant */
.highlight .kd { color: #d73a49; font-weight: bold; } /* Keyword.Declaration */
.highlight .kn { color: #d73a49; font-weight: bold; } /* Keyword.Namespace */
.highlight .kp { color: #d73a49; } /* Keyword.Pseudo */
.highlight .kr { color: #d73a49; font-weight: bold; } /* Keyword.Reserved */
.highlight .kt { color: #6f42c1; } /* Keyword.Type */
.highlight .m { color: #005cc5; } /* Literal.Number */
.highlight .s { color: #032f62; } /* Literal.String */
.highlight .na { color: #6f42c1; } /* Name.Attribute */
.highlight .nb { color: #005cc5; } /* Name.Builtin */
.highlight .nc { color: #6f42c1; font-weight: bold; } /* Name.Class */
.highlight .no { color: #005cc5; } /* Name.Constant */
.highlight .nd { color: #6f42c1; } /* Name.Decorator */
.highlight .ni { color: #24292e; } /* Name.Entity */
.highlight .ne { color: #cb2431; font-weight: bold; } /* Name.Exception */
.highlight .nf { color: #6f42c1; } /* Name.Function */
.highlight .nl { color: #005cc5; } /* Name.Label */
.highlight .nn { color: #6f42c1; } /* Name.Namespace */
.highlight .nt { color: #22863a; } /* Name.Tag */
.highlight .nv { color: #e36209; } /* Name.Variable */
.highlight .ow { color: #d73a49; font-weight: bold; } /* Operator.Word */
.highlight .w { color: #6a737d; } /* Text.Whitespace */
.highlight .mb { color: #005cc5; } /* Literal.Number.Bin */
.highlight .mf { color: #005cc5; } /* Literal.Number.Float */
.highlight .mh { color: #005cc5; } /* Literal.Number.Hex */
.highlight .mi { color: #005cc5; } /* Literal.Number.Integer */
.highlight .mo { color: #005cc5; } /* Literal.Number.Oct */
.highlight .sa { color: #032f62; } /* Literal.String.Affix */
.highlight .sb { color: #032f62; } /* Literal.String.Backtick */
.highlight .sc { color: #032f62; } /* Literal.String.Char */
.highlight .dl { color: #032f62; } /* Literal.String.Delimiter */
.highlight .sd { color: #6a737d; font-style: italic; } /* Literal.String.Doc */
.highlight .s2 { color: #032f62; } /* Literal.String.Double */
.highlight .se { color: #005cc5; } /* Literal.String.Escape */
.highlight .sh { color: #032f62; } /* Literal.String.Heredoc */
.highlight .si { color: #005cc5; } /* Literal.String.Interpol */
.highlight .sx { color: #032f62; } /* Literal.String.Other */
.highlight .sr { color: #032f62; } /* Literal.String.Regex */
.highlight .s1 { color: #032f62; } /* Literal.String.Single */
.highlight .ss { color: #005cc5; } /* Literal.String.Symbol */
.highlight .bp { color: #005cc5; } /* Name.Builtin.Pseudo */
.highlight .fm { color: #6f42c1; } /* Name.Function.Magic */
.highlight .vc { color: #e36209; } /* Name.Variable.Class */
.highlight .vg { color: #e36209; } /* Name.Variable.Global */
.highlight .vi { color: #e36209; } /* Name.Variable.Instance */
.highlight .vm { color: #e36209; } /* Name.Variable.Magic */
.highlight .il { color: #005cc5; } /* Literal.Number.Integer.Long */

/* Dark theme adjustments for code */
html[data-theme="dark"] .highlight .c,
html[data-theme="dark"] .highlight .ch,
html[data-theme="dark"] .highlight .cm,
html[data-theme="dark"] .highlight .cpf,
html[data-theme="dark"] .highlight .c1,
html[data-theme="dark"] .highlight .sd { color: #8b949e; }
html[data-theme="dark"] .highlight .k,
html[data-theme="dark"] .highlight .kd,
html[data-theme="dark"] .highlight .kn,
html[data-theme="dark"] .highlight .kr,
html[data-theme="dark"] .highlight .ow { color: #ff7b72; }
html[data-theme="dark"] .highlight .s,
html[data-theme="dark"] .highlight .sa,
html[data-theme="dark"] .highlight .sb,
html[data-theme="dark"] .highlight .sc,
html[data-theme="dark"] .highlight .dl,
html[data-theme="dark"] .highlight .s2,
html[data-theme="dark"] .highlight .sh,
html[data-theme="dark"] .highlight .sx,
html[data-theme="dark"] .highlight .sr,
html[data-theme="dark"] .highlight .s1 { color: #a5d6ff; }
html[data-theme="dark"] .highlight .m,
html[data-theme="dark"] .highlight .mb,
html[data-theme="dark"] .highlight .mf,
html[data-theme="dark"] .highlight .mh,
html[data-theme="dark"] .highlight .mi,
html[data-theme="dark"] .highlight .mo,
html[data-theme="dark"] .highlight .il,
html[data-theme="dark"] .highlight .nb,
html[data-theme="dark"] .highlight .no,
html[data-theme="dark"] .highlight .se,
html[data-theme="dark"] .highlight .si,
html[data-theme="dark"] .highlight .ss { color: #79c0ff; }
html[data-theme="dark"] .highlight .nc,
html[data-theme="dark"] .highlight .nd,
html[data-theme="dark"] .highlight .nf,
html[data-theme="dark"] .highlight .fm,
html[data-theme="dark"] .highlight .nn,
html[data-theme="dark"] .highlight .na,
html[data-theme="dark"] .highlight .kt { color: #d2a8ff; }
html[data-theme="dark"] .highlight .nt { color: #7ee787; }
html[data-theme="dark"] .highlight .nv,
html[data-theme="dark"] .highlight .vc,
html[data-theme="dark"] .highlight .vg,
html[data-theme="dark"] .highlight .vi,
html[data-theme="dark"] .highlight .vm { color: #ffa657; }
html[data-theme="dark"] .highlight .gd { color: #ffa198; background-color: #490202; }
html[data-theme="dark"] .highlight .gi { color: #7ee787; background-color: #04260f; }

@media (prefers-color-scheme: dark) {
    html:not([data-theme="light"]) .highlight .c,
    html:not([data-theme="light"]) .highlight .ch,
    html:not([data-theme="light"]) .highlight .cm,
    html:not([data-theme="light"]) .highlight .cpf,
    html:not([data-theme="light"]) .highlight .c1,
    html:not([data-theme="light"]) .highlight .sd { color: #8b949e; }
    html:not([data-theme="light"]) .highlight .k,
    html:not([data-theme="light"]) .highlight .kd,
    html:not([data-theme="light"]) .highlight .kn,
    html:not([data-theme="light"]) .highlight .kr,
    html:not([data-theme="light"]) .highlight .ow { color: #ff7b72; }
    html:not([data-theme="light"]) .highlight .s,
    html:not([data-theme="light"]) .highlight .sa,
    html:not([data-theme="light"]) .highlight .sb,
    html:not([data-theme="light"]) .highlight .sc,
    html:not([data-theme="light"]) .highlight .dl,
    html:not([data-theme="light"]) .highlight .s2,
    html:not([data-theme="light"]) .highlight .sh,
    html:not([data-theme="light"]) .highlight .sx,
    html:not([data-theme="light"]) .highlight .sr,
    html:not([data-theme="light"]) .highlight .s1 { color: #a5d6ff; }
    html:not([data-theme="light"]) .highlight .m,
    html:not([data-theme="light"]) .highlight .mb,
    html:not([data-theme="light"]) .highlight .mf,
    html:not([data-theme="light"]) .highlight .mh,
    html:not([data-theme="light"]) .highlight .mi,
    html:not([data-theme="light"]) .highlight .mo,
    html:not([data-theme="light"]) .highlight .il,
    html:not([data-theme="light"]) .highlight .nb,
    html:not([data-theme="light"]) .highlight .no,
    html:not([data-theme="light"]) .highlight .se,
    html:not([data-theme="light"]) .highlight .si,
    html:not([data-theme="light"]) .highlight .ss { color: #79c0ff; }
    html:not([data-theme="light"]) .highlight .nc,
    html:not([data-theme="light"]) .highlight .nd,
    html:not([data-theme="light"]) .highlight .nf,
    html:not([data-theme="light"]) .highlight .fm,
    html:not([data-theme="light"]) .highlight .nn,
    html:not([data-theme="light"]) .highlight .na,
    html:not([data-theme="light"]) .highlight .kt { color: #d2a8ff; }
    html:not([data-theme="light"]) .highlight .nt { color: #7ee787; }
    html:not([data-theme="light"]) .highlight .nv,
    html:not([data-theme="light"]) .highlight .vc,
    html:not([data-theme="light"]) .highlight .vg,
    html:not([data-theme="light"]) .highlight .vi,
    html:not([data-theme="light"]) .highlight .vm { color: #ffa657; }
    html:not([data-theme="light"]) .highlight .gd { color: #ffa198; background-color: #490202; }
    html:not([data-theme="light"]) .highlight .gi { color: #7ee787; background-color: #04260f; }
}

/* ==========================================================================
   FOOTNOTES
   ========================================================================== */

.footnote {
    font-size: 0.85em;
    color: var(--gray);
    border-top: 1px solid var(--global-border-color);
    margin-top: var(--space-2xl);
    padding-top: var(--space-lg);
}

.footnote hr {
    display: none;
}

.footnote ol {
    padding-left: var(--space-lg);
}

.footnote li {
    margin-bottom: var(--space-sm);
}

.footnote-ref {
    font-size: 0.75em;
    vertical-align: super;
    text-decoration: none;
    color: var(--primary-color);
}

.footnote-backref {
    text-decoration: none;
    margin-left: var(--space-xs);
}

/* Posts listing */

.post-preview {
    margin-bottom: var(--space-2xl);
    padding-bottom: var(--space-xl);
    border-bottom: 1px solid var(--global-border-color);
}

.post-preview:last-of-type {
    border-bottom: 1px solid var(--global-dark-border-color);
}

.post-preview h3 {
    font-size: 1.6em;
    font-weight: 700;
    margin-bottom: var(--space-sm);
    line-height: 1.3;
    margin-top: 0;
}

.post-preview h3 a {
    color: var(--text);
    text-decoration: none;
    transition: var(--transition);
}

.post-preview h3 a:hover {
    color: var(--link);
}

.post-meta {
    color: var(--gray);
    font-size: 0.85em;
    margin-bottom: var(--space-md);
    font-weight: 500;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    align-items: center;
}

.post-meta time {
    margin-right: 0;
}

.post-meta > *:not(:last-child)::after {
    content: "•";
    margin-left: var(--space-sm);
    opacity: 0.5;
}

.post-meta .category {
    margin-left: 0;
}

.post-meta .category a {
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 600;
}

.post-meta .category a:hover {
    text-decoration: underline;
}

.reading-time::before {
    content: "📖 ";
    opacity: 0.7;
}

.post-summary {
    margin-bottom: var(--space-md);
    line-height: 1.7;
    color: var(--text);
}

.read-more {
    color: var(--link);
    text-decoration: none;
    font-size: 0.9em;
    font-weight: 500;
    transition: var(--transition);
}

.read-more:hover {
    color: var(--link-light);
    text-decoration: underline;
}

/* Individual posts */
.post h1, .page h1 {
    font-size: 2.2em;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 0.5em;
    line-height: 1.25;
}

.post-tags {
    margin-bottom: 1.5em;
}

.tag {
    display: inline-block;
    background: var(--background-lighter);
    border: 1px solid var(--global-border-color);
    padding: 0.4em 0.9em;
    border-radius: 20px;
    margin-right: 0.5em;
    margin-bottom: 0.5em;
    text-decoration: none;
    color: var(--global-text-color);
    font-size: 0.8em;
    font-weight: 500;
    transition: all 0.2s ease;
    letter-spacing: 0.02em;
}

.tag:hover {
    background: var(--primary-color);
    color: var(--background-light);
    border-color: var(--primary-color);
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Archives */
.archive-nav {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    margin-bottom: var(--space-xl);
    padding-bottom: var(--space-md);
    border-bottom: 1px solid var(--global-border-color);
}

.archive-nav-item {
    display: inline-block;
    padding: var(--space-xs) var(--space-md);
    background: var(--background-lighter);
    border: 1px solid var(--global-border-color);
    border-radius: var(--border-radius);
    color: var(--text);
    text-decoration: none;
    font-size: 0.9em;
    font-weight: 500;
    transition: var(--transition);
}

.archive-nav-item:hover {
    background: var(--primary-color);
    color: var(--background-light);
    border-color: var(--primary-color);
}

.archive-nav-item.active {
    background: var(--primary-color);
    color: var(--background-light);
    border-color: var(--primary-color);
}

.archive-count {
    color: var(--gray);
    font-size: 0.9em;
    margin-bottom: var(--space-lg);
}

.archive-year {
    margin-bottom: 3em;
}

.archive-year h2 {
    font-size: 1.8em;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 1em;
    padding-bottom: 0.5em;
    border-bottom: 1px solid var(--dark-gray);
}

.archive-list {
    list-style: none;
    padding: 0;
}

.archive-list li {
    margin-bottom: 1em;
    padding-bottom: 1em;
    border-bottom: 1px solid var(--dark-gray);
}

.archive-list li:last-child {
    border-bottom: none;
}

.archive-list time {
    display: inline-block;
    width: 140px;
    color: var(--gray);
    font-size: 0.9em;
}

.archive-list a {
    color: var(--text);
    text-decoration: none;
    transition: var(--transition);
}

.archive-list a:hover {
    color: var(--link);
    text-decoration: underline;
}

/* Tag cloud */
.tag-cloud {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em;
    padding: 0;
}

/* Categories */
.category-list {
    list-style: none;
    padding: 0;
}

.category-list li {
    margin-bottom: 1em;
    padding-bottom: 1em;
    border-bottom: 1px solid var(--dark-gray);
}

.category-list li:last-child {
    border-bottom: none;
}

.category-list a {
    color: var(--text);
    text-decoration: none;
    font-size: 1.1em;
    transition: var(--transition);
}

.category-list a:hover {
    color: var(--link);
}

/* Pagination */
.pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 3em;
    padding-top: 2em;
    border-top: 1px solid var(--dark-gray);
}

.pagination a {
    color: var(--link);
    text-decoration: none;
    font-size: 0.9em;
    transition: var(--transition);
}

.pagination a:hover {
    color: var(--link-light);
    text-decoration: underline;
}

.page-info {
    color: var(--gray);
    font-size: 0.85em;
}

/* ==========================================================================
   FOOTER (from _footer.scss)
   ========================================================================== */

.page__footer {
    background: linear-gradient(180deg,
        var(--global-bg-color) 0%,
        var(--global-footer-bg-color) 100%
    );
    color: var(--background-light);
    float: left;
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    clear: both;
    position: absolute;
    bottom: 0;
    height: auto;
    margin-top: 3em;
    border-top: 2px solid var(--global-border-color);
    padding-top: var(--space-xl);
}

.page__footer footer {
    margin-left: auto;
    margin-right: auto;
    margin-top: 1em;
    max-width: 100%;
    padding: 0 1em 1em;
    text-align: center;
}

.page__footer a {
    color: var(--background-light);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s ease;
}

.page__footer a:hover {
    border-bottom-color: var(--background-light);
}

.page__footer-copyright {
    font-family: var(--sans-serif);
    font-size: var(--type-size-7);
}

.page__footer-follow ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.page__footer-follow li {
    display: inline-block;
    padding-top: 5px;
    padding-bottom: 5px;
    font-family: var(--sans-serif);
    font-size: var(--type-size-6);
    text-transform: uppercase;
}

.page__footer-follow li + li:before {
    content: "";
    padding-right: 5px;
}

.page__footer-follow a {
    padding-right: 10px;
    font-weight: bold;
}

/* ==========================================================================
   RESPONSIVE DESIGN
   ========================================================================== */

@media (max-width: 1200px) {
    #main {
        max-width: 1200px;
        padding-left: 1.5em;
        padding-right: 1.5em;
    }

    .page-content {
        max-width: 750px;
    }
}

@media (max-width: 992px) {
    #main {
        padding-left: 1em;
        padding-right: 1em;
    }

    .sidebar {
        flex: 0 0 220px;
    }

    .author__avatar img {
        max-width: 120px;
    }

    .page-content {
        max-width: 650px;
    }

    .site-footer {
        padding: 2em 1em;
    }

    .masthead__inner-wrap {
        padding: 0.5em 1.5em;
    }
}

@media (max-width: 768px) {
    html {
        font-size: 16px;
    }

    :root {
        --space-xs: 0.375rem;    /* 6px */
        --space-sm: 0.625rem;    /* 10px */
        --space-md: 0.875rem;    /* 14px */
        --space-lg: 1.25rem;     /* 20px */
        --space-xl: 1.75rem;     /* 28px */
        --space-2xl: 2.5rem;     /* 40px */
        --space-3xl: 3.5rem;     /* 56px */
    }

    .masthead__inner-wrap {
        flex-direction: column;
        align-items: flex-start;
        gap: 1em;
        padding: 0.5em 1em;
        grid-template-columns: 1fr;
    }

    .site-title {
        text-align: left;
    }

    .masthead__menu ul {
        flex-wrap: wrap;
        gap: 1em;
        justify-content: flex-start;
    }

    #main {
        flex-direction: column;
        padding-left: 0;
        padding-right: 0;
    }

    .sidebar {
        flex: none;
        position: static;
        top: 0;
        height: auto;
        padding: 2em 1.5em;
        border-bottom: 1px solid var(--dark-gray);
    }

    .author__avatar {
        padding: var(--space-sm);
    }

    .author__avatar img {
        max-width: 100px;
    }

    .post-preview {
        padding: 0;
        border-radius: 0;
    }

    .page-content {
        max-width: 100%;
        padding-left: 1.5em;
        padding-right: 1.5em;
    }

    .post h1, .page h1 {
        font-size: 1.8em;
    }

    .archive-list time {
        display: block;
        width: auto;
        margin-bottom: 0.3em;
    }

    .site-footer {
        padding: 2em 1.5em;
    }
}

/* ==========================================================================
   LANDING PAGE
   ========================================================================== */

.landing-page {
    width: 100%;
}

.landing-hero {
    margin-bottom: var(--space-lg);
    padding-bottom: var(--space-md);
    border-bottom: 1px solid var(--global-border-color);
}

.landing-hero h1 {
    font-size: 1.4em;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: var(--space-lg);
    letter-spacing: -0.01em;
}

.landing-hero p {
    font-size: 1.1em;
    line-height: 1.8;
    max-width: 65ch;
}

.landing-hero h2 {
    font-size: 1.3em;
    color: var(--text);
    margin-top: var(--space-xl);
    margin-bottom: var(--space-md);
    border-bottom: none;
    padding-bottom: 0;
}

.landing-hero ul {
    list-style: none;
    padding: 0;
}

.landing-hero li {
    margin-bottom: var(--space-md);
    padding-left: 0;
    line-height: 1.6;
}

.landing-hero li strong {
    color: var(--primary-color);
}

.landing-section {
    margin-bottom: var(--space-2xl);
}

.landing-section h2 {
    font-size: 1.5em;
    margin-bottom: var(--space-lg);
    color: var(--text);
    border-bottom: 2px solid var(--primary-color);
    padding-bottom: var(--space-sm);
    display: inline-block;
}

.landing-more {
    margin-top: var(--space-lg);
}

.landing-more a {
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 500;
    transition: var(--transition);
}

.landing-more a:hover {
    color: var(--link-dark);
    text-decoration: underline;
}

/* ==========================================================================
   CV PAGE
   ========================================================================== */

.page-cv hr {
    border: none;
    border-top: 1px solid var(--global-border-color);
    margin: var(--space-xl) 0;
}

.page-cv h2 {
    color: var(--primary-color);
    border-bottom: 2px solid var(--primary-color);
    padding-bottom: var(--space-sm);
}

.page-cv h3 {
    margin-top: var(--space-lg);
    margin-bottom: var(--space-xs);
    padding-top: var(--space-md);
    border-top: 1px solid var(--global-border-color);
}

.page-cv h2 + h3 {
    /* No border on the first entry after a section heading */
    border-top: none;
    margin-top: 0;
    padding-top: 0;
}

.page-cv strong {
    color: var(--text);
}

.page-cv em {
    color: var(--gray);
}

/* ==========================================================================
   404 PAGE
   ========================================================================== */

.error-404 {
    text-align: center;
    padding: var(--space-3xl) var(--space-lg);
}

.error-404 h1 {
    font-size: 4em;
    color: var(--primary-color);
    margin-bottom: var(--space-sm);
}

.error-404 h2 {
    font-size: 1.5em;
    color: var(--gray);
    font-weight: 400;
    margin-bottom: var(--space-xl);
}

.error-404 ul {
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--space-md);
}

.error-404 ul li a {
    display: inline-block;
    padding: var(--space-sm) var(--space-lg);
    background: var(--background-lighter);
    border: 1px solid var(--global-border-color);
    border-radius: var(--border-radius);
    color: var(--link);
    text-decoration: none;
    transition: var(--transition);
}

.error-404 ul li a:hover {
    background: var(--primary-color);
    color: var(--background-light);
    border-color: var(--primary-color);
}

/* ==========================================================================
   PRINT STYLES
   ========================================================================== */

@media print {
    .masthead,
    .toc,
    .page__share,
    .page__related,
    .ads,
    .site-footer {
        display: none;
    }
}
