.postlist { counter-reset: start-from 6 }
:root{--sans-font:-apple-system,BlinkMacSystemFont,"Avenir Next",Avenir,"Nimbus Sans L",Roboto,"Noto Sans","Segoe UI",Arial,Helvetica,"Helvetica Neue",sans-serif;--mono-font:Consolas,Menlo,Monaco,"Andale Mono","Ubuntu Mono",monospace;--standard-border-radius:5px;--border-width:1px;--bg:#fff;--accent-bg:#f5f7ff;--text:#212121;--text-light:#585858;--border:#898ea4;--accent:#0d47a1;--accent-hover:#1266e2;--accent-text:var(--bg);--code:#d81b60;--preformatted:#444;--marked:#fd3;--disabled:#efefef}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#212121;--accent-bg:#2b2b2b;--text:#dcdcdc;--text-light:#ababab;--accent:#ffb300;--accent-hover:#ffe099;--accent-text:var(--bg);--code:#f06292;--preformatted:#ccc;--disabled:#111}img,video{opacity:.8}}*,:before,:after{box-sizing:border-box}textarea,select,input,progress{-webkit-appearance:none;-moz-appearance:none;appearance:none}html{font-family:var(--sans-font);scroll-behavior:smooth}body{color:var(--text);background-color:var(--bg);grid-template-columns:1fr min(45rem,90%) 1fr;margin:0;font-size:1.15rem;line-height:1.5;display:grid}body>*{grid-column:2}body>header{background-color:var(--accent-bg);border-bottom:var(--border-width)solid var(--border);text-align:center;grid-column:1/-1;padding:0 .5rem 2rem}body>header>:only-child{margin-block-start:2rem}body>header h1{max-width:1200px;margin:1rem auto}body>header p{max-width:40rem;margin:1rem auto}main{padding-top:1.5rem}body>footer{color:var(--text-light);text-align:center;border-top:var(--border-width)solid var(--border);margin-top:4rem;padding:2rem 1rem 1.5rem;font-size:.9rem}h1{font-size:3rem}h2{margin-top:3rem;font-size:2.6rem}h3{margin-top:3rem;font-size:2rem}h4{font-size:1.44rem}h5{font-size:1.15rem}h6{font-size:.96rem}p{margin:1.5rem 0}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3{line-height:1.1}@media only screen and (width<=720px){h1{font-size:2.5rem}h2{font-size:2.1rem}h3{font-size:1.75rem}h4{font-size:1.25rem}}a,a:visited{color:var(--accent)}a:hover{text-decoration:none}button,.button,a.button,input[type=submit],input[type=reset],input[type=button]{border:var(--border-width)solid var(--accent);background-color:var(--accent);color:var(--accent-text);padding:.5rem .9rem;line-height:normal;text-decoration:none}.button[aria-disabled=true],input:disabled,textarea:disabled,select:disabled,button[disabled]{cursor:not-allowed;background-color:var(--disabled);border-color:var(--disabled);color:var(--text-light)}input[type=range]{padding:0}abbr[title]{cursor:help;text-decoration-line:underline;text-decoration-style:dotted}button:enabled:hover,.button:not([aria-disabled=true]):hover,input[type=submit]:enabled:hover,input[type=reset]:enabled:hover,input[type=button]:enabled:hover{background-color:var(--accent-hover);border-color:var(--accent-hover);cursor:pointer}.button:focus-visible,button:focus-visible:where(:enabled),input:enabled:focus-visible:where([type=submit],[type=reset],[type=button]){outline:2px solid var(--accent);outline-offset:1px}header nav{padding:1rem 0 0;font-size:1rem;line-height:2}header nav ul,header nav ol{flex-flow:wrap;place-content:space-around center;align-items:center;margin:0;padding:0;list-style-type:none;display:flex}header nav ul li,header nav ol li{display:inline-block}header nav a,header nav a:visited{border:var(--border-width)solid var(--border);border-radius:var(--standard-border-radius);color:var(--text);margin:0 .5rem 1rem;padding:.1rem 1rem;text-decoration:none;display:inline-block}header nav a:hover,header nav a.current,header nav a[aria-current=page],header nav a[aria-current=true]{border-color:var(--accent);color:var(--accent);cursor:pointer}@media only screen and (width<=720px){header nav a{border:none;padding:0;line-height:1;text-decoration:underline}}aside,details,pre,progress{background-color:var(--accent-bg);border:var(--border-width)solid var(--border);border-radius:var(--standard-border-radius);margin-bottom:1rem}aside{float:right;width:30%;margin-inline-start:15px;padding:0 15px;font-size:1rem}[dir=rtl] aside{float:left}@media only screen and (width<=720px){aside{float:none;width:100%;margin-inline-start:0}}article,fieldset,dialog{border:var(--border-width)solid var(--border);border-radius:var(--standard-border-radius);margin-bottom:1rem;padding:1rem}article h2:first-child,section h2:first-child,article h3:first-child,section h3:first-child{margin-top:1rem}section{border-top:var(--border-width)solid var(--border);border-bottom:var(--border-width)solid var(--border);margin:3rem 0;padding:2rem 1rem}section+section,section:first-child{border-top:0;padding-top:0}section+section{margin-top:0}section:last-child{border-bottom:0;padding-bottom:0}details{padding:.7rem 1rem}summary{cursor:pointer;word-break:break-all;margin:-.7rem -1rem;padding:.7rem 1rem;font-weight:700}details[open]>summary+*{margin-top:0}details[open]>summary{margin-bottom:.5rem}details[open]>:last-child{margin-bottom:0}table{border-collapse:collapse;margin:1.5rem 0}figure>table{width:max-content;margin:0}td,th{border:var(--border-width)solid var(--border);text-align:start;padding:.5rem}th{background-color:var(--accent-bg);font-weight:700}tr:nth-child(2n){background-color:var(--accent-bg)}table caption{margin-bottom:.5rem;font-weight:700}textarea,select,input,button,.button{font-size:inherit;border-radius:var(--standard-border-radius);box-shadow:none;max-width:100%;margin-bottom:.5rem;padding:.5em;font-family:inherit;display:inline-block}textarea,select,input{color:var(--text);background-color:var(--bg);border:var(--border-width)solid var(--border)}label{display:block}textarea:not([cols]){width:100%}select:not([multiple]){background-image:linear-gradient(45deg,transparent 49%,var(--text)51%),linear-gradient(135deg,var(--text)51%,transparent 49%);background-position:calc(100% - 15px),calc(100% - 10px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-inline-end:25px}[dir=rtl] select:not([multiple]){background-position:10px,15px}input[type=checkbox],input[type=radio]{vertical-align:middle;width:min-content;position:relative}input[type=checkbox]+label,input[type=radio]+label{display:inline-block}input[type=radio]{border-radius:100%}input[type=checkbox]:checked,input[type=radio]:checked{background-color:var(--accent)}input[type=checkbox]:checked:after{content:" ";border-right:solid var(--bg).08em;border-bottom:solid var(--bg).08em;background-color:#0000;border-radius:0;width:.2em;height:.4em;font-size:1.8em;position:absolute;top:.04em;left:.18em;transform:rotate(45deg)}input[type=radio]:checked:after{content:" ";background-color:var(--bg);border-radius:100%;width:.3em;height:.3em;font-size:1.8em;position:absolute;top:.125em;left:.125em}@media only screen and (width<=720px){textarea,select,input{width:100%}}input[type=color]{height:2.5rem;padding:.2rem}input[type=file]{border:0}hr{height:var(--border-width);background:var(--border);border:none;margin:1rem auto}mark{border-radius:var(--standard-border-radius);background-color:var(--marked);color:#000;padding:2px 5px}mark a{color:#0d47a1}img,video{border-radius:var(--standard-border-radius);max-width:100%;height:auto}figure{margin:0;display:block;overflow-x:auto}figure>img,figure>picture>img{margin-inline:auto;display:block}figcaption{text-align:center;color:var(--text-light);margin-block:1rem;font-size:.9rem;position:sticky;left:0}blockquote{border-inline-start:.35rem solid var(--accent);color:var(--text-light);margin-block:2rem;margin-inline:2rem 0;padding:.4rem .8rem;font-style:italic}cite{color:var(--text-light);font-size:.9rem;font-style:normal}dt{color:var(--text-light)}code,pre,pre span,kbd,samp{font-family:var(--mono-font);color:var(--code)}kbd{color:var(--preformatted);border:var(--border-width)solid var(--preformatted);border-bottom:3px solid var(--preformatted);border-radius:var(--standard-border-radius);padding:.1rem .4rem}pre{max-width:100%;color:var(--preformatted);padding:1rem 1.4rem;overflow:auto}pre code{color:var(--preformatted);background:0 0;margin:0;padding:0}progress{width:100%}progress:indeterminate{background-color:var(--accent-bg)}progress::-webkit-progress-bar{border-radius:var(--standard-border-radius);background-color:var(--accent-bg)}progress::-webkit-progress-value{border-radius:var(--standard-border-radius);background-color:var(--accent)}progress::-moz-progress-bar{border-radius:var(--standard-border-radius);background-color:var(--accent);transition-property:width;transition-duration:.3s}progress:indeterminate::-moz-progress-bar{background-color:var(--accent-bg)}dialog{background-color:var(--bg);max-width:40rem;margin:auto}dialog::backdrop{background-color:var(--bg);opacity:.8}@media only screen and (width<=720px){dialog{max-width:calc(100vw - 2rem)}}sup,sub{vertical-align:baseline;position:relative}sup{top:-.4em}sub{top:.3em}.notice{background:var(--accent-bg);border:var(--border-width)solid var(--border);border-radius:var(--standard-border-radius);margin:2rem 0;padding:1.5rem}@media print{@page{margin:1cm}body{display:block}body>header{background-color:unset}body>header nav,body>footer{display:none}article{border:none;padding:0}a[href^=http]:after{content:" <" attr(href)">"}abbr[title]:after{content:" (" attr(title)")"}a{text-decoration:none}p{widows:3;orphans:3}hr{border-top:var(--border-width)solid var(--border)}mark{border:var(--border-width)solid var(--border)}pre,table,figure,img,svg{break-inside:avoid}pre code{white-space:pre-wrap}}
.markdown-alert {
  padding: 0.5rem 1rem;
  margin-bottom: 16px;
  color: inherit;
  border-left: .25em solid #888;
}

.markdown-alert>:first-child {
  margin-top: 0
}

.markdown-alert>:last-child {
  margin-bottom: 0
}

.markdown-alert .markdown-alert-title {
  display: flex;
  font-weight: 500;
  align-items: center;
  line-height: 1
}

.markdown-alert .markdown-alert-title .octicon {
  margin-right: 0.5rem;
  display: inline-block;
  overflow: visible !important;
  vertical-align: text-bottom;
  fill: currentColor;
}

.markdown-alert.markdown-alert-note {
  border-left-color: var(--color-note);
}

.markdown-alert.markdown-alert-note .markdown-alert-title {
  color: var(--color-note);
}

.markdown-alert.markdown-alert-important {
  border-left-color: var(--color-important);
}

.markdown-alert.markdown-alert-important .markdown-alert-title {
  color: var(--color-important);
}

.markdown-alert.markdown-alert-warning {
  border-left-color: var(--color-warning);
}

.markdown-alert.markdown-alert-warning .markdown-alert-title {
  color: var(--color-warning);
}

.markdown-alert.markdown-alert-tip {
  border-left-color: var(--color-tip);
}

.markdown-alert.markdown-alert-tip .markdown-alert-title {
  color: var(--color-tip);
}

.markdown-alert.markdown-alert-caution {
  border-left-color: var(--color-caution);
}

.markdown-alert.markdown-alert-caution .markdown-alert-title {
  color: var(--color-caution);
}
/* https://github.com/atelierbram/Base2Tone-highlight.js/blob/master/db/schemes/base2tone-space.yml */

:root {
  --baseA0: #24242e;
  --baseA1: #333342;
  --baseA2: #515167;
  --baseA3: #5b5b76;
  --baseA4: #737391;
  --baseA5: #8a8aa3;
  --baseA6: #a1a1b5;
  --baseA7: #b8b8c7;
  --baseB0: #5151e6;
  --baseB1: #6363ee;
  --baseB2: #7676f4;
  --baseB3: #767693;
  --baseB4: #8a8aad;
  --baseB5: #aaaaca;
  --baseB6: #cecee3;
  --baseB7: #ebebff;
  --baseC0: #7b736f;
  --baseC1: #8e8580;
  --baseC2: #a09792;
  --baseC3: #b1a9a5;
  --baseC4: #c3bbb7;
  --baseC5: #d8cfcb;
  --baseC6: #eae4e1;
  --baseC7: #fbf9f9;
  --baseD0: #b25424;
  --baseD1: #cb5c25;
  --baseD2: #dd672c;
  --baseD3: #e66e33;
  --baseD4: #ec7336;
  --baseD5: #f37b3f;
  --baseD6: #f88349;
  --baseD7: #fe8c52;
}

/* Customised colour theme for Simple.css */

/* Default (light) theme */
:root {
  color-scheme: light dark;
}

@media (prefers-color-scheme: light) {
  :root {
    --bg: var(--baseC7);
    --accent-bg: var(--baseB7);
    --text: var(--baseA0);
    --text-light: var(--baseA4);
    --border: var(--baseB5);
    --accent: var(--baseB0);
    --accent-hover: var(--baseB3);
    --accent-text: var(--bg);
    --code: var(--baseD0);
    --preformatted: var(--baseD2);
    --marked: #ffdd33;
    --disabled: var(--baseA7);
  }
}

/* Dark theme */
@media (prefers-color-scheme: dark) {
  :root {
    --bg: var(--baseA0);
    --accent-bg: var(--baseA1);
    --text: var(--baseC6);
    --text-light: var(--baseC1);
    --border: var(--baseA2);
    --accent: var(--baseB5);
    --accent-hover: var(--baseB7);
    --accent-text: var(--bg);
    --code: var(--baseD5);
    --preformatted: var(--baseD7);
    --disabled: var(--baseA2);
  }
}

/* Customised colour theme for GitHub colors */
:root {
  --color-tip: var(--baseB0);
  --color-note: var(--baseB0);
  --color-warning: var(--baseD4);
}

@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;
    --color-tip: var(--baseB3);
    --color-note: var(--baseB3);
    --color-warning: var(--baseD7);
  }
}
/* @link https://utopia.fyi/type/calculator?c=320,16,1.2,1240,22,1.25,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */

:root {
  --step--2: clamp(0.6944rem, 0.6299rem + 0.3227vw, 0.88rem);
  --step--1: clamp(0.8333rem, 0.7406rem + 0.4638vw, 1.1rem);
  --step-0: clamp(1rem, 0.8696rem + 0.6522vw, 1.375rem);
  --step-1: clamp(1.2rem, 1.0196rem + 0.9022vw, 1.7188rem);
  --step-2: clamp(1.44rem, 1.1936rem + 1.2321vw, 2.1484rem);
  --step-3: clamp(1.728rem, 1.3949rem + 1.6653vw, 2.6855rem);
  --step-4: clamp(2.0736rem, 1.6272rem + 2.2319vw, 3.3569rem);
  --step-5: clamp(2.4883rem, 1.8943rem + 2.9702vw, 4.1962rem);
}

/* @link https://utopia.fyi/space/calculator?c=320,16,1.2,1240,22,1.25,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */

:root {
  --space-3xs: clamp(0.25rem, 0.2065rem + 0.2174vw, 0.375rem);
  --space-2xs: clamp(0.5rem, 0.4348rem + 0.3261vw, 0.6875rem);
  --space-xs: clamp(0.75rem, 0.6413rem + 0.5435vw, 1.0625rem);
  --space-s: clamp(1rem, 0.8696rem + 0.6522vw, 1.375rem);
  --space-m: clamp(1.5rem, 1.3043rem + 0.9783vw, 2.0625rem);
  --space-l: clamp(2rem, 1.7391rem + 1.3043vw, 2.75rem);
  --space-xl: clamp(3rem, 2.6087rem + 1.9565vw, 4.125rem);
  --space-2xl: clamp(4rem, 3.4783rem + 2.6087vw, 5.5rem);
  --space-3xl: clamp(6rem, 5.2174rem + 3.913vw, 8.25rem);

  /* One-up pairs */
  --space-3xs-2xs: clamp(0.25rem, 0.0978rem + 0.7609vw, 0.6875rem);
  --space-2xs-xs: clamp(0.5rem, 0.3043rem + 0.9783vw, 1.0625rem);
  --space-xs-s: clamp(0.75rem, 0.5326rem + 1.087vw, 1.375rem);
  --space-s-m: clamp(1rem, 0.6304rem + 1.8478vw, 2.0625rem);
  --space-m-l: clamp(1.5rem, 1.0652rem + 2.1739vw, 2.75rem);
  --space-l-xl: clamp(2rem, 1.2609rem + 3.6957vw, 4.125rem);
  --space-xl-2xl: clamp(3rem, 2.1304rem + 4.3478vw, 5.5rem);
  --space-2xl-3xl: clamp(4rem, 2.5217rem + 7.3913vw, 8.25rem);

  /* Custom pairs */
  --space-s-l: clamp(1rem, 0.3913rem + 3.0435vw, 2.75rem);
}

:root {
	font-size: 16px;
	font-family: system-ui, sans-serif;

  --standard-border-radius: 5px;
}

pre, code {
  font-family: ui-monospace, monospace;
}

body {
	font-size: var(--step-0);
}

h1, header h1 * {
	font-size: var(--step-3);
}

h2, h2 * {
	font-size: var(--step-2);
}

h3, h3 * {
	font-size: var(--step-1);
}

nav *, footer * {
	font-size: var(--step--1);
}

pre, pre * {
	font-size: var(--step--1);
}

/* https://www.a11yproject.com/posts/how-to-hide-content/ */
.visually-hidden {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

/* Page size */
body {
	display: flex;
	flex-direction: column;
	min-block-size: 100vh;
}

main {
	flex-grow: 1;
	inline-size: min(80ch, 100vw - 2rem);
	margin-inline: auto;
}

/* Main heading link */

header h1 a:not(:hover) {
	text-decoration: none;
}

header h1 a:hover {
	text-decoration: underline;
}

/* Breadcrumbs */

.breadcrumbs {
  list-style-type: none;
  padding-inline: 0;
  display: flex;
}

.breadcrumbs li:not(:last-child)::after {
  content: "\2192";
  padding-inline: 0.5rem;
}

.breadcrumbs a[aria-current=true] {
  text-decoration: none;
  color: currentColor;
  pointer-events: none;
}

/* Strapline */

.strapline {
	text-wrap: balance;
}

/* Blog next/previous links */

.links-nextprev {
	display: flex;
	justify-content: space-between;
	gap: .5em 1em;
	list-style: "";
	border-top: 1px dashed var(--color-gray-20);
	padding: 1em 0;
}

.links-nextprev > * {
	flex-grow: 1;
}

.links-nextprev-next {
	text-align: right;
}

/* Post date */

.post-date {
  color: var(--text-light);
}

/* Code block */

pre {
	font-size: 1rem;
}

/* Markdown alerts */

.markdown-alert {
  margin-block-start: var(--space-m); 
}

/* Footer */

footer p {
  text-wrap: balance;
}
/*
Name:   Base2Tone-Mall Light
Author: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes)

http://atelierbram.github.io/Base2Tone-prism/demo/evening/light/
Prism template for Base2Tone by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/)
Generated with Base16 Builder (https://github.com/base16-builder/base16-builder)
*/

code[class*="language-"],
pre[class*="language-"] {
  /* font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace;
  font-size: 14px; */
  line-height: 1.375;
  direction: ltr;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;

  -moz-tab-size: 2;
  -o-tab-size: 2;
  tab-size: 2;

  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
}

/* Light theme */

@media (prefers-color-scheme: light) {

  code[class*="language-"],
  pre[class*="language-"] {
    background: #fbf9f9; /* C7 */
    color: #767693; /* B3 */
  }

  pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
  code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
    text-shadow: none;
    background: #fbf9f9; /* C7 */
  }

  pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
  code[class*="language-"]::selection, code[class*="language-"] ::selection {
    text-shadow: none;
    background: #fbf9f9; /* C7 */
  }

  /* Code blocks */
  pre[class*="language-"] {
    padding: 1em;
    margin: .5em 0;
    overflow: auto;
  }

  /* Inline code */
  :not(pre) > code[class*="language-"] {
    padding: .1em;
    border-radius: .3em;
  }

  .token.comment,
  .token.prolog,
  .token.doctype,
  .token.cdata {
  /*  color: #c3bbb7; C4 */
  color: var(--base-C2);
  }

  .token.punctuation {
    /* color: #c3bbb7; C4 */
    color: var(--base-C2);
  }

  .token.namespace {
    opacity: .7;
  }

  .token.tag,
  .token.operator,
  .token.number {
    color: #5151e6; /* B0 */
  }

  .token.property,
  .token.function {
    color: #dd672c; /* D2 */
  }

  .token.tag-id,
  .token.selector,
  .token.atrule-id {
    color: #b25424; /* D0 */
  }

  code.language-javascript,
  .token.attr-name {
    color: #dd672c; /* D2 */
  }

  code.language-css,
  code.language-scss,
  .token.boolean,
  .token.string,
  .token.entity,
  .token.url,
  .language-css .token.string,
  .language-scss .token.string,
  .style .token.string,
  .token.attr-value,
  .token.keyword,
  .token.control,
  .token.directive,
  .token.unit,
  .token.statement,
  .token.regex,
  .token.atrule {
    color: #7676f4; /* B2 */
  }

  .token.placeholder,
  .token.variable {
    color: #aaaaca; /* B5 */
  }

  .token.deleted {
    text-decoration: line-through;
  }

  .token.inserted {
    border-bottom: 1px dotted #b25424; /* D0 */
    text-decoration: none;
  }

  .token.italic {
    font-style: italic;
  }

  .token.important,
  .token.bold {
    font-weight: bold;
  }

  .token.important {
    color: #dd672c; /* D2 */
  }

  .token.entity {
    cursor: help;
  }

  pre > code.highlight {
    outline: .4em solid #dd672c; /* D2 */
    outline-offset: .4em;
  }

  /* overrides color-values for the Line Numbers plugin
  * http://prismjs.com/plugins/line-numbers/
  */
  .line-numbers .line-numbers-rows {
    border-right-color: #eae4e1; /* C6 */
  }

  .line-numbers-rows > span:before {
    color: #d8cfcb; /* C5 */
  }

  /* overrides color-values for the Line Highlight plugin
  * http://prismjs.com/plugins/line-highlight/
  * alpha transparency in 8 digits hex notation coming to a browser near you soon:
  * https://drafts.csswg.org/css-color/#hex-notation
  */
  .line-highlight {
    background: #b2542433; /* D0 */
    background: linear-gradient(to right, #b2542433 70%, #b2542400); /* D0 */
  }
}

/* Dark theme */

@media (prefers-color-scheme: dark) {
  code[class*="language-"],
  pre[class*="language-"] {  
    background: #24242e; /* A0 */
    /* color: #767693; B3 */
    color: var(--base-B4);
  }

  pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
  code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
    text-shadow: none;
    background: #5151e6; /* B0 */
  }

  pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
  code[class*="language-"]::selection, code[class*="language-"] ::selection {
    text-shadow: none;
    background: #5151e6; /* B0 */
  }

  /* Code blocks */
  pre[class*="language-"] {
    padding: 1em;
    margin: .5em 0;
    overflow: auto;
  }

  /* Inline code */
  :not(pre) > code[class*="language-"] {
    padding: .1em;
    border-radius: .3em;
  }

  .token.comment,
  .token.prolog,
  .token.doctype,
  .token.cdata {
    /* color: #5b5b76; A3 */
    color: var(--base-A7);
  }

  .token.punctuation {
    /* color: #5b5b76; A3 */
    color: var(--base-A7);
  }

  .token.namespace {
    opacity: .7;
  }

  .token.tag,
  .token.operator,
  .token.number {
    color: #dd672c; /* D2 */
  }

  .token.property,
  .token.function {
    /* color: #767693; B3 */
    color: var(--base-B4);
  }

  .token.tag-id,
  .token.selector,
  .token.atrule-id {
    color: #ebebff; /* B7 */
  }

  code.language-javascript,
  .token.attr-name {
    color: #aaaaca; /* B5 */
  }

  code.language-css,
  code.language-scss,
  .token.boolean,
  .token.string,
  .token.entity,
  .token.url,
  .language-css .token.string,
  .language-scss .token.string,
  .style .token.string,
  .token.attr-value,
  .token.keyword,
  .token.control,
  .token.directive,
  .token.unit,
  .token.statement,
  .token.regex,
  .token.atrule {
    color: #fe8c52; /* D7 */
  }

  .token.placeholder,
  .token.variable {
    color: #fe8c52; /* D7 */
  }

  .token.deleted {
    text-decoration: line-through;
  }

  .token.inserted {
    border-bottom: 1px dotted #ebebff; /* B7 */
    text-decoration: none;
  }

  .token.italic {
    font-style: italic;
  }

  .token.important,
  .token.bold {
    font-weight: bold;
  }

  .token.important {
    color: #aaaaca; /* B5 */
  }

  .token.entity {
    cursor: help;
  }

  pre > code.highlight {
    outline: .4em solid #7676f4; /* B2 */
    outline-offset: .4em;
  }

  /* overrides color-values for the Line Numbers plugin
  * http://prismjs.com/plugins/line-numbers/
  */
  .line-numbers .line-numbers-rows {
    border-right-color: #333342; /* A1 */
  }

  .line-numbers-rows > span:before {
    color: #333342; /* A1 */
  }

  /* overrides color-values for the Line Highlight plugin
  * http://prismjs.com/plugins/line-highlight/
  * alpha transparency in 8 digits hex notation coming to a browser near you soon:
  * https://drafts.csswg.org/css-color/#hex-notation
  */
  .line-highlight {
    background: #dd672c33;
    background: linear-gradient(to right, #dd672c33 70%, #dd672c00); /* D2 */
  }
}
.block-header {
  border: 1px solid var(--border);
  padding: 1rem;
  border-radius: 5px;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-style: dashed;
  line-height: 1;
  display: flex;
  justify-content: space-between;
}

.block-header * {
  color: var(--baseB4);
  font-size: var(--step--2);
  text-transform: uppercase;
}

.block-header + pre {
  margin-block-start: 0;
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.block-header button {
  color: var(--baseB5);
  background: none;
  border: none;
  margin-block-end: 0;
  padding: 0;

  &:enabled:hover, &:enabled:active {
    color: var(--baseB0);
    background: none;
  }
}

@media (prefers-color-scheme: dark) {
  .block-header * {
    color: var(--baseB7);
  }
  .block-header button {
    color: var(--baseA5);

    &:enabled:hover, &:enabled:active {
      color: var(--baseB2);
    }
  }
}