@charset "utf-8";

/* Based on modus-{operandi,vivendi} color palette */
/* Source here: https://protesilaos.com/emacs/modus-themes-colors */

:root {
  color-scheme: light dark;
  --col-bg-main: light-dark(#ffffff, #000000);
  --col-bg-dim: light-dark(#f2f2f2, #1e1e1e);
  --col-fg-main: light-dark(#000000, #ffffff);
  --col-fg-dim: light-dark(#595959, #989898);
  --col-fg-alt: light-dark(#193668, #c6daff);
  --col-bg-active: light-dark(#c4c4c4, #535353);
  --col-bg-inactive: light-dark(#e0e0e0, #303030);
  --col-border: light-dark(#9f9f9f, #646464);
  --col-red: light-dark(#a60000, #ff5f59);
  --col-red-warmer: light-dark(#972500, #ff6b55);
  --col-red-cooler: light-dark(#a0132f, #ff7f86);
  --col-red-faint: light-dark(#7f0000, #ff9580);
  --col-red-intense: light-dark(#d00000, #ff5f5f);
  --col-green: light-dark(#006800, #44bc44);
  --col-green-warmer: light-dark(#316500, #70b900);
  --col-green-cooler: light-dark(#00663f, #00c06f);
  --col-green-faint: light-dark(#2a5045, #88ca9f);
  --col-green-intense: light-dark(#008900, #44df44);
  --col-yellow: light-dark(#6f5500, #d0bc00);
  --col-yellow-warmer: light-dark(#884900, #fec43f);
  --col-yellow-cooler: light-dark(#7a4f2f, #dfaf7a);
  --col-yellow-faint: light-dark(#624416, #d2b580);
  --col-yellow-intense: light-dark(#808000, #efef00);
  --col-blue: light-dark(#0031a9, #2fafff);
  --col-blue-warmer: light-dark(#3548cf, #79a8ff);
  --col-blue-cooler: light-dark(#0000b0, #00bcff);
  --col-blue-faint: light-dark(#003497, #82b0ec);
  --col-blue-intense: light-dark(#0000ff, #338fff);
  --col-magenta: light-dark(#721045, #feacd0);
  --col-magenta-warmer: light-dark(#8f0075, #f78fe7);
  --col-magenta-cooler: light-dark(#531ab6, #b6a0ff);
  --col-magenta-faint: light-dark(#7c318f, #caa6df);
  --col-magenta-intense: light-dark(#dd22dd, #ff66ff);
  --col-cyan: light-dark(#005e8b, #00d3d0);
  --col-cyan-warmer: light-dark(#3f578f, #4ae2f0);
  --col-cyan-cooler: light-dark(#005f5f, #6ae4b9);
  --col-cyan-faint: light-dark(#005077, #9ac8e0);
  --col-cyan-intense: light-dark(#008899, #00eff0);
  --col-rust: light-dark(#8a290f, #db7b5f);
  --col-gold: light-dark(#80601f, #c0965b);
  --col-olive: light-dark(#56692d, #9cbd6f);
  --col-slate: light-dark(#2f3f83, #76afbf);
  --col-indigo: light-dark(#4a3a8a, #9099d9);
  --col-maroon: light-dark(#731c52, #cf7fa7);
  --col-pink: light-dark(#7b435c, #d09dc0);
  --col-bg-red-intense: light-dark(#ff8f88, #9d1f1f);
  --col-bg-green-intense: light-dark(#8adf80, #2f822f);
  --col-bg-yellow-intense: light-dark(#f3d000, #7a6100);
  --col-bg-blue-intense: light-dark(#bfc9ff, #1640b0);
  --col-bg-magenta-intense: light-dark(#dfa0f0, #7030af);
  --col-bg-cyan-intense: light-dark(#a4d5f9, #2266ae);
  --col-bg-red-subtle: light-dark(#ffcfbf, #620f2a);
  --col-bg-green-subtle: light-dark(#b3fabf, #00422a);
  --col-bg-yellow-subtle: light-dark(#fff576, #4a4000);
  --col-bg-blue-subtle: light-dark(#ccdfff, #242679);
  --col-bg-magenta-subtle: light-dark(#ffddff, #552f5f);
  --col-bg-cyan-subtle: light-dark(#bfefff, #004065);
  --col-bg-red-nuanced: light-dark(#ffe8e8, #3a0c14);
  --col-bg-green-nuanced: light-dark(#e0f6e0, #092f1f);
  --col-bg-yellow-nuanced: light-dark(#f8f0d0, #381d0f);
  --col-bg-blue-nuanced: light-dark(#ecedff, #12154a);
  --col-bg-magenta-nuanced: light-dark(#f8e6f5, #2f0c3f);
  --col-bg-cyan-nuanced: light-dark(#e0f2fa, #042837);
  --col-bg-clay: light-dark(#f1c8b5, #49191a);
  --col-fg-clay: light-dark(#63192a, #f1b090);
  --col-bg-ochre: light-dark(#f0e3c0, #462f20);
  --col-fg-ochre: light-dark(#573a30, #e0d09c);
  --col-bg-lavender: light-dark(#dfcdfa, #38325c);
  --col-fg-lavender: light-dark(#443379, #dfc0f0);
  --col-bg-sage: light-dark(#c0e7d4, #143e32);
  --col-fg-sage: light-dark(#124b41, #c3e7d4);
  --col-bg-graph-red-0: light-dark(#ef7969, #b52c2c);
  --col-bg-graph-red-1: light-dark(#ffaab4, #702020);
  --col-bg-graph-green-0: light-dark(#45c050, #0fed00);
  --col-bg-graph-green-1: light-dark(#75ef30, #007800);
  --col-bg-graph-yellow-0: light-dark(#ffcf00, #f1e00a);
  --col-bg-graph-yellow-1: light-dark(#f9ff00, #b08940);
  --col-bg-graph-blue-0: light-dark(#7f90ff, #2fafef);
  --col-bg-graph-blue-1: light-dark(#a6c0ff, #1f2f8f);
  --col-bg-graph-magenta-0: light-dark(#e07fff, #bf94fe);
  --col-bg-graph-magenta-1: light-dark(#fad0ff, #5f509f);
  --col-bg-graph-cyan-0: light-dark(#70d3f0, #47dfea);
  --col-bg-graph-cyan-1: light-dark(#afefff, #00808f);
  --col-bg-completion: light-dark(#c0deff, #2f447f);
  --col-bg-hover: light-dark(#b2e4dc, #45605e);
  --col-bg-hover-secondary: light-dark(#f5d0a0, #654a39);
  --col-bg-hl-line: light-dark(#dae5ec, #2f3849);
  --col-bg-region: light-dark(#bdbdbd, #5a5a5a);
  --col-fg-region: light-dark(#000000, #ffffff);
  --col-bg-mode-line-active: light-dark(#c8c8c8, #505050);
  --col-fg-mode-line-active: light-dark(#000000, #ffffff);
  --col-border-mode-line-active: light-dark(#5a5a5a, #959595);
  --col-bg-mode-line-inactive: light-dark(#e6e6e6, #2d2d2d);
  --col-fg-mode-line-inactive: light-dark(#585858, #969696);
  --col-border-mode-line-inactive: light-dark(#a3a3a3, #606060);
  --col-modeline-err: light-dark(#7f0000, #ffa9bf);
  --col-modeline-warning: light-dark(#5f0070, #dfcf43);
  --col-modeline-info: light-dark(#002580, #9fefff);
  --col-bg-tab-bar: light-dark(#dfdfdf, #313131);
  --col-bg-tab-current: light-dark(#ffffff, #000000);
  --col-bg-tab-other: light-dark(#c2c2c2, #545454);
  --col-bg-added: light-dark(#c1f2d1, #00381f);
  --col-bg-added-faint: light-dark(#d8f8e1, #002910);
  --col-bg-added-refine: light-dark(#aee5be, #034f2f);
  --col-bg-added-fringe: light-dark(#6cc06c, #237f3f);
  --col-fg-added: light-dark(#005000, #a0e0a0);
  --col-fg-added-intense: light-dark(#006700, #80e080);
  --col-bg-changed: light-dark(#ffdfa9, #363300);
  --col-bg-changed-faint: light-dark(#ffefbf, #2a1f00);
  --col-bg-changed-refine: light-dark(#fac090, #4a4a00);
  --col-bg-changed-fringe: light-dark(#d7c20a, #8a7a00);
  --col-fg-changed: light-dark(#553d00, #efef80);
  --col-fg-changed-intense: light-dark(#655000, #c0b05f);
  --col-bg-removed: light-dark(#ffd8d5, #4f1119);
  --col-bg-removed-faint: light-dark(#ffe9e9, #380a0f);
  --col-bg-removed-refine: light-dark(#f3b5af, #781a1f);
  --col-bg-removed-fringe: light-dark(#d84a4f, #b81a1f);
  --col-fg-removed: light-dark(#8f1313, #ffbfbf);
  --col-fg-removed-intense: light-dark(#aa2222, #ff9095);
  --col-bg-diff-context: light-dark(#f3f3f3, #1a1a1a);
  --col-bg-paren-match: light-dark(#5fcfff, #2f7f9f);
  --col-bg-paren-expression: light-dark(#efd3f5, #453040);
  --col-cursor: light-dark(var(--col-fg-main), var(--col-fg-main));
  --col-keybind: light-dark(var(--col-blue-cooler), var(--col-blue-cooler));
  --col-name: light-dark(var(--col-magenta), var(--col-magenta));
  --col-identifier: light-dark(var(--col-yellow-cooler), var(--col-yellow-faint));
  --col-err: light-dark(var(--col-red), var(--col-red));
  --col-warning: light-dark(var(--col-yellow-warmer), var(--col-yellow-warmer));
  --col-info: light-dark(var(--col-cyan-cooler), var(--col-cyan-cooler));
  --col-underline-err: light-dark(var(--col-red-intense), var(--col-red-intense));
  --col-underline-warning: light-dark(var(--col-yellow-intense), var(--col-yellow));
  --col-underline-note: light-dark(var(--col-cyan-intense), var(--col-cyan));
  --col-bg-prominent-err: light-dark(var(--col-bg-red-intense), var(--col-bg-red-intense));
  --col-fg-prominent-err: light-dark(var(--col-fg-main), var(--col-fg-main));
  --col-bg-prominent-warning: light-dark(var(--col-bg-yellow-intense), var(--col-bg-yellow-intense));
  --col-fg-prominent-warning: light-dark(var(--col-fg-main), var(--col-fg-main));
  --col-bg-prominent-note: light-dark(var(--col-bg-cyan-intense), var(--col-bg-cyan-intense));
  --col-fg-prominent-note: light-dark(var(--col-fg-main), var(--col-fg-main));
  --col-bg-active-argument: light-dark(var(--col-bg-yellow-nuanced), var(--col-bg-yellow-nuanced));
  --col-fg-active-argument: light-dark(var(--col-yellow-warmer), var(--col-yellow-cooler));
  --col-bg-active-value: light-dark(var(--col-bg-cyan-nuanced), var(--col-bg-cyan-nuanced));
  --col-fg-active-value: light-dark(var(--col-cyan-warmer), var(--col-cyan-cooler));
  --col-builtin: light-dark(var(--col-magenta-warmer), var(--col-magenta-warmer));
  --col-comment: light-dark(var(--col-fg-dim), var(--col-fg-dim));
  --col-constant: light-dark(var(--col-blue-cooler), var(--col-blue-cooler));
  --col-docmarkup: light-dark(var(--col-magenta-faint), var(--col-magenta-faint));
  --col-docstring: light-dark(var(--col-green-faint), var(--col-cyan-faint));
  --col-fnname: light-dark(var(--col-magenta), var(--col-magenta));
  --col-keyword: light-dark(var(--col-magenta-cooler), var(--col-magenta-cooler));
  --col-preprocessor: light-dark(var(--col-red-cooler), var(--col-red-cooler));
  --col-property: light-dark(var(--col-cyan), var(--col-cyan));
  --col-rx-backslash: light-dark(var(--col-magenta), var(--col-magenta));
  --col-rx-construct: light-dark(var(--col-green-cooler), var(--col-green-cooler));
  --col-string: light-dark(var(--col-blue-warmer), var(--col-blue-warmer));
  --col-type: light-dark(var(--col-cyan-cooler), var(--col-cyan-cooler));
  --col-variable: light-dark(var(--col-cyan), var(--col-cyan));
  --col-accent-0: light-dark(var(--col-blue), var(--col-blue-cooler));
  --col-accent-1: light-dark(var(--col-magenta-warmer), var(--col-magenta-warmer));
  --col-accent-2: light-dark(var(--col-cyan), var(--col-cyan-cooler));
  --col-accent-3: light-dark(var(--col-red), var(--col-yellow));
  --col-fg-completion-match-0: light-dark(var(--col-blue), var(--col-blue-cooler));
  --col-fg-completion-match-1: light-dark(var(--col-magenta-warmer), var(--col-magenta-warmer));
  --col-fg-completion-match-2: light-dark(var(--col-cyan), var(--col-cyan-cooler));
  --col-fg-completion-match-3: light-dark(var(--col-red), var(--col-yellow));
  --col-date-common: light-dark(var(--col-cyan), var(--col-cyan));
  --col-date-deadline: light-dark(var(--col-red-cooler), var(--col-red-cooler));
  --col-date-deadline-subtle: light-dark(var(--col-red-faint), var(--col-red-faint));
  --col-date-event: light-dark(var(--col-fg-alt), var(--col-fg-alt));
  --col-date-holiday: light-dark(var(--col-red), var(--col-magenta-warmer));
  --col-date-holiday-other: light-dark(var(--col-blue), var(--col-blue));
  --col-date-now: light-dark(var(--col-fg-main), var(--col-fg-main));
  --col-date-range: light-dark(var(--col-fg-alt), var(--col-fg-alt));
  --col-date-scheduled: light-dark(var(--col-yellow), var(--col-yellow-cooler));
  --col-date-scheduled-subtle: light-dark(var(--col-yellow-faint), var(--col-yellow-faint));
  --col-date-weekday: light-dark(var(--col-cyan), var(--col-cyan));
  --col-date-weekend: light-dark(var(--col-magenta), var(--col-magenta));
  --col-fg-link: light-dark(var(--col-blue-warmer), var(--col-blue-warmer));
  --col-underline-link: light-dark(var(--col-blue-warmer), var(--col-blue-warmer));
  --col-fg-link-symbolic: light-dark(var(--col-cyan), var(--col-cyan));
  --col-underline-link-symbolic: light-dark(var(--col-cyan), var(--col-cyan));
  --col-fg-link-visited: light-dark(var(--col-magenta), var(--col-magenta));
  --col-underline-link-visited: light-dark(var(--col-magenta), var(--col-magenta));
  --col-mail-cite-0: light-dark(var(--col-blue-faint), var(--col-blue-warmer));
  --col-mail-cite-1: light-dark(var(--col-yellow-warmer), var(--col-yellow-cooler));
  --col-mail-cite-2: light-dark(var(--col-cyan-cooler), var(--col-cyan-cooler));
  --col-mail-cite-3: light-dark(var(--col-red-cooler), var(--col-red-cooler));
  --col-mail-part: light-dark(var(--col-cyan), var(--col-blue));
  --col-mail-recipient: light-dark(var(--col-magenta-cooler), var(--col-magenta-cooler));
  --col-mail-subject: light-dark(var(--col-magenta-warmer), var(--col-magenta-warmer));
  --col-mail-other: light-dark(var(--col-magenta-faint), var(--col-magenta-faint));
  --col-bg-mark-delete: light-dark(var(--col-bg-red-subtle), var(--col-bg-red-subtle));
  --col-fg-mark-delete: light-dark(var(--col-red), var(--col-red-cooler));
  --col-bg-mark-select: light-dark(var(--col-bg-cyan-subtle), var(--col-bg-cyan-subtle));
  --col-fg-mark-select: light-dark(var(--col-cyan), var(--col-cyan));
  --col-bg-mark-other: light-dark(var(--col-bg-yellow-subtle), var(--col-bg-yellow-subtle));
  --col-fg-mark-other: light-dark(var(--col-yellow), var(--col-yellow));
  --col-fg-prompt: light-dark(var(--col-cyan-cooler), var(--col-cyan-cooler));
  --col-fg-prose-code: light-dark(var(--col-cyan-cooler), var(--col-cyan-cooler));
  --col-fg-prose-macro: light-dark(var(--col-magenta-cooler), var(--col-magenta-cooler));
  --col-fg-prose-verbatim: light-dark(var(--col-magenta-warmer), var(--col-magenta-warmer));
  --col-prose-done: light-dark(var(--col-green), var(--col-green));
  --col-prose-todo: light-dark(var(--col-red), var(--col-red));
  --col-prose-metadata: light-dark(var(--col-fg-dim), var(--col-fg-dim));
  --col-prose-metadata-value: light-dark(var(--col-fg-alt), var(--col-fg-alt));
  --col-prose-table: light-dark(var(--col-fg-alt), var(--col-fg-alt));
  --col-prose-table-formula: light-dark(var(--col-magenta-warmer), var(--col-magenta-warmer));
  --col-prose-tag: light-dark(var(--col-magenta-faint), var(--col-magenta-faint));
  --col-rainbow-0: light-dark(var(--col-fg-main), var(--col-fg-main));
  --col-rainbow-1: light-dark(var(--col-magenta-intense), var(--col-magenta-intense));
  --col-rainbow-2: light-dark(var(--col-cyan-intense), var(--col-cyan-intense));
  --col-rainbow-3: light-dark(var(--col-red-warmer), var(--col-red-warmer));
  --col-rainbow-4: light-dark(var(--col-yellow-intense), var(--col-yellow-intense));
  --col-rainbow-5: light-dark(var(--col-magenta-cooler), var(--col-magenta-cooler));
  --col-rainbow-6: light-dark(var(--col-green-intense), var(--col-green-intense));
  --col-rainbow-7: light-dark(var(--col-blue-warmer), var(--col-blue-warmer));
  --col-rainbow-8: light-dark(var(--col-magenta-warmer), var(--col-magenta-warmer));
  --col-bg-search-current: light-dark(var(--col-bg-yellow-intense), var(--col-bg-yellow-intense));
  --col-bg-search-lazy: light-dark(var(--col-bg-cyan-intense), var(--col-bg-cyan-intense));
  --col-bg-search-replace: light-dark(var(--col-bg-red-intense), var(--col-bg-red-intense));
  --col-bg-search-rx-group-0: light-dark(var(--col-bg-blue-intense), var(--col-bg-blue-intense));
  --col-bg-search-rx-group-1: light-dark(var(--col-bg-green-intense), var(--col-bg-green-intense));
  --col-bg-search-rx-group-2: light-dark(var(--col-bg-red-subtle), var(--col-bg-red-subtle));
  --col-bg-search-rx-group-3: light-dark(var(--col-bg-magenta-subtle), var(--col-bg-magenta-subtle));
  --col-fg-heading-0: light-dark(var(--col-cyan-cooler), var(--col-cyan-cooler));
  --col-fg-heading-1: light-dark(var(--col-fg-main), var(--col-fg-main));
  --col-fg-heading-2: light-dark(var(--col-yellow-faint), var(--col-yellow-faint));
  --col-fg-heading-3: light-dark(var(--col-fg-alt), var(--col-blue-faint));
  --col-fg-heading-4: light-dark(var(--col-magenta), var(--col-magenta));
  --col-fg-heading-5: light-dark(var(--col-green-faint), var(--col-green-faint));
  --col-fg-heading-6: light-dark(var(--col-red-faint), var(--col-red-faint));
  --col-fg-heading-7: light-dark(var(--col-cyan-warmer), var(--col-cyan-faint));
  --col-fg-heading-8: light-dark(var(--col-fg-dim), var(--col-fg-dim));
  --col-fringe: light-dark(var(--col-bg-dim), var(--col-bg-dim));
  --col-fg-button-active: light-dark(var(--col-fg-main), var(--col-fg-main));
  --col-fg-button-inactive: light-dark(var(--col-fg-dim), var(--col-fg-dim));
  --col-bg-button-active: light-dark(var(--col-bg-active), var(--col-bg-active));
  --col-bg-button-inactive: light-dark(var(--col-bg-dim), var(--col-bg-dim));
  --col-bracket: light-dark(var(--col-fg-main), var(--col-fg-main));
  --col-delimiter: light-dark(var(--col-fg-main), var(--col-fg-main));
  --col-number: light-dark(var(--col-fg-main), var(--col-fg-main));
  --col-operator: light-dark(var(--col-fg-main), var(--col-fg-main));
  --col-punctuation: light-dark(var(--col-fg-main), var(--col-fg-main));
  --col-fg-line-number-inactive: light-dark(var(--col-fg-dim), var(--col-fg-dim));
  --col-fg-line-number-active: light-dark(var(--col-fg-main), var(--col-fg-main));
  --col-bg-line-number-inactive: light-dark(var(--col-bg-dim), var(--col-bg-dim));
  --col-bg-line-number-active: light-dark(var(--col-bg-active), var(--col-bg-active));
  --col-fg-paren-match: light-dark(var(--col-fg-main), var(--col-fg-main));
  --col-bg-prose-block-delimiter: light-dark(var(--col-bg-dim), var(--col-bg-dim));
  --col-fg-prose-block-delimiter: light-dark(var(--col-fg-dim), var(--col-fg-dim));
  --col-bg-prose-block-contents: light-dark(var(--col-bg-dim), var(--col-bg-dim));
  --col-fg-space: light-dark(var(--col-border), var(--col-border));
  --col-bg-space-err: light-dark(var(--col-bg-red-intense), var(--col-bg-red-intense));
}

/* Source Serif 4 */
@font-face {
    font-family: 'Source Serif 4';
    src: url('/fonts/source-serif-4/SourceSerif4-BlackIt.otf.woff2') format('woff2');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Source Serif 4';
    src: url('/fonts/source-serif-4/SourceSerif4-Black.otf.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Serif 4';
    src: url('/fonts/source-serif-4/SourceSerif4-Bold.otf.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Serif 4';
    src: url('/fonts/source-serif-4/SourceSerif4-BoldIt.otf.woff2') format('woff2');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Source Serif 4';
    src: url('/fonts/source-serif-4/SourceSerif4-ExtraLightIt.otf.woff2') format('woff2');
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Source Serif 4';
    src: url('/fonts/source-serif-4/SourceSerif4-ExtraLight.otf.woff2') format('woff2');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Serif 4';
    src: url('/fonts/source-serif-4/SourceSerif4-It.otf.woff2') format('woff2');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Source Serif 4';
    src: url('/fonts/source-serif-4/SourceSerif4-Light.otf.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Serif 4';
    src: url('/fonts/source-serif-4/SourceSerif4-LightIt.otf.woff2') format('woff2');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Source Serif 4';
    src: url('/fonts/source-serif-4/SourceSerif4-Regular.otf.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Serif 4';
    src: url('/fonts/source-serif-4/SourceSerif4-Semibold.otf.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Serif 4';
    src: url('/fonts/source-serif-4/SourceSerif4-SemiboldIt.otf.woff2') format('woff2');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

/* Source Sans 3 */
@font-face {
    font-family: 'Source Sans 3';
    src: url('/fonts/source-sans-3/SourceSans3-BlackIt.otf.woff2') format('woff2');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans 3';
    src: url('/fonts/source-sans-3/SourceSans3-Black.otf.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans 3';
    src: url('/fonts/source-sans-3/SourceSans3-Bold.otf.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans 3';
    src: url('/fonts/source-sans-3/SourceSans3-BoldIt.otf.woff2') format('woff2');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans 3';
    src: url('/fonts/source-sans-3/SourceSans3-ExtraLightIt.otf.woff2') format('woff2');
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans 3';
    src: url('/fonts/source-sans-3/SourceSans3-ExtraLight.otf.woff2') format('woff2');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans 3';
    src: url('/fonts/source-sans-3/SourceSans3-LightIt.otf.woff2') format('woff2');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans 3';
    src: url('/fonts/source-sans-3/SourceSans3-It.otf.woff2') format('woff2');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans 3';
    src: url('/fonts/source-sans-3/SourceSans3-Medium.otf.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans 3';
    src: url('/fonts/source-sans-3/SourceSans3-MediumIt.otf.woff2') format('woff2');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans 3';
    src: url('/fonts/source-sans-3/SourceSans3-Regular.otf.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans 3';
    src: url('/fonts/source-sans-3/SourceSans3-Light.otf.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans 3';
    src: url('/fonts/source-sans-3/SourceSans3-SemiboldIt.otf.woff2') format('woff2');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans 3';
    src: url('/fonts/source-sans-3/SourceSans3-Semibold.otf.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}



/* Source Code Pro */
@font-face {
    font-family: 'Source Code Pro';
    src: url('/fonts/source-code-pro/SourceCodePro-BlackIt.otf.woff2') format('woff2');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Source Code Pro';
    src: url('/fonts/source-code-pro/SourceCodePro-Black.otf.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Code Pro';
    src: url('/fonts/source-code-pro/SourceCodePro-BoldIt.otf.woff2') format('woff2');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Source Code Pro';
    src: url('/fonts/source-code-pro/SourceCodePro-Bold.otf.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Code Pro';
    src: url('/fonts/source-code-pro/SourceCodePro-ExtraLightIt.otf.woff2') format('woff2');
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Source Code Pro';
    src: url('/fonts/source-code-pro/SourceCodePro-Medium.otf.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Code Pro';
    src: url('/fonts/source-code-pro/SourceCodePro-It.otf.woff2') format('woff2');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Source Code Pro';
    src: url('/fonts/source-code-pro/SourceCodePro-Light.otf.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Code Pro';
    src: url('/fonts/source-code-pro/SourceCodePro-LightIt.otf.woff2') format('woff2');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Source Code Pro';
    src: url('/fonts/source-code-pro/SourceCodePro-MediumIt.otf.woff2') format('woff2');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Source Code Pro';
    src: url('/fonts/source-code-pro/SourceCodePro-ExtraLight.otf.woff2') format('woff2');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Code Pro';
    src: url('/fonts/source-code-pro/SourceCodePro-Regular.otf.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Code Pro';
    src: url('/fonts/source-code-pro/SourceCodePro-Semibold.otf.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Code Pro';
    src: url('/fonts/source-code-pro/SourceCodePro-SemiboldIt.otf.woff2') format('woff2');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

/* Concours index (for circled numbered) */
/* Matthew Butterick licenced https://mbtype.com/license/ */
@font-face {
    font-family: 'concourse_index';
    src: url('/fonts/concourse-index/concourse_index_regular.woff2') format('woff2');
    font-style: normal;
    font-weight: normal;
    font-stretch: normal;
    font-display: swap;
}

/* colors / size */
:root {
  --basic-font-size: 1rem;
}

@media (min-width: 768px) {
  :root {
    --font-stack-serif: "Source Serif 4", "Apple Garamond", "Baskerville", "Libre Baskerville", "Droid Serif", "Times New Roman", "Times", serif, "Noto Emoji", "Quivira";
    --font-stack-sans-serif: "Source Sans 3", "Lucida Sans Unicode", "Helvetica", "Trebuchet MS", sans-serif, "Noto Emoji", "Quivira";
    --font-stack-monospaced: "Source Code Pro", "Liberation Mono", "Consolas", "Courier", monospace, "Noto Emoji", "Quivira";
    --basic-font-size: 1.25rem;
  }
}

/* general settings */
html {
  font-family: var(--font-stack-serif);
}

body {
  font-size: var(--basic-font-size);
  background-color: var(--col-bg-main);
  color: var(--col-fg-main);
}

/* header */

header .nav-container {
  font-family: sans-serif;
  font-size: 1.25rem;
  font-variant: small-caps;
  padding: 0.5rem;
  display: flex;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
}

header .nav-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

header .nav-item {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

header .nav-item a {
  color: var(--col-fg-dim);
  text-decoration: none;
  display: block;
  padding: 0.25rem;
}

header .nav-item:hover {
  background-color: var(--col-bg-hover);
  border-radius: 0.375rem;
}

/* main content */

main {
  max-width: 56rem; /* fixed width */
  margin-left: auto;
  margin-right: auto;
  padding-top: 1rem;
  position: relative;
}

main h1 {
  font-size: calc(var(--basic-font-size) * 1.75);
  text-align: center;
  font-variant: small-caps;
}

main h2 {
  border-bottom-width: 1px;
  border-bottom-style: solid;
  text-align: right;
  font-size: calc(var(--basic-font-size) * 1.5);
  font-variant: small-caps;
}

main a {
  text-decoration-line: none;
  color: var(--col-fg-link);
}

main a:hover {
  text-decoration-line: underline;
  text-decoration-style: dotted;
  background-color: var(--col-bg-hover);
}

main figure img {
  max-width: 100%;
}

main pre .sourceCode {
  background: var(--col-bg-dim);
  font-family: var(--font-stack-monospaced);
  display: block;
  padding: 1rem 1rem;
  border-radius: 0.5rem;
  font-size: calc(var(--basic-font-size) * 0.9);
}

main table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 2rem;
}

main th, td {
  border: 1px solid var(--col-border);
  padding: 0.75rem 1rem;
}

main th {
  background: var(--col-bg-dim);
  text-align: left;
  font-weight: 600;
}

main blockquote {
  border-left: 4px solid var(--col-border);
  margin-left: 0;
  margin-right: 0;
  padding-left: 1rem;
  color: var(--col-fg-dim);
  font-style: italic;
}

main p {
  line-height: 1.35;
}

main ol {
  counter-reset: foobar;
}

main ol li, main ul li {
  margin-left: 1.5rem;
  list-style: none;
}


main ol li:before {
  counter-increment: foobar;
  content: counter(foobar);
  font-family: 'concourse_index';
  margin-left: -2.5rem;
  margin-right: 0.5rem;
  font-size : calc(var(--basic-font-size) * 1.25);
  position: absolute;
}

main ul li:before {
  content: "•";
  margin-left: -1.5rem;
  margin-right: 0.5rem;
  position: absolute;
}

main .permalink {
  display: inline-block;
  color: var(--col-fg-main);
  font-size: calc(var(--basic-font-size) * 0.75);
  margin-left: 0.25rem;
  text-decoration-line: none;
}

main .permalink:hover {
  color: var(--col-fg-link);
}

main .postMeta {
  text-align: right;;
  font-size: calc(var(--basic-font-size) * 0.875);
}

main .subtitle {
  font-style: italic;
  text-align: center;
}

main .small-caps {
  font-variant: small-caps;
}

main .all-caps {
  text-transform: uppercase;
}

/* article */

article .footnotes {
  font-size: calc(var(--basic-font-size) * 0.875);
}

/* footer */

footer {
  font-size: calc(var(--basic-font-size) * 0.75);
  padding: 0.5rem;
  display: flex;
  justify-content: center;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  line-height: 0.5;
}

footer a {
  text-decoration-line: none;
  color: var(--col-fg-link);
}

footer a:hover {
  text-decoration-line: underline;
  text-decoration-style: dotted;
  background-color: var(--col-bg-hover);
}

/* Tricks to make it compatible with my main css */
main .ltx_eqn_cell {
  border: unset;
}

/*======================================================================
 Core CSS for LaTeXML documents converted to (X)HTML */
/* Generic Page layout */
.ltx_page_header,
.ltx_page_footer { font-size:0.8em; }
.ltx_page_header *[rel~="prev"],
.ltx_page_footer *[rel~="prev"] { float:left; }
.ltx_page_header *[rel~="up"],
.ltx_page_footer *[rel~="up"]   { display:block; text-align:center; }
.ltx_page_header *[rel~="next"],
.ltx_page_footer *[rel~="next"] {  float:right; }
/* What was I trying for here; need more selective rule!
.ltx_page_header .ltx_ref,
.ltx_page_footer .ltx_ref {
    margin:0 1em; }
*/
.ltx_page_header li {
    padding:0.1em 0.2em 0.1em 1em;}

/* Main content */
.ltx_page_header  { border-bottom:1px solid; margin-bottom:5px; }
.ltx_page_footer  { clear:both; border-top:1px solid; margin-top:5px;  }

.ltx_page_header:after,
.ltx_page_footer:after,
.ltx_page_footer:before {
    content:"."; display:block; height:0; clear:both; visibility:hidden; }

.ltx_page_logo     { font-size:90%; margin-top: 5px; clear:both; float:right; }
a.ltx_LaTeXML_logo { text-decoration: none; }
.ltx_page_logo img { vertical-align:-3px; }
.ltx_page_navbar .ltx_LaTeXML_logo,
.ltx_page_logo .ltx_LaTeXML_logo { font-size:110%; }
/* if shown */
.ltx_page_navbar li { white-space:nowrap; display:block; overflow:hidden; }
/* If ref got turned into span, it's "this section"*/
.ltx_page_navbar li span.ltx_ref { white-space:normal; overflow:visible; }

/* Ought to be easily removable/overridable? */
.ltx_pagination.ltx_role_newpage { height:2em; }
/*======================================================================
  Document Structure; Titles & Frontmatter */

/* Hack to simulate run-in! put class="ltx_runin" on a title or tag
   for it to run-into the following text. */
.ltx_runin { display:inline; }
.ltx_runin:after { content:" "; }
.ltx_runin + .ltx_para,
.ltx_runin + .ltx_para p:first-child,
.ltx_runin + p:first-child {
    display:inline; }

.ltx_outdent { margin-left: -2em; }

/* .ltx_chapter_title, etc should be in ltx-article.css etc. */
.ltx_tocentry  { list-style-type:none; }

/* support for common author block layouts.*/
/* add class ltx_authors_1line to get authors in single line
   with pop-up affiliation, etc. */
.ltx_authors_1line .ltx_creator,
.ltx_authors_1line .ltx_author_before,
.ltx_authors_1line .ltx_author_after { display:inline;}
.ltx_authors_1line .ltx_author_notes { display:inline-block; }
.ltx_authors_1line .ltx_author_notes:before { content:"*"; color:blue;}
.ltx_authors_1line .ltx_author_notes span { display:none; }
.ltx_authors_1line .ltx_author_notes:hover span {
    display:block; position:absolute; z-index:10;
    background:white; text-align:left;
    border: 1px solid black; border-radius: 0 5px 5px 5px; box-shadow: 5px 5px 10px gray; }

/* add class=ltx_authors_multiline to get authors & affliations on separate lines*/
.ltx_authors_multiline .ltx_creator,
.ltx_authors_multiline .ltx_author_before,
.ltx_authors_multiline .ltx_author_after,
.ltx_authors_multiline .ltx_author_notes,
.ltx_authors_multiline .ltx_author_notes .ltx_contact {
    display:block; }

/*======================================================================
  Para level */
.ltx_float {
    margin: 1ex clamp(1em, 4.5%, 3em) 1ex clamp(1em, 4.5%, 3em); }

/* Multiple subfigures via flexbox */
.ltx_flex_figure {
  display: flex;
  flex-flow: row wrap;
  width: auto;
  max-width: 60rem;
  position: relative;
  justify-content: center;
  align-items: baseline;
  object-fit: contain;
  margin-bottom: 1rem;
}

.ltx_flex_size_1,
.ltx_flex_size_1 .ltx_tabular,
.ltx_flex_size_1 .ltx_graphics {
  max-width:60rem;
}
.ltx_flex_size_2,
.ltx_flex_size_2 .ltx_tabular,
.ltx_flex_size_2 .ltx_graphics {
  max-width: calc(0.44*60rem);
}
.ltx_flex_size_3,
.ltx_flex_size_3 .ltx_tabular,
.ltx_flex_size_3 .ltx_graphics {
  max-width: calc(0.30*60rem);
}
.ltx_flex_size_4,
.ltx_flex_size_4 .ltx_tabular,
.ltx_flex_size_4 .ltx_graphics {
  max-width: calc(0.24*60rem);
}
/*Default: More than 4 items, tricky.
  quite often intended to auto-reflow... */
.ltx_flex_size_many,
.ltx_flex_size_many .ltx_tabular,
.ltx_flex_size_many .ltx_graphics {
  max-width: calc(0.24*60rem);
}

/* flex row breaks */
.ltx_flex_figure .ltx_flex_break {
  flex-basis: 100%;
  height: 0;
}

/* layout preference */
.ltx_flex_figure .ltx_subgraphics,
.ltx_flex_figure .ltx_subfigure,
.ltx_flex_figure .ltx_subfloat,
.ltx_flex_figure .ltx_subtable {
  flex: 1 1 0px;
  margin: 0.1rem;
}
.ltx_subgraphics, .ltx_subfigure, .ltx_subtable, .ltx_subfloat {
  padding-left: 1rem;
  padding-right: 1rem;
}
.ltx_subgraphics > .ltx_figure,
.ltx_subfigure > .ltx_figure,
.ltx_subtable > .ltx_figure,
.ltx_subfloat > .ltx_figure {
  margin:0em;
}

/* theorems, figure, tables, floats captions.. */
/*======================================================================
 Blocks, Lists, Floats */
.ltx_p,
.ltx_quote,
.ltx_block,
.ltx_logical-block,
.ltx_para {
    display: block; }

/* alignment within blocks */
.ltx_align_left     { text-align:left; }
.ltx_align_right    { text-align:right; }
.ltx_align_center   { text-align:center; }
.ltx_align_justify  { text-align:justify; }
.ltx_align_top      { vertical-align:top; }
.ltx_align_bottom   { vertical-align:bottom; }
.ltx_align_middle   { vertical-align:middle; }
.ltx_align_baseline { vertical-align:baseline; }

.ltx_align_floatleft  { float:left; }
.ltx_align_floatright { float:right; }

.ltx_td.ltx_align_left,   .ltx_th.ltx_align_left,
.ltx_td.ltx_align_right,  .ltx_th.ltx_align_right,
.ltx_td.ltx_align_center, .ltx_th.ltx_align_center { white-space:nowrap; }
.ltx_td.ltx_align_left.ltx_wrap,   .ltx_th.ltx_align_left.ltx_wrap,
.ltx_td.ltx_align_right.ltx_wrap,  .ltx_th.ltx_align_right.ltx_wrap,
.ltx_td.ltx_align_center.ltx_wrap, .ltx_th.ltx_align_center.ltx_wrap,
.ltx_td.ltx_align_justify,  .ltx_th.ltx_align_justify { white-space:normal; }

.ltx_tabular .ltx_tabular { width:100%; }
.ltx_inline-block,
.ltx_inline-logical-block { display:inline-block; }

/* tabbing is always a standalone paragraph-level construct */
.ltx_tabular.ltx_tabbing { 
  display: table; }

/* avoid padding when aligning adjacent columns, e.g. for split decimals */
.ltx_norightpad { padding-right:0!important; }
.ltx_noleftpad  { padding-left:0!important; }
.ltx_nopad      { padding:0!important; }

/* equations in non-aligned mode (not normally used) */
.ltx_eqn_div { display:block; width:95%; text-align:center; }

/* equations in aligned mode (aligning tags, etc as well as equations) */
.ltx_eqn_table { display:table; width:100%; border-collapse:collapse; }
.ltx_eqn_row   { display:table-row; }
.ltx_eqn_cell  { display:table-cell; width:auto; }

/* Padding between column pairs in ams align */
table.ltx_eqn_align tr.ltx_equation td.ltx_align_left + td.ltx_align_right,
table.ltx_eqn_align tr.ltx_equation td.ltx_align_left + td.ltx_align_center,
table.ltx_eqn_align tr.ltx_equation td.ltx_align_center + td.ltx_align_right,
table.ltx_eqn_align tr.ltx_equation td.ltx_align_center + td.ltx_align_center  { padding-left:3em; }
table.ltx_eqn_eqnarray tr.ltx_eqn_lefteqn + tr td.ltx_align_right { min-width:2em; }

.ltx_eqn_eqno { max-width:0em; overflow:visible; white-space: nowrap; }
.ltx_eqn_eqno.ltx_align_right .ltx_tag { float:right; }

.ltx_eqn_center_padleft,
.ltx_eqn_center_padright { width:50%; min-width:2em;}
.ltx_eqn_left_padleft,
.ltx_eqn_right_padright { min-width:2em; }
.ltx_eqn_left_padright,
.ltx_eqn_right_padleft  { width:100%; }

/* Various lists */
.ltx_itemize,
.ltx_enumerate,
.ltx_description {
    display:block; }
.ltx_itemize .ltx_item,
.ltx_enumerate .ltx_item {
    display: list-item; white-space:nowrap; }

/* Position the tag to look like a normal item bullet. */
li.ltx_item > .ltx_tag {
    display:inline-block; margin-left:-1.5em; min-width:1.5em;
    text-align:right; }
.ltx_item .ltx_tag + .ltx_para {
    display:inline-block; vertical-align:top;}
.ltx_item .ltx_tag + .ltx_para .ltx_p  {
    display:inline; }
.ltx_item > .ltx_para > .ltx_p:first-child {
    text-indent:0em; }

.ltx_item > .ltx_para > .ltx_p { margin-top:0em; margin-bottom:0em; }
dd.ltx_item { margin-bottom:0.5em; }

/* NOTE: Need to try harder to get runin appearance? */
dl.ltx_description dt { margin-right:0.5em; float:left;
                        font-weight:bold; font-size:95%; }
dl.ltx_description dd { margin-left:5em; }
dl.ltx_description dl.ltx_description dd { margin-left:3em; }

/* Theorems */
.ltx_theorem  {margin:1em 0em 1em 0em; }
.ltx_title_theorem { font-size:100%; }

/* Bibliographies */
.ltx_bibliography dt { margin-right:0.5em; float:left; }
.ltx_bibliography dd { margin-left: clamp(1em, 4.5%, 3em); }
/*.ltx_biblist { list-style-type:none; }*/
.ltx_bibitem { list-style-type:none; }
.ltx_bibitem .ltx_tag { font-weight:bold; margin-left:-2em; width:3em; }
/*.bibitem-tag + div { display:inline; }*/
.ltx_bib_title { font-style:italic; }
.ltx_bib_article .bib-title { font-style:normal !important; }
.ltx_bib_journal  { font-style:italic; }
.ltx_bib_volume { font-weight:bold; }

/* Indices */
.ltx_indexlist li { list-style-type:none;  }
.ltx_indexlist { margin-left:1em; padding-left:1em;}

/* Listings */
.ltx_listing {
    display:block;
    margin: 1ex 3em 1ex 0em;
    overflow-x:auto;
    text-align: left; }
.ltx_float .ltx_listing {
    margin: 0; }
.ltx_listingline { white-space:nowrap; min-height:1em; }
.ltx_lst_space { white-space: pre; }
.ltx_lst_numbers_left .ltx_listingline .ltx_tag {
    background-color:transparent;
    margin-left:-3em; width:2.5em;
    position:absolute;
    text-align:right; }
.ltx_lst_numbers_right .ltx_listingline .ltx_tag {
    background-color:transparent;
    width:2.5em;
    position:absolute; right:3em;
    text-align:right; }
/*
    position:absolute; left:0em;
    max-width:0em; text-align:right; }
*/
.ltx_parbox {
    text-indent:0em;
    display: inline-block; }

/* NOTE that it is CRITICAL to put position:relative outside & absolute inside!!
   I wish I understood why!
   Outer box establishes resulting size, neutralizes any outer positioning, etc;
   inner establishes position of stuff to be rotated */
.ltx_transformed_outer {
    position:relative; bottom:0pt;left:0pt;
    overflow:visible; }
.ltx_transformed_inner {
    display:block;
    position:absolute;bottom:0pt;left:0pt; }
.ltx_transformed_inner > .ltx_p {text-indent:0em; margin:0; padding:0; }

/* If simulating a table (html5), try to get rowspan to work...sorta? */
span.ltx_tabular { position:relative; }
span.ltx_rowspan { position:absolute; top:0; bottom:0; }

/* by default, p doesn't indent */
.ltx_p { text-indent:0em; white-space:normal; }
/* explicit control of indentation (on ltx_para) */
.ltx_indent > .ltx_p:first-child { text-indent:2em!important; }
.ltx_noindent > .ltx_p:first-child { text-indent:0em!important; }

/*======================================================================
  Columns */
.ltx_page_columns {
    display: flex; }
.ltx_page_column1,
.ltx_page_column2 {
    flex:100%;
    margin: 0 20px;
 }
@media screen and (max-width: 60em){
  .ltx_page_columns {
     flex-direction: column; }
  .ltx_page_column1 > ul,
  .ltx_page_column1 > ol,
  .ltx_page_column1 > dl {
     margin-bottom: 0; }
  .ltx_page_column2 > ul,
  .ltx_page_column2 > ol,
  .ltx_page_column2 > dl {
     margin-top: 0; }
}

/*======================================================================
 Borders and such */
.ltx_tabular { display:inline-table; border-collapse:collapse; }
.ltx_tabular.ltx_centering { display:table; }
.ltx_thead,
.ltx_tfoot,
.ltx_tbody   { display:table-row-group; }
.ltx_tr      { display:table-row; }
.ltx_td,
.ltx_th      { display:table-cell; }

.ltx_tabular .ltx_td,
.ltx_tabular .ltx_th { padding:0.1em 0.5em; }
.ltx_tabular .ltx_td.ltx_nopad_l,
.ltx_tabular .ltx_th.ltx_nopad_l { padding-left:0; }
.ltx_tabular .ltx_td.ltx_nopad_r,
.ltx_tabular .ltx_th.ltx_nopad_r { padding-right:0; }

/* min-height does NOT apply to tr! */
.ltx_tabular .ltx_tr td:first-child::after,
.ltx_tabular .ltx_tr th:first-child::after {
   content: "";
   display: inline-block;
   vertical-align: top;
   min-height: 1em;
}


/* regular lines */
.ltx_border_t  { border-top:1px solid black; }
.ltx_border_r  { border-right:1px solid black; }
.ltx_border_b  { border-bottom:1px solid black; }
.ltx_border_l  { border-left:1px solid black; }
/* double lines */
.ltx_border_tt { border-top:3px double black; }
.ltx_border_rr { border-right:3px double black; }
.ltx_border_bb { border-bottom:3px double black; }
.ltx_border_ll { border-left:3px double black; }
/* Light lines */
.ltx_border_T  { border-top:1px solid gray; }
.ltx_border_R  { border-right:1px solid gray; }
.ltx_border_B  { border-bottom:1px solid gray; }
.ltx_border_L  { border-left:1px solid gray; }
/* Framing */
.ltx_framed    { padding:3pt; }
span.ltx_framed       { display:inline-block; text-indent:0; } /* avoid padding/margin collapse */
.ltx_framed_rectangle { border-style:solid; border-width:1px; }
.ltx_framed_top       { border-top-style:solid; border-top-width:1px; }
.ltx_framed_left      { border-left-style:solid; border-left-width:1px; }
.ltx_framed_right     { border-right-style:solid; border-right-width:1px; }
.ltx_framed_bottom,
.ltx_framed_underline { border-bottom-style:solid; border-bottom-width:1px; }
.ltx_framed_topbottom { border-top-style:solid; border-top-width:1px;
                        border-bottom-style:solid; border-bottom-width:1px; }
.ltx_framed_leftright { border-left-style:solid; border-left-width:1px;
                        border-right-style:solid; border-right-width:1px; }

.ltx_rule { vertical-align: bottom; height: 0.4pt; width: 0.4pt; }

/*======================================================================
 Misc */
/* .ltx_verbatim*/
.ltx_verbatim { text-align:left; }
/*======================================================================
 Meta stuff, footnotes */
.ltx_note_content { display:none; }
/*right:5%;  */
.ltx_note_content {
     max-width: 70%; font-size:90%; left:15%;
     text-align:left;
     background-color: white;
     padding: 0.5em 1em 0.5em 1.5em;
     border: 1px solid black; border-radius: 0 5px 5px 5px; box-shadow: 5px 5px 10px gray; }
.ltx_note_mark    { color:blue; }
.ltx_note_type    { font-weight: bold; }
.ltx_note { display:inline-block; text-indent:0; } /* So we establish containing block */
.ltx_note_content .ltx_note_mark { position:absolute; left:0.2em; top:-0.1em; }
.ltx_note:hover .ltx_note_content,
.ltx_note .ltx_note_content:hover {
   display:block; position:absolute; z-index:10; }
.ltx_note.ltx_marginpar_left { display:none; }

.ltx_ERROR        { color:red; }
.ltx_rdf          { display:none; }
.ltx_missing      { color:red;}
.ltx_nounicode    { color:red; }
.ltx_nodisplay    { display:none; }
/*======================================================================
 SVG (pgf/tikz ?) basics */

/* Stuff appearing in svg:foreignObject */
.ltx_svg_fog foreignObject  { margin:0; padding:0; overflow:visible; }
.ltx_svg_fog foreignObject > p { margin:0; padding:0; display:block; }
/*.ltx_svg_fog foreignObject > p { margin:0; padding:0; display:block; white-space:nowrap; }*/

/*======================================================================
 Low-level Basics */
/* Note that LaTeX(ML)'s font model doesn't map quite exactly to CSS's */
/* Font Families => font-family */
.ltx_font_serif      { font-family: serif; }
.ltx_font_sansserif  { font-family: sans-serif; }
.ltx_font_typewriter { font-family: monospace; }
/* dingbats should be converted to unicode? */
/* Math font families handled within math: script, symbol, fraktur, blackboard ? */
/* Font Series => font-weight */
.ltx_font_bold       { font-weight: bold; }
.ltx_font_medium     { font-weight: normal; }
/* Font Shapes => font-style or font-variant */
.ltx_font_italic     { font-style: italic; font-variant:normal; }
.ltx_font_upright    { font-style: normal; font-variant:normal; }
.ltx_font_slanted    { font-style: oblique; font-variant:normal; }
.ltx_font_smallcaps  { font-variant: small-caps; font-style:normal; }
.ltx_font_oldstyle   { font-variant-numeric: oldstyle-nums; }
.ltx_font_mathcaligraphic { font-family: "Lucida Calligraphy", "Zapf Chancery","URW Chancery L"; }
/* Fallbacks for when content+mathvariant cannot be mapped to Unicode */
.ltx_mathvariant_italic        { font-style: italic; }
.ltx_mathvariant_bold          { font-weight: bold; }
.ltx_mathvariant_bold-italic   { font-style: italic; font-weight: bold; }
.ltx_mathvariant_sans-serif             { font-family: sans-serif; }
.ltx_mathvariant-bold-sans-serif        { font-family: sans-serif; font-weight: bold; }
.ltx_mathvariant-sans-serif-italic      { font-family: sans-serif; font-style: italic; }
.ltx_mathvariant-bold-sans-serif-italic { font-family: sans-serif; font-style: italic; font-weight: bold; }
.ltx_mathvariant_monospace     { font-family: monospace; }
/* Can we say anything generic about double-struck, script or fraktur ? */
.ltx_mathvariant_double-struck { font-weight: bold; }
.ltx_mathvariant_script        { font-family: "Lucida Calligraphy", "Zapf Chancery","URW Chancery L", cursive; }
.ltx_mathvariant_bold-script   { font-family: "Lucida Calligraphy", "Zapf Chancery","URW Chancery L", cursive; font-weight: bold; }
.ltx_mathvariant-fraktur       { }/* ??? */
.ltx_mathvariant_bold-fraktur  { font-weight: bold; }

/*

.ltx_font_mathscript { ? }
*/
cite                 { font-style: normal; }

.ltx_red        { color:red; }
/*.ltx_centering  { text-align:center; margin:auto; }*/
/*.ltx_inline-block.ltx_centering,*/
/* Hmm.... is this right in general? */
.ltx_centering  { display:block; margin:auto; text-align:center; }

/* Dubious stuff */
.ltx_hflipped {
    display:inline-block;
    transform: scaleX(-1); }
.ltx_vflipped {
    display:inline-block;
    transform: scaleY(-1); }

/* .ltx_phantom handled in xslt */

.ltx_minipage {
  align-self: normal;
  display: inline-block;
}
.ltx_minipage > .ltx_graphics {
  max-width:100%;
}

.ltx_dates,
.ltx_authors,
.ltx_role_author         { text-align:center; margin:0.5em 0 0.5em 0; }
.ltx_role_author .ltx_personname  { font-size: 120%; }
.ltx_date        { text-align:center; font-size: 120%; margin:0.5em 0 0.5em 0; }
.ltx_subtitle    { text-align:center; font-size: 120%; padding-left:0.2em; margin-left:-0.5em; }

.ltx_title_abstract      { text-align:center; font-size: 100%; font-weight:bold; }
.ltx_abstract {
   margin-left:clamp(1em, 6%, 4em);
   margin-right:clamp(1em, 6%, 4em); }
.ltx_title_acknowledgements,
.ltx_title_keywords,
.ltx_title_classification {
   text-align:left; font-size: 100%; font-weight:bold; margin:0.5em 0 0 0; }

.ltx_appendix,
.ltx_part,
.ltx_section,
.ltx_subsection,
.ltx_subsubsection { margin-top:1.5em; }
.ltx_paragraph,
.ltx_subparagraph   { margin-top:1.0em; }

.ltx_title_part          { font-size:250%; font-weight:bold; margin-bottom:1em; }
.ltx_title_appendix,
.ltx_title_section,
.ltx_title_index,
.ltx_title_glossary,
.ltx_title_bibliography  { font-size:140%; font-weight:bold; margin-bottom:1em; }
.ltx_title_subsection    { font-size:120%; font-weight:bold; margin-bottom:1em; }
.ltx_title_subsubsection { font-size:100%; font-weight:bold; margin-bottom:1em; }

/* Paragraph & Subparagraph titles should be runin! */
.ltx_title_paragraph   { font-size:100%; font-weight:bold; display:inline;
                         margin-right:1em; }
.ltx_paragraph .ltx_title,
.ltx_paragraph .ltx_title + .ltx_para,
.ltx_paragraph .ltx_title + .ltx_para > .ltx_p { display:inline; }

.ltx_title_subparagraph  { font-size:100%; font-weight:bold; display:inline;
                           margin-left:2em; margin-right:1em; }
.ltx_subparagraph .ltx_title,
.ltx_subparagraph .ltx_title + .ltx_para,
.ltx_subparagraph .ltx_title + .ltx_para > .ltx_p { display:inline; }

.ltx_figure  { text-align:center; margin:auto; margin:0.5em; }
.ltx_table   { text-align:center; margin:auto; margin:0.5em; }

/* experimental: flex model, to center short captions, justify long ones */
.ltx_table,
.ltx_figure { display:flex; flex-direction:column; align-items:center; }
.ltx_table .ltx_caption,
.ltx_figure .ltx_caption { text-align:justify; }

/* first p in para gets indented; , even 1st in section if marked "no" first child */
.ltx_para > .ltx_p:first-child,
section.ltx_pruned_first > .ltx_title + .ltx_para > .ltx_p,
section.ltx_indent_first > .ltx_title + .ltx_para > .ltx_p { text-indent:2em; }
/* except the initial in a section */
section > .ltx_title +.ltx_para > .ltx_p,
section > .ltx_title +.ltx_date +.ltx_para > .ltx_p {text-indent:0em; }

.ltx_title_abstract + .ltx_p {text-indent:2em; }

.ltx_itemize,
.ltx_enumerate { margin-left:1em; }

.ltx_theorem { margin-top:0.5em; margin-bottom:0.5em; }
.ltx_theorem .ltx_title { margin-bottom:0.1em; }
.ltx_theorem .ltx_title + .ltx_para,
.ltx_theorem .ltx_title + .ltx_para .ltx_p,
.ltx_theorem .ltx_title + .ltx_p  { margin-top:0em; }

/* Microblog styles */
.microblog-feed {
  display: flex;
  flex-direction: column;
  gap: 1.5em;
}

.microblog-post {
  padding-bottom: 1em;
}

.microblog-header {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.5em;
  color: var(--col-fg-dim);
  font-size: 0.9em;
  margin-bottom: 0.5em;
}

.draft-alert {
  display: inline-block;
  padding: 0.2em 0.5em;
  font-size: 0.8em;
  background: var(--col-bg-yellow-subtle);
  color: var(--col-yellow-warmer);
  border-radius: 3px;
  margin-bottom: 0.5em;
}

.footer-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  justify-content: center;
  margin-bottom: 1em;
  padding-bottom: 1em;
}

.microblog-title,
.microblog-title a {
  color: var(--col-fg-main);
}

.microblog-tags {
  font-size: 0.9em;
  margin-top: 0.5em;
}

.microblog-tags a {
  color: var(--col-fg-dim);
  margin-right: 0.5em;
}

.microblog-tags a:hover {
  color: var(--col-fg-main);
}

.microblog-content {
  margin: 0.5em 0;
}

.microblog-content p:first-child {
  margin-top: 0;
}

.microblog-content p:last-child {
  margin-bottom: 0;
}

.microblog-content h2 {
  font-size: 1.1em;
  margin: 0.8em 0 0.4em;
}

.microblog-content h3 {
  font-size: 1em;
  margin: 0.6em 0 0.3em;
}

a.microblog-permalink {
  color: var(--col-fg-dim);
  text-decoration: none;
}

a.microblog-permalink:hover {
  color: var(--col-fg-main);
}

.microblog-single {
  max-width: 40em;
}

.microblog-nav {
  margin-top: 2em;
  padding-top: 1em;
  border-top: 1px solid var(--col-border);
}

.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5em;
  margin-top: 2em;
  padding-top: 1em;
  border-top: 1px solid var(--col-border);
}

.pagination-info {
  color: var(--col-fg-dim);
  font-size: 0.9em;
}

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

.archive-list li {
  margin: 0.3em 0;
}

.archive-list time {
  display: inline-block;
  width: 4em;
  color: var(--col-fg-dim);
  font-size: 0.9em;
}