@charset "UTF-8";
html:root {
  --accent: #ffa86a; }

:root {
  --accent-contrast-color: black;
  --article-link-color: var(inherit);
  --background: color-mix(in srgb, var(--accent) 2%, #1d1e28 98%);
  --border-color: rgba(255, 255, 255, 0.1);
  --color: white;
  --menu-color: white;
  --syntax-func-color: color-mix(in srgb, var(--accent) 70%, #999 30%);
  --syntax-var-color: color-mix(in srgb, var(--accent) 90%, transparent);
  --syntax-punctuation-color: white;
  --syntax-value-color: color-mix(in srgb, var(--accent), white);
  --syntax-comment-color: rgba(255, 255, 255, 0.3);
  --syntax-line-highlight-mix: color-mix(in srgb, var(--accent) 90%, #999 10%);
  --syntax-line-highlight-background-color: hsla(24, 20%, 50%, 0.4);
  --syntax-line-highlight-color: hsl(24, 20%, 95%);
  --syntax-line-highlight-box-shadow: white;
  --syntax-code-border-color: rgba(255, 255, 255, 0.1);
  --syntax-code-copy-button-background: hsla(0, 0%, 87.8%, 0.2);
  --syntax-code-copy-button-color: #bbb;
  --syntax-code-copy-button-box-shadow-color: rgba(0, 0, 0, 0.2); }

@font-face {
  font-display: swap;
  font-family: 'Fira Code';
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/FiraCode-Regular.woff") format("woff"); }

@font-face {
  font-display: swap;
  font-family: 'Fira Code';
  font-style: normal;
  font-weight: 800;
  src: url("../fonts/FiraCode-Bold.woff") format("woff"); }

.button-container {
  display: table;
  margin-left: auto;
  margin-right: auto; }

button,
.button,
a.button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 18px;
  margin: 5px 0;
  text-decoration: none;
  text-align: center;
  border-radius: 8;
  border: 1px solid var(--accent);
  background: var(--accent);
  color: var(--accent-contrast-color);
  font: inherit;
  font-weight: bold;
  appearance: none;
  cursor: pointer;
  outline: none;
  /* variants */
  /* sizes */ }
  button:hover,
  .button:hover,
  a.button:hover {
    background: color-mix(in srgb, var(--accent), transparent 10%); }
  button.outline,
  .button.outline,
  a.button.outline {
    background: transparent;
    box-shadow: none;
    padding: 8px 18px; }
    button.outline :hover,
    .button.outline :hover,
    a.button.outline :hover {
      transform: none;
      box-shadow: none; }
  button.link,
  .button.link,
  a.button.link {
    background: none;
    font-size: 1rem; }
  button.small,
  .button.small,
  a.button.small {
    font-size: .8rem; }
  button.wide,
  .button.wide,
  a.button.wide {
    min-width: 200px;
    padding: 14px 24px; }

a.read-more,
a.read-more:hover,
a.read-more:active {
  display: inline-flex;
  border: none;
  color: var(--accent);
  background: none;
  box-shadow: none;
  padding: 0;
  margin: 20px 0;
  max-width: 100%; }

.code-toolbar {
  margin-bottom: 20px; }
  .code-toolbar .toolbar-item a {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 3px 8px;
    margin-bottom: 5px;
    text-decoration: none;
    text-align: center;
    font-size: 13px;
    font-weight: 500;
    border-radius: 8px;
    border: 1px solid transparent;
    appearance: none;
    cursor: pointer;
    outline: none; }

input, textarea, select {
  background: transparent;
  color: var(--accent);
  border: 1px solid var(--accent);
  border-radius: 0;
  padding: 10px;
  margin: 5px 0;
  font: inherit;
  appearance: none; }
  input:focus, input :active, textarea:focus, textarea :active, select:focus, select :active {
    border-color: var(--color);
    outline: 1px solid var(--color); }
  input:active, textarea:active, select:active {
    box-shadow: none; }

select {
  background: var(--background); }
  select option {
    background: var(--background); }

::placeholder {
  color: color-mix(in srgb, var(--accent), transparent 50%); }

input[type="checkbox"] {
  vertical-align: middle;
  padding: 10px;
  box-shadow: inset 0 0 0 3px var(--background); }
  input[type="checkbox"]:checked {
    background: var(--accent); }

.header {
  display: flex;
  flex-direction: column;
  position: relative; }
  @media print {
    .header {
      display: none; } }
  .header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between; }
  .header__logo {
    display: flex;
    flex: 1; }
    .header__logo:after {
      content: '';
      background: repeating-linear-gradient(90deg, var(--accent), var(--accent) 2px, transparent 0, transparent 10px);
      display: block;
      width: 100%;
      right: 10px; }
    .header__logo a {
      flex: 0 0 auto;
      max-width: 100%;
      text-decoration: none; }

.navigation-menu {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin: 20px 1px; }
  @media (max-width: 684px) {
    .navigation-menu {
      margin: 0; } }
  .navigation-menu__inner {
    display: flex;
    flex: 1;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0; }
    .navigation-menu__inner > li {
      flex: 0 0 auto;
      margin-bottom: 10px;
      white-space: nowrap; }
      .navigation-menu__inner > li:not(:last-of-type) {
        margin-right: 20px; }
    @media (max-width: 684px) {
      .navigation-menu__inner {
        flex-direction: column;
        align-items: flex-start;
        padding: 0; }
        .navigation-menu__inner li {
          margin: 0;
          padding: 5px; } }
  .navigation-menu .spacer {
    flex-grow: 1 !important; }

.menu {
  display: flex;
  flex-direction: column;
  position: relative;
  list-style: none;
  padding: 0;
  margin: 0; }
  .menu__trigger {
    margin-right: 0 !important;
    color: var(--accent);
    user-select: none;
    cursor: pointer; }
  .menu__subdrop--title {
    padding: 5px; }
  .menu__subdrop--list {
    list-style-type: unset; }
  .menu__dropdown {
    --shadow-color: color-mix(in srgb, var(--background), transparent 20%);
    display: none;
    flex-direction: column;
    --shadow: 0 10px var(--shadow-color), -10px 10px var(--shadow-color),
    10px 10px var(--shadow-color);
    position: absolute;
    background: var(--background);
    box-shadow: var(--shadow);
    color: var(--menu-color);
    border: 2px solid;
    margin: 0;
    padding: 10px;
    top: 10px;
    left: 0;
    list-style: none;
    z-index: 99; }
    .open .menu__dropdown {
      display: flex; }
    .menu__dropdown > li {
      flex: 0 0 auto; }
      .menu__dropdown > li:not(:last-of-type) {
        margin-bottom: 10px; }
      .menu__dropdown > li a {
        display: flex;
        padding: 5px; }
  @media (max-width: 684px) {
    .menu--desktop {
      display: none; } }
  .menu--mobile .menu__trigger {
    color: var(--accent);
    border: 2px solid;
    margin-left: 10px;
    height: 100%;
    padding: 3px 8px;
    margin-bottom: 0 !important;
    position: relative;
    cursor: pointer;
    display: none; }
    @media (max-width: 684px) {
      .menu--mobile .menu__trigger {
        display: block; } }
  @media (max-width: 684px) {
    .menu--mobile .menu__dropdown {
      left: auto;
      right: 0; } }
  .menu--mobile li {
    flex: 0 0 auto; }
    .menu--mobile li:not(:last-of-type) {
      margin-bottom: 10px; }
  .menu--language-selector .menu__trigger {
    color: var(--accent);
    border: 2px solid;
    margin-left: 10px;
    height: 100%;
    padding: 3px 8px;
    margin-bottom: 0 !important;
    position: relative;
    cursor: pointer; }
    @media (max-width: 684px) {
      .menu--language-selector .menu__trigger {
        display: none; } }
  .menu--language-selector .menu__dropdown {
    left: auto;
    right: 0; }

.logo {
  display: flex;
  align-items: center;
  text-decoration: none;
  background: var(--accent);
  color: color-mix(in srgb, var(--accent), var(--accent-contrast-color) 90%);
  padding: 5px 10px; }

html {
  box-sizing: border-box; }

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

body {
  margin: 0;
  padding: 0;
  font-family: 'Fira Code', Monaco, Consolas, Ubuntu Mono, monospace;
  font-size: 1rem;
  line-height: 1.54;
  letter-spacing: -0.02em;
  background-color: var(--background);
  color: var(--color);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "liga", "tnum", "zero", "ss01", "locl";
  font-variant-ligatures: contextual;
  -webkit-overflow-scrolling: touch;
  -webkit-text-size-adjust: 100%; }
  @media (max-width: 684px) {
    body {
      font-size: 1rem; } }
.headings--one-size h1,
.headings--one-size h2,
.headings--one-size h3,
.headings--one-size h4,
.headings--one-size h5,
.headings--one-size h6 {
  line-height: 1.3; }
  .headings--one-size h1:not(first-child),
  .headings--one-size h2:not(first-child),
  .headings--one-size h3:not(first-child),
  .headings--one-size h4:not(first-child),
  .headings--one-size h5:not(first-child),
  .headings--one-size h6:not(first-child) {
    margin-top: 40px; }

.headings--one-size h1,
.headings--one-size h2,
.headings--one-size h3 {
  font-size: 1.4rem; }

.headings--one-size h4,
.headings--one-size h5,
.headings--one-size h6 {
  font-size: 1.2rem; }

a {
  color: inherit;
  /* Waiting for a better times... */
  /* &:has(code) {
    text-decoration-color: var(--accent);
  } */ }

img {
  display: block;
  max-width: 100%; }
  img.left {
    margin-right: auto; }
  img.center {
    margin-left: auto;
    margin-right: auto; }
  img.right {
    margin-left: auto; }

p {
  margin-bottom: 20px; }

figure {
  display: table;
  max-width: 100%;
  margin: 25px 0; }
  figure.left {
    margin-right: auto; }
  figure.center {
    margin-left: auto;
    margin-right: auto; }
  figure.right {
    margin-left: auto; }
  figure figcaption {
    font-size: 14px;
    padding: 5px 10px;
    margin-top: 5px;
    background: var(--accent);
    color: var(--accent-contrast-color);
    /* opacity: .8; */ }
    figure figcaption.left {
      text-align: left; }
    figure figcaption.center {
      text-align: center; }
    figure figcaption.right {
      text-align: right; }

code, kbd {
  font-family: 'Fira Code', Monaco, Consolas, Ubuntu Mono, monospace !important;
  font-feature-settings: normal;
  background: color-mix(in srgb, var(--accent), transparent 80%);
  color: var(--accent);
  padding: 1px 6px;
  margin: 0 2px;
  font-size: .95rem; }
  code code, code kbd, kbd code, kbd kbd {
    background: transparent;
    padding: 0;
    margin: 0; }

pre {
  background: transparent !important;
  padding: 20px 10px;
  margin: 40px 0;
  font-size: .95rem !important;
  overflow: auto;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
  pre + pre {
    border-top: 0;
    margin-top: -40px; }
  @media (max-width: 684px) {
    pre {
      white-space: pre-wrap;
      word-wrap: break-word; } }
  pre code {
    background: none !important;
    margin: 0;
    padding: 0;
    font-size: inherit;
    border: none; }

blockquote {
  border-top: 1px solid var(--accent);
  border-bottom: 1px solid var(--accent);
  margin: 40px 0;
  padding: 25px; }
  @media (max-width: 684px) {
    blockquote {
      padding-right: 0; } }
  blockquote p:first-of-type {
    margin-top: 0; }
  blockquote p:last-of-type {
    margin-bottom: 0; }
  blockquote p {
    position: relative; }
  blockquote p:first-of-type:before {
    content: '>';
    display: block;
    position: absolute;
    left: -25px;
    color: var(--accent); }
  blockquote.twitter-tweet {
    position: relative;
    background: color-mix(in srgb, var(--accent), transparent 90%);
    font: inherit;
    color: inherit;
    border: 1px solid var(--accent);
    padding-top: 60px; }
    blockquote.twitter-tweet p:before {
      content: ''; }
    blockquote.twitter-tweet:before {
      content: '> From Twitter:';
      position: absolute;
      top: 20px;
      color: var(--accent);
      font-weight: bold; }
    blockquote.twitter-tweet a {
      color: var(--accent); }

table {
  table-layout: auto;
  border-collapse: collapse;
  width: 100%;
  margin: 40px 0; }

table,
th,
td {
  border: 1px dashed var(--accent);
  padding: 10px; }

th {
  color: var(--accent); }

ul,
ol {
  margin-left: 22px;
  padding: 0; }
  ul li,
  ol li {
    position: relative; }
  @media (max-width: 684px) {
    ul,
    ol {
      margin-left: 20px; } }
ol {
  list-style: none;
  counter-reset: li; }
  ol > li {
    counter-increment: li; }
    ol > li:before {
      content: counter(li);
      position: absolute;
      right: calc(100% + 10px);
      color: var(--accent);
      display: inline-block;
      text-align: right; }
    ol > li > ol {
      margin-left: 38px; }
      ol > li > ol > li {
        counter-increment: li; }
        ol > li > ol > li:before {
          content: counters(li, ".") " "; }

mark {
  background: var(--accent);
  color: var(--accent-contrast-color); }

.container {
  display: flex;
  flex-direction: column;
  padding: 40px;
  max-width: 864px;
  min-height: 100vh;
  border-right: 1px solid rgba(255, 255, 255, 0.1); }
  .container.full, .container.center {
    border: none;
    margin: 0 auto; }
  .container.full {
    max-width: 100%; }
  @media (max-width: 684px) {
    .container {
      padding: 20px; } }
  @media print {
    .container {
      display: initial; } }
.content {
  display: flex;
  flex-direction: column; }
  @media print {
    .content {
      display: initial; } }
hr {
  width: 100%;
  border: none;
  background: var(--border-color);
  height: 1px; }

.hidden {
  display: none; }

sup {
  line-height: 0; }

.index-content {
  margin-top: 20px; }

.framed {
  border: 1px solid var(--accent);
  padding: 20px; }
  .framed *:first-child {
    margin-top: 0; }
  .framed *:last-child {
    margin-bottom: 0; }

.posts {
  width: 100%; }

.post {
  width: 100%;
  text-align: left;
  margin: 20px auto;
  padding: 20px 0; }
  .post:not(:last-of-type) {
    border-bottom: 1px solid var(--border-color); }
  .post-meta {
    font-size: 1rem;
    margin-bottom: 10px;
    color: color-mix(in srgb, var(--accent), transparent 30%); }
    .post-meta > *:not(:first-child)::before {
      content: "::";
      display: inline-block;
      margin: 0 8px; }
  .post-title {
    --border: 3px dotted var(--accent);
    position: relative;
    color: var(--accent);
    margin: 0 0 15px;
    padding-bottom: 15px;
    border-bottom: var(--border); }
    .post-title:after {
      content: '';
      position: absolute;
      bottom: 2px;
      display: block;
      width: 100%;
      border-bottom: var(--border); }
    .post-title a {
      text-decoration: none; }
  .post-tags {
    display: block;
    margin-bottom: 20px;
    font-size: 1rem;
    opacity: .5; }
    .post-tags a {
      text-decoration: none; }
  .post-content {
    margin-top: 30px; }
    .post-content a {
      color: var(--article-link-color); }
  .post-cover {
    border: 20px solid var(--accent);
    background: transparent;
    margin: 40px 0;
    padding: 20px; }
    @media (max-width: 684px) {
      .post-cover {
        padding: 10px;
        border-width: 10px; } }
  .post ul {
    list-style: none; }
    .post ul li:not(:empty):before {
      content: '-';
      position: absolute;
      left: -20px;
      color: var(--accent); }

.post--regulation h1 {
  justify-content: center; }

.post--regulation h2 {
  justify-content: center;
  margin-bottom: 10px; }
  .post--regulation h2 + h2 {
    margin-top: -10px;
    margin-bottom: 20px; }

.hanchor {
  color: color-mix(in srgb, var(--accent), transparent 10%);
  text-decoration: none;
  margin-left: 10px;
  visibility: hidden; }

h1:hover a, h2:hover a, h3:hover a, h4:hover a {
  visibility: visible; }

.footnotes {
  color: color-mix(in srgb, var(--accent), transparent 50%); }

figure:has(.post-cover) {
  margin: 40px 0; }
  figure:has(.post-cover) > .post-cover {
    margin: 0; }
  figure:has(.post-cover) > figcaption {
    margin-top: 0; }

.pagination {
  margin-top: 50px; }
  @media print {
    .pagination {
      display: none; } }
  .pagination__title {
    display: flex;
    text-align: center;
    position: relative;
    margin: 100px 0 20px; }
    .pagination__title-h {
      text-align: center;
      margin: 0 auto;
      padding: 5px 10px;
      background: var(--background);
      color: color-mix(in srgb, var(--accent), transparent 70%);
      font-size: .8rem;
      text-transform: uppercase;
      text-decoration: none;
      letter-spacing: .1em;
      z-index: 1; }
    .pagination__title hr {
      position: absolute;
      left: 0;
      right: 0;
      width: 100%;
      margin-top: 15px;
      z-index: 0; }
  .pagination__buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-flow: row wrap;
    gap: 10px; }
    .pagination__buttons a {
      text-decoration: none; }

.button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  padding: 0;
  appearance: none; }
  @media (max-width: 684px) {
    .button {
      flex: 1; } }
  .button a {
    display: flex;
    justify-content: center;
    flex: 1;
    padding: 8px 16px;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden; }
  .button__text {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden; }
  .button.next .button__icon {
    margin-left: 8px; }
  .button.previous .button__icon {
    margin-right: 8px; }

.footer {
  padding: 40px 0;
  flex-grow: 0;
  opacity: .5;
  display: flex;
  justify-content: center; }
  .footer__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0;
    width: 760px;
    max-width: 100%; }
    @media (max-width: 900px) {
      .footer__inner {
        flex-direction: column; } }
  .footer a {
    color: inherit; }
  .footer .copyright {
    display: flex;
    flex-flow: row wrap;
    flex: 1;
    align-items: center;
    font-size: 1rem;
    justify-content: center; }
    .footer .copyright--user {
      margin: auto;
      text-align: center; }
    .footer .copyright > *:first-child:not(:only-child) {
      margin-right: 10px; }
    .footer .copyright span {
      white-space: nowrap; }

#banner {
  width: 100%;
  height: 2rem;
  display: grid;
  grid-template-columns: 1fr auto;
  background: var(--accent); }
  #banner span {
    display: flex;
    align-items: center;
    justify-content: center; }
  #banner a {
    color: var(--accent-contrast-color);
    display: inline; }
  #banner > button {
    padding: 0 5px 0 0;
    margin: 0; }

/* PrismJS 1.24.1
https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+actionscript+apacheconf+applescript+bash+c+csharp+cpp+cmake+coffeescript+csp+css-extras+diff+django+docker+elixir+elm+erlang+fsharp+flow+git+go+graphql+haml+handlebars+haskell+http+java+json+kotlin+latex+less+llvm+makefile+markdown+markup-templating+nasm+objectivec+ocaml+perl+php+php-extras+powershell+processing+pug+python+r+jsx+tsx+reason+ruby+rust+sass+scss+scala+scheme+sql+stylus+swift+textile+toml+twig+typescript+vim+visual-basic+wasm+yaml&plugins=line-highlight+line-numbers+jsonp-highlight+highlight-keywords+command-line+toolbar+copy-to-clipboard */
/**
 * prism.js tomorrow night eighties for JavaScript, CoffeeScript, CSS and HTML
 * Based on https://github.com/chriskempson/tomorrow-theme
 * @author Rose Pritchard
 */
code[class*="language-"],
pre[class*="language-"] {
  color: #ccc;
  background: none;
  font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
  font-size: 1em;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  line-height: 1.5;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none; }

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

:not(pre) > code[class*="language-"],
pre[class*="language-"] {
  background: #2d2d2d; }

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

.token.comment,
.token.block-comment,
.token.prolog,
.token.doctype,
.token.cdata {
  color: #999; }

.token.punctuation {
  color: #ccc; }

.token.tag,
.token.attr-name,
.token.namespace,
.token.deleted {
  color: #e2777a; }

.token.function-name {
  color: #6196cc; }

.token.boolean,
.token.number,
.token.function {
  color: #f08d49; }

.token.property,
.token.class-name,
.token.constant,
.token.symbol {
  color: #f8c555; }

.token.selector,
.token.important,
.token.atrule,
.token.keyword,
.token.builtin {
  color: #cc99cd; }

.token.string,
.token.char,
.token.attr-value,
.token.regex,
.token.variable {
  color: #7ec699; }

.token.operator,
.token.entity,
.token.url {
  color: #67cdcc; }

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

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

.token.entity {
  cursor: help; }

.token.inserted {
  color: green; }

pre[data-line] {
  position: relative;
  padding: 1em 0 1em 3em; }

.line-highlight {
  position: absolute;
  left: 0;
  right: 0;
  padding: inherit 0;
  margin-top: 1em;
  /* Same as .prism’s padding-top */
  background: rgba(153, 122, 102, 0.08);
  background: linear-gradient(to right, rgba(153, 122, 102, 0.1) 70%, rgba(153, 122, 102, 0));
  pointer-events: none;
  line-height: inherit;
  white-space: pre; }

@media print {
  .line-highlight {
    /*
		 * This will prevent browsers from replacing the background color with white.
		 * It's necessary because the element is layered on top of the displayed code.
		 */
    -webkit-print-color-adjust: exact;
    color-adjust: exact; } }

.line-highlight:before,
.line-highlight[data-end]:after {
  content: attr(data-start);
  position: absolute;
  top: .4em;
  left: .6em;
  min-width: 1em;
  padding: 0 .5em;
  background-color: rgba(153, 122, 102, 0.4);
  color: #f5f2f0;
  font: bold 65%/1.5 sans-serif;
  text-align: center;
  vertical-align: .3em;
  border-radius: 999px;
  text-shadow: none;
  box-shadow: 0 1px white; }

.line-highlight[data-end]:after {
  content: attr(data-end);
  top: auto;
  bottom: .4em; }

.line-numbers .line-highlight:before,
.line-numbers .line-highlight:after {
  content: none; }

pre[id].linkable-line-numbers span.line-numbers-rows {
  pointer-events: all; }

pre[id].linkable-line-numbers span.line-numbers-rows > span:before {
  cursor: pointer; }

pre[id].linkable-line-numbers span.line-numbers-rows > span:hover:before {
  background-color: rgba(128, 128, 128, 0.2); }

pre[class*="language-"].line-numbers {
  position: relative;
  padding-left: 3.8em;
  counter-reset: linenumber; }

pre[class*="language-"].line-numbers > code {
  position: relative;
  white-space: inherit; }

.line-numbers .line-numbers-rows {
  position: absolute;
  pointer-events: none;
  top: 0;
  font-size: 100%;
  left: -3.8em;
  width: 3em;
  /* works for line-numbers below 1000 lines */
  letter-spacing: -1px;
  border-right: 1px solid #999;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.line-numbers-rows > span {
  display: block;
  counter-increment: linenumber; }

.line-numbers-rows > span:before {
  content: counter(linenumber);
  color: #999;
  display: block;
  padding-right: 0.8em;
  text-align: right; }

.command-line-prompt {
  border-right: 1px solid #999;
  display: block;
  float: left;
  font-size: 100%;
  letter-spacing: -1px;
  margin-right: 1em;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.command-line-prompt > span:before {
  color: #999;
  content: ' ';
  display: block;
  padding-right: 0.8em; }

.command-line-prompt > span[data-user]:before {
  content: "[" attr(data-user) "@" attr(data-host) "] $"; }

.command-line-prompt > span[data-user="root"]:before {
  content: "[" attr(data-user) "@" attr(data-host) "] #"; }

.command-line-prompt > span[data-prompt]:before {
  content: attr(data-prompt); }

div.code-toolbar {
  position: relative; }

div.code-toolbar > .toolbar {
  position: absolute;
  top: .3em;
  right: .2em;
  transition: opacity 0.3s ease-in-out;
  opacity: 0; }

div.code-toolbar:hover > .toolbar {
  opacity: 1; }

/* Separate line b/c rules are thrown out if selector is invalid.
   IE11 and old Edge versions don't support :focus-within. */
div.code-toolbar:focus-within > .toolbar {
  opacity: 1; }

div.code-toolbar > .toolbar > .toolbar-item {
  display: inline-block; }

div.code-toolbar > .toolbar > .toolbar-item > a {
  cursor: pointer; }

div.code-toolbar > .toolbar > .toolbar-item > button {
  background: none;
  border: 0;
  color: inherit;
  font: inherit;
  line-height: normal;
  overflow: visible;
  padding: 0;
  -webkit-user-select: none;
  /* for button */
  -moz-user-select: none;
  -ms-user-select: none; }

div.code-toolbar > .toolbar > .toolbar-item > a,
div.code-toolbar > .toolbar > .toolbar-item > button,
div.code-toolbar > .toolbar > .toolbar-item > span {
  color: #bbb;
  font-size: .8em;
  padding: 0 .5em;
  background: #f5f2f0;
  background: rgba(224, 224, 224, 0.2);
  box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.2);
  border-radius: .5em; }

div.code-toolbar > .toolbar > .toolbar-item > a:hover,
div.code-toolbar > .toolbar > .toolbar-item > a:focus,
div.code-toolbar > .toolbar > .toolbar-item > button:hover,
div.code-toolbar > .toolbar > .toolbar-item > button:focus,
div.code-toolbar > .toolbar > .toolbar-item > span:hover,
div.code-toolbar > .toolbar > .toolbar-item > span:focus {
  color: inherit;
  text-decoration: none; }

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.statement,
.token.regex,
.token.atrule,
.token.number,
.token.inserted,
.token.important {
  color: var(--syntax-value-color, color-mix(in srgb, var(--accent), white)) !important; }

.token.tag-id,
.token.atrule-id,
.token.operator,
.token.unit,
.token.placeholder,
.token.variable,
.token.tag,
.token.attr-name,
.token.namespace,
.token.deleted,
.token.property,
.token.class-name,
.token.constant,
.token.symbol {
  color: var(--syntax-var-color, color-mix(in srgb, var(--accent) 90%, transparent)) !important; }

.token.property,
.token.function,
.token.function-name,
.token.deleted,
code[class*="language-"],
.command-line-prompt > span:before {
  color: var(--syntax-func-color, color-mix(in srgb, var(--accent) 70%, #999 30%)) !important; }

.token.selector,
.token.tag,
.token.punctuation {
  color: var(--syntax-punctuation-color); }

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
  color: var(--syntax-comment-color) !important; }

.token.namespace {
  opacity: 0.7 !important; }

pre[data-line] {
  position: relative; }

pre[class*="language-"] {
  margin: 0;
  padding: 0;
  overflow: auto; }

.line-highlight {
  position: absolute;
  left: 0;
  right: 0;
  padding: 0;
  margin: 0;
  background: color-mix(in srgb, var(--syntax-line-highlight-mix), transparent 92%);
  pointer-events: none;
  line-height: inherit;
  white-space: pre; }

.line-highlight:before,
.line-highlight[data-end]:after {
  content: attr(data-start);
  position: absolute;
  left: 0.6em;
  min-width: 1em;
  padding: 0 0.5em;
  background-color: var(--syntax-line-highlight-background-color);
  color: var(--syntax-line-highlight-color);
  font: bold 65%/1.5 sans-serif;
  text-align: center;
  vertical-align: 0.3em;
  border-radius: 999px;
  text-shadow: none;
  box-shadow: 0 1px var(--syntax-line-highlight-box-shadow); }

.line-highlight[data-end]:after {
  content: attr(data-end);
  top: auto;
  bottom: 0.4em; }

.line-numbers .line-highlight:before,
.line-numbers .line-highlight:after {
  content: none; }

.code-toolbar {
  --code-margin: 40px;
  position: relative;
  margin: var(--code-margin) 0;
  padding: 20px;
  border: 1px solid var(--syntax-code-border-color); }
  .code-toolbar + .code-toolbar,
  .code-toolbar + .highlight,
  .code-toolbar + .highlight .code-toolbar {
    border-top: 0;
    margin-top: calc(-1 * var(--code-margin)); }
  .code-toolbar pre,
  .code-toolbar code {
    border: none; }
  .code-toolbar code {
    display: block;
    color: inherit; }
  .code-toolbar > .toolbar button {
    font-size: 0.8em !important;
    background: var(--syntax-code-copy-button-background) !important;
    color: var(--syntax-code-copy-button-color) !important;
    box-shadow: 0 2px 0 0 var(--syntax-code-copy-button-box-shadow-color) !important;
    border-radius: 0 !important;
    margin: 6px !important;
    padding: 10px !important;
    user-select: none; }

.collapsable-code {
  --border-color: color-mix(in srgb, var(--accent) 90%, #999 10%);
  position: relative;
  width: 100%;
  margin: 40px 0; }
  .collapsable-code input[type="checkbox"] {
    position: absolute;
    visibility: hidden; }
  .collapsable-code input[type="checkbox"]:checked ~ pre,
  .collapsable-code input[type="checkbox"]:checked ~ .code-toolbar pre {
    height: 0;
    padding: 0;
    border-top: none; }
  .collapsable-code input[type="checkbox"]:checked ~ .code-toolbar {
    padding: 0;
    border-top: none; }
    .collapsable-code input[type="checkbox"]:checked ~ .code-toolbar .toolbar {
      display: none; }
  .collapsable-code input[type="checkbox"]:checked ~ label .collapsable-code__toggle:after {
    content: attr(data-label-expand); }
  .collapsable-code label {
    position: relative;
    display: flex;
    justify-content: space-between;
    min-width: 30px;
    min-height: 30px;
    margin: 0;
    border-bottom: 1px solid var(--border-color);
    cursor: pointer; }
  .collapsable-code__title {
    flex: 1;
    color: var(--accent);
    padding: 3px 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden; }
  .collapsable-code__language {
    color: var(--accent);
    border: 1px solid var(--border-color);
    border-bottom: none;
    text-transform: uppercase;
    padding: 3px 10px; }
  .collapsable-code__toggle {
    color: var(--accent);
    font-size: 16px;
    padding: 3px 10px; }
    .collapsable-code__toggle:after {
      content: attr(data-label-collapse); }
  .collapsable-code pre {
    margin-top: 0; }
    .collapsable-code pre::first-line {
      line-height: 0; }
  .collapsable-code .code-toolbar {
    margin: 0; }

.terms h3 {
  font-size: initial; }

.terms ul {
  list-style: none; }
  .terms ul li a {
    color: var(--accent); }
  .terms ul li:not(:empty):before {
    content: '-';
    position: absolute;
    left: -20px;
    color: var(--accent); }

body .gist .blob-num,
body .gist .blob-code-inner {
  border: none; }
