:root {
  --default-text-strong: #258838;
  --default-text: #1a1919;
  --default-text-medium: #333333;
  --default-text-weak: #6e6e6e;
  --default-text-strong-inverse: #ffffff;
  --default-text-inverse: #e6e5e5;
  --default-text-medium-inverse: #9b9797;
  --default-text-weak-inverse: #828282;
  --default-surface: #ffffff;
  --default-surface-secondary: #000000;
  --default-surface-medium: #e6e5e5;
  --default-surface-weak: #eeeeee;
  --default-surface-strong-inverse: #e6e5e5;
  --default-surface-inverse: #000000;
  --default-surface-medium-inverse: #000000;
  --default-surface-weak-inverse: #1a1919;
  --default-border: #6e6e6e;
  --default-border-weak: #000000;
  --default-border-strong: #000000;
  --default-border-inverse: #ffffff;
  --default-border-weak-inverse: #000000;
  --default-border-strong-inverse: #000000;
  --default-background: #ffffff;
  --default-background-strong: #e6e5e5;
  --default-background-weak: #f3f2f2;
  --default-background-inverse: #000000;
  --default-background-strong-inverse: #000000;
  --default-background-weak-inverse: #1a1919;
  --action-background: #238636;
  --action-background-hover: #000000;
  --action-background-active: #000000;
  --action-background-hover-inverse: #ffffff;
  --action-link: #1a1919;
  --action-link-hover: #1a1919;
  --action-link-visited: #1a1919;
  --action-link-inverse: #ffffff;
  --action-link-inverse-hover: #ffffff;
  --action-link-inverse-visited: #ffffff;
  --action-text-strong: #000000;
  --action-text: #ffffff;
  --action-text-medium: #000000;
  --action-text-weak: #000000;
  --action-text-inverse: #1a1919;
  --action-border: #238636;
  --success-text: #238636;
  --success-background: #b3ebbe;
  --warning-text: #9e4600;
  --warning-background: #ffe6d2;
  --danger-text: #9e0000;
  --danger-background: #ffa7a7;
}

@media (prefers-color-scheme: dark) {
  :root {
    --default-text-strong: #f78166;
    --default-text: #cccccc;
    --default-text-medium: #cccccc;
    --default-text-weak: #828282;
    --default-surface-weak: #222222;
    --default-border: #bdbdbd;
    --default-background-weak: #403e3e;
    --default-background: #333333;
    --action-link: #cccccc;
    --action-link-hover: #cccccc;
    --action-link-visited: #9c9c9c;
  }
}
.micro-stub__desc::after, .article-stub__desc::after {
  content: "";
  display: block;
  clear: both;
}

/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/montserrat-v10-latin-regular.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/montserrat-v10-latin-600.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/montserrat-v10-latin-700.woff2") format("woff2");
  font-display: swap;
}
/* montserrat-100 - latin */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 100;
  src: url("../fonts/montserrat-v15-latin-100.eot"); /* IE9 Compat Modes */
  src: local("Montserrat Thin"), local("Montserrat-Thin"), url("../fonts/montserrat-v15-latin-100.eot?#iefix") format("embedded-opentype"), url("../fonts/montserrat-v15-latin-100.woff2") format("woff2"), url("../fonts/montserrat-v15-latin-100.woff") format("woff"), url("../fonts/montserrat-v15-latin-100.ttf") format("truetype"), url("../fonts/montserrat-v15-latin-100.svg#Montserrat") format("svg"); /* Legacy iOS */
}
/* montserrat-200 - latin */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 200;
  src: url("../fonts/montserrat-v15-latin-200.eot"); /* IE9 Compat Modes */
  src: local("Montserrat ExtraLight"), local("Montserrat-ExtraLight"), url("../fonts/montserrat-v15-latin-200.eot?#iefix") format("embedded-opentype"), url("../fonts/montserrat-v15-latin-200.woff2") format("woff2"), url("../fonts/montserrat-v15-latin-200.woff") format("woff"), url("../fonts/montserrat-v15-latin-200.ttf") format("truetype"), url("../fonts/montserrat-v15-latin-200.svg#Montserrat") format("svg"); /* Legacy iOS */
}
/* montserrat-300 - latin */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/montserrat-v15-latin-300.eot"); /* IE9 Compat Modes */
  src: local("Montserrat Light"), local("Montserrat-Light"), url("../fonts/montserrat-v15-latin-300.eot?#iefix") format("embedded-opentype"), url("../fonts/montserrat-v15-latin-300.woff2") format("woff2"), url("../fonts/montserrat-v15-latin-300.woff") format("woff"), url("../fonts/montserrat-v15-latin-300.ttf") format("truetype"), url("../fonts/montserrat-v15-latin-300.svg#Montserrat") format("svg"); /* Legacy iOS */
}
p {
  max-width: 725px;
}
p:not(:last-child) {
  margin-bottom: 16px;
}

.fonts-loaded h1,
.fonts-loaded h2,
.fonts-loaded h3,
.fonts-loaded h4,
.fonts-loaded h5,
.fonts-loaded h6 {
  font-family: "Montserrat", sans-serif;
}

figure {
  display: block;
}
figure.thumb {
  max-width: 25%;
  float: left;
  margin: 0 24px 8px 0;
}
.article__content > figure.thumb:not(:last-child) {
  margin: 0 24px 8px 0;
}
figure.large {
  max-width: 75%;
  margin: 0 auto;
  display: block;
}

html {
  box-sizing: border-box;
}

.no-scroll {
  position: fixed;
}

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

a {
  text-decoration: none;
  color: var(--action-link);
  transition: color 0.2s ease, text-decoration 0.2s ease;
}
a:hover {
  color: var(--action-link-hover);
}
a:visited {
  color: var(--action-link-visited);
}

img {
  max-width: 100%;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.4;
  color: var(--default-text);
  background-color: var(--default-background);
}

.menu-open {
  pointer-events: none;
  overflow: hidden;
}

.logo--afterhours {
  fill: white;
  filter: drop-shadow(0 0 5px #0b75b7);
  transform: rotate(-15deg);
}

.highlight {
  font-size: 0.875rem;
}

p:empty {
  display: none;
}

pre {
  white-space: pre-wrap; /* css-3 */
  white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
  white-space: -pre-wrap; /* Opera 4-6 */
  white-space: -o-pre-wrap; /* Opera 7 */
  word-wrap: break-word; /* Internet Explorer 5.5+ */
}

code {
  max-width: 85vw;
}

body {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100vh;
}
body[data-reg-document-modal=active] {
  position: fixed;
}

.global-header,
.global-footer {
  flex: none;
}

main {
  display: block;
  flex: 1 0 auto;
}

.container {
  max-width: 980px;
  margin: 0 auto;
  padding: 32px 16px;
}
@media all and (min-width: 980px) {
  .container {
    padding: 32px 0;
  }
}

.container--home {
  padding: 0;
  max-width: none;
}

.container--aside {
  display: grid;
  gap: 60px;
  grid-template-areas: "main" "aside";
}
@media all and (min-width: 768px) {
  .container--aside {
    grid-template-columns: 2fr 1fr;
    grid-template-areas: "main aside";
  }
}

.page-header__title {
  margin-bottom: 8px;
}

.page-header__desc {
  margin-bottom: 16px;
}

@media all and (min-width: 980px) {
  .aside {
    grid-column: 2/3;
  }
}

.aside {
  grid-row: 1;
  margin-top: 48px;
  display: grid;
  grid-gap: 24px;
  grid-template-rows: min-content;
}
@media all and (min-width: 980px) {
  .aside {
    margin-top: 0;
  }
}

.bb-button, .button-twitter {
  -webkit-appearance: none;
  appearance: none;
  background: none;
  border: 0;
  border-radius: 5px;
  cursor: pointer;
  font-size: 1rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0.75em 2em;
  transition: background-color 0.25s ease;
  background-color: var(--action-background);
  color: var(--action-text);
  width: 100%;
  text-decoration: none;
  min-height: 48px;
  max-width: 478px;
}
@media all and (min-width: 768px) {
  .bb-button, .button-twitter {
    width: min-content;
  }
}
.bb-button:hover, .button-twitter:hover {
  background-color: var(--action-background-hover);
}

.button-twitter {
  font-size: 0.875rem;
  background-color: transparent;
  border: 1px solid var(--action-border);
  color: var(--action-text-inverse);
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
  white-space: nowrap;
}
.button-twitter:hover {
  background-color: var(--action-background);
  border-color: var(--action-border);
  color: var(--action-text);
}

.button-twitter:hover svg {
  fill: #0b75b7;
}
.button-twitter svg {
  fill: var(--action-text-inverse);
  margin-right: 8px;
}

.bb-button--link {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
  font: inherit;
  padding: 0;
  text-decoration: underline;
  color: inherit;
  margin: 0;
  cursor: pointer;
}

.section {
  max-width: 980px;
  margin: 0 auto;
  padding: 0 16px;
  width: 100%;
}
@media all and (min-width: 1186px) {
  .section {
    padding: 0;
  }
}
.section + .section {
  margin-top: 40px;
}
.section:last-child {
  margin-bottom: 32px;
}

.section-wrapper {
  max-width: 980px;
  margin: 0 auto;
  padding: 0;
}
@media all and (min-width: 980px) {
  .section-wrapper {
    display: grid;
    grid-gap: 40px;
    grid-template-columns: 3fr 1fr;
  }
}

.section--full {
  max-width: none;
  padding: 40px 0 32px;
  background-color: var(--default-background-weak);
}
main > .section--full {
  margin: 0;
}
.section--full:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}
.section--full:last-child .section__container {
  padding-bottom: 32px;
}
.section--full + .section--full {
  margin-top: 0;
}

.section__container {
  padding: 0 16px;
  max-width: 980px;
  margin: 0 auto;
  width: 100%;
}
@media only screen and (max-device-width: 504px) and (orientation: landscape) {
  @supports (padding-left: env(safe-area-inset-left)) {
    .section__container {
      padding-left: max(16px, env(safe-area-inset-left));
      padding-right: max(16px, env(safe-area-inset-right));
    }
  }
}
@media all and (min-width: 1186px) {
  .section__container {
    padding: 0;
  }
}
.intro .section__container {
  padding: 0;
}

.section__title + .section__title--sub {
  margin-top: 16px;
}
.intro--home .section__title + .section__title--sub {
  margin: 0;
}
.section__title--sub a {
  text-decoration: underline;
}

.section__title + .section__content, .section__title--sub + .section__content, .section__header + .section__content {
  margin-top: 32px;
}
.content-article--focus .section__content {
  max-width: 75ch;
}
@media all and (min-width: 980px) {
  .content-article--focus .section__content {
    max-width: 35em;
  }
}

.section__footer {
  margin-top: 24px;
  font-size: 0.75rem;
  line-height: 1;
  grid-column: 1/3;
  color: var(--default-text-inverse);
}
.section__footer a,
.section__footer a:visited {
  color: var(--default-text-inverse);
  text-decoration: underline;
}

.section--aside .section__header + .section__content {
  margin-top: 24px;
}

.section--aside + .section--aside {
  margin-top: 56px;
}

.global-header {
  position: sticky;
  top: -1px;
  background-color: var(--default-background);
  height: 64px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  transition: height 1s ease, background-position 1s ease;
  z-index: 90;
}
.global-header.is-sticky {
  height: 40px;
}
.body-blog .global-header {
  background-color: var(--default-background-weak-inverse);
  background-image: url("../svg/afterhours-bg.svg");
  background-repeat: repeat-x;
  background-size: auto 113px;
  background-position: center 8px;
  height: 148px;
}
.body-blog .global-header .global-header__title {
  display: none;
}
.body-blog .global-header.is-sticky {
  height: 80px;
  background-position: center -58px;
}
.global-header .container {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding: 0 16px;
  transition: height 1s ease;
}
.is-sticky .global-header .container {
  height: 40px;
}
@media only screen and (max-device-width: 504px) and (orientation: landscape) {
  @supports (padding-left: env(safe-area-inset-left)) {
    .global-header .container {
      padding-left: max(16px, env(safe-area-inset-left));
      padding-right: max(16px, env(safe-area-inset-right));
    }
  }
}
@media all and (min-width: 768px) {
  .global-header .container {
    display: flex;
    justify-content: space-between;
  }
}
@media all and (min-width: 1186px) {
  .global-header .container {
    padding: 0;
  }
}
.body-blog .global-header .container {
  position: relative;
  padding: 0 16px 80px;
  transition: padding 1s ease;
  padding-left: max(16px, env(safe-area-inset-left));
  padding-right: max(16px, env(safe-area-inset-right));
}
@media all and (min-width: 1186px) {
  .body-blog .global-header .container {
    padding: 0 0 80px;
  }
}

.body-blog .global-header.is-sticky .container {
  padding: 0 16px 40px;
}

.logo svg {
  max-width: 100%;
  max-height: 100%;
}
.logo .bb-logo-block--left {
  fill: var(--default-text-weak);
}
.logo .bb-logo-block--right {
  fill: var(--default-background);
}
.logo .bb-logo-block--shadow {
  fill: var(--default-border);
}
.hide .logo svg {
  visibility: hidden;
}

.global-header__logo {
  height: 64px;
  position: relative;
  display: flex;
  align-items: center;
  text-decoration: none;
  z-index: 200;
  transition: height 1s ease;
  gap: 12px;
  width: auto;
}
.is-sticky .global-header__logo {
  height: 40px;
  gap: 8px;
}
.global-header__logo svg {
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  transition: transform 1s ease, flex 1s ease;
  transform: scale3d(1, 1, 1);
  transform-origin: left center;
}
.is-sticky .global-header__logo svg {
  transform: scale3d(0.6153846154, 0.6153846154, 0.6153846154);
  transform-origin: left center;
  flex: 0 0 32px;
}

.global-header__title {
  font-family: "Montserrat", sans-serif;
  font-size: 1.5rem;
  text-transform: uppercase;
  color: var(--default-text);
  font-weight: 900;
  transition: font-size 1s ease, margin-left 1s ease;
}
.global-header__title span {
  color: var(--default-text-weak);
}
.is-sticky .global-header__title {
  font-size: var(1.125rem);
}

.global-header__menu {
  height: 64px;
  display: flex;
  align-items: center;
  transition: height 1s ease;
}
.is-sticky .global-header__menu {
  height: 40px;
}

.hidden {
  display: none;
}

.global-menu__trigger {
  cursor: pointer;
  width: auto;
  padding: 0;
  background: transparent;
  color: var(--default-text);
  display: flex;
  gap: 4px;
  z-index: 110;
}
.body-blog .global-menu__trigger {
  color: var(--default-text-inverse);
}
@media all and (min-width: 768px) {
  .global-menu__trigger {
    display: none;
  }
}
.global-menu__trigger:hover {
  background: transparent;
}
.global-menu__trigger svg {
  width: 16px;
  stroke: var(--default-border);
}
.menu-open.body-blog .global-menu__trigger svg {
  stroke: var(--default-border);
}
.body-blog .global-menu__trigger svg {
  stroke: var(--default-border);
}
.global-menu__trigger .global-menu__close {
  display: none;
}
.menu-open .global-menu__trigger .global-menu__close {
  display: block;
}
.global-menu__trigger .global-menu__hamburger {
  display: block;
}
.menu-open .global-menu__trigger .global-menu__hamburger {
  display: none;
}
.menu-open .global-menu__trigger {
  pointer-events: initial;
  margin-left: auto;
}
.body-blog.menu-open .global-menu__trigger {
  color: var(--default-text);
}

.body-blog .bb-logo-block--left {
  fill: none;
  stroke: var(--default-text-weak);
  stroke-width: 2;
}
.body-blog .bb-logo-block--right {
  fill: none;
  stroke: var(--default-text-medium-inverse);
  stroke-width: 2;
}
@media (prefers-color-scheme: dark) {
  .body-blog .bb-logo-block--right {
    fill: none;
  }
}
.body-blog .bb-logo-block--shadow {
  fill: none;
}
.body-blog .logo--afterhours {
  width: 130px;
  position: absolute;
  left: 60px;
  top: 20px;
}
.body-blog .is-sticky .logo--afterhours {
  display: none;
}
.body-blog .header__title--sub {
  color: var(--default-text-weak);
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1;
  position: absolute;
  right: 118px;
  top: 100%;
  transform: translateY(-21px) translateZ(0);
}
@media all and (min-width: 768px) {
  .body-blog .header__title--sub {
    left: 118px;
  }
}

.global-menu {
  display: none;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background-color: hsla(255deg, 100%, 100%, 0.95);
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
@media (prefers-color-scheme: dark) {
  .global-menu {
    background-color: hsla(210deg, 2%, 19%, 0.95);
  }
}
@media all and (min-width: 768px) {
  .global-menu {
    position: static;
    display: flex;
    background-color: transparent;
  }
}
.menu-open .global-menu {
  pointer-events: initial;
}
.global-menu ul {
  list-style-type: none;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 0;
}
@media all and (min-width: 768px) {
  .global-menu ul {
    flex-direction: row;
  }
}
.global-menu ul li + li {
  margin-top: 0;
}
.global-menu li {
  width: 100%;
}
.global-menu li:not(:last-child) {
  margin-bottom: 24px;
}
@media all and (min-width: 768px) {
  .global-menu li:not(:last-child) {
    margin: 0 24px 0 0;
  }
}
.global-menu a {
  font-weight: 700;
  font-size: 1.5rem;
  display: block;
  text-align: center;
  text-decoration: none;
  transition: font-size 1s ease;
}
@media all and (min-width: 768px) {
  .global-menu a {
    font-size: 1.125rem;
    font-weight: 400;
  }
  .is-sticky .global-menu a {
    font-size: 1rem;
  }
}
.global-menu a:hover {
  color: var(--action-link-hover);
  text-decoration: underline;
}
.fonts-loaded .global-menu {
  font-family: "Montserrat", sans-serif;
}
.active .global-menu, .menu-trigger:checked ~ .global-menu {
  display: flex;
}
@media all and (min-width: 768px) {
  .body-blog .global-menu a {
    color: var(--action-text);
  }
}
.body-blog .global-menu a:hover::after {
  background-color: var(--default-background-inverse);
}

ol {
  list-style: decimal;
}

.list--featured {
  padding-left: 0;
}
.list--featured > li {
  font-weight: 600;
  margin-bottom: 16px;
  list-style: none;
}
.list--featured > li > ul {
  margin-top: 8px;
}
.list--featured li li {
  font-weight: 400;
}
.list--def {
  display: grid;
  grid-gap: 8px 16px;
  grid-template-columns: repeat(2, min-content);
  font-size: 0.875rem;
}
.list--def dt {
  font-weight: 600;
  grid-column: 1/2;
}
.list--def dt::after {
  content: ":";
}
.list--def dd {
  grid-column: 2/3;
}
.list--def dd a {
  text-decoration: underline;
}

blockquote {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25;
  border-left: 1px solid var(--default-border);
  padding: 4px 0 0 24px;
}
blockquote p,
blockquote cite,
blockquote ul {
  font-size: 0.875rem;
}
blockquote p:not(:last-child),
blockquote cite:not(:last-child),
blockquote ul:not(:last-child) {
  margin-bottom: 16px;
}
blockquote cite {
  display: inline-block;
  margin-top: 16px;
}

.bb-article__meta p {
  margin-top: 4px;
  font-size: 0.75rem;
}
.bb-article__meta a {
  text-decoration: underline;
}

.intro {
  width: 100%;
  margin-top: 24px;
  display: grid;
  grid-gap: 24px;
  align-items: center;
  padding: 16px;
  min-height: 80px;
}
@media only screen and (max-device-width: 504px) and (orientation: landscape) {
  @supports (padding-left: env(safe-area-inset-left)) {
    .intro {
      padding-left: max(16px, env(safe-area-inset-left));
      padding-right: max(16px, env(safe-area-inset-right));
    }
  }
}
@media all and (min-width: 768px) {
  .intro {
    min-height: 160px;
  }
}
@media all and (min-width: 980px) {
  .intro {
    padding-left: 0;
    padding-right: 0;
  }
}

.intro__heading {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
  line-height: 1;
}
@media all and (min-width: 980px) {
  .intro__heading {
    font-size: 2.625rem;
    line-height: 1.1;
  }
}
@supports (display: grid) {
  @media all and (min-width: 768px) {
    .intro__heading {
      grid-row: 1/2;
      grid-column: 1/3;
      justify-self: start;
    }
  }
}

@supports (display: grid) {
  .intro__desc {
    grid-row: 3/4;
  }
}
.intro__desc p {
  font-weight: 400;
  color: var(--default-text-medium);
  max-width: 40em;
}
@media all and (min-width: 768px) {
  .intro__desc p {
    font-size: 1rem;
    line-height: 1.5;
  }
}
.intro__desc p b {
  color: var(--default-text-strong);
  font-weight: normal;
}
.intro__desc p a {
  text-decoration: underline;
}

.intro--home {
  margin-top: 0;
  padding-top: 24px;
  grid-template-rows: min-content min-content;
  grid-template-areas: "intro-title" "intro-desc";
  padding-bottom: 40px;
}
@media all and (min-width: 980px) {
  .season--halloween .intro--home {
    background-image: url(/img/Jack-O-Lantern-PNG-Transparent-Picture.png);
    background-size: 40%;
    background-repeat: no-repeat;
    background-position: right -15px;
  }
}
@media all and (min-width: 980px) {
  .season--christmas .intro--home {
    background-image: url(/img/0fcd40c05eeecdaefb2ffd25564facfd.png);
    background-size: 45%;
    background-repeat: no-repeat;
    background-position: right -25px;
  }
}

.intro--home .intro__heading {
  grid-area: intro-title;
}

.intro--home .intro__desc {
  grid-area: intro-desc;
  align-items: flex-start;
}
.intro--home .intro__desc p {
  max-width: 40em;
}
.fonts-loaded .intro--home .intro__desc {
  font-family: "Montserrat", sans-serif;
}

.intro--return {
  padding: 0 16px;
  padding-left: max(16px, env(safe-area-inset-left));
  padding-right: max(16px, env(safe-area-inset-right));
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1;
  grid-row: 1/2;
}
@media all and (min-width: 768px) {
  .intro--return {
    min-height: 80px;
  }
}
.intro--return svg {
  width: 10px;
  height: 10px;
  transform: rotate(180deg);
  fill: var(--default-text);
}
.intro--return .section__container {
  width: 100%;
  max-width: 980px;
  padding: 0;
}
.intro--return .intro__desc {
  margin: 0 auto;
}

.intro--blog .section__container,
.intro--work .section__container {
  width: 100%;
  max-width: 980px;
}

.intro--resume {
  background-color: transparent;
  padding-bottom: 0;
}
@media all and (min-width: 980px) {
  .intro--resume {
    grid-area: page-header;
  }
}

.intro--resume .intro__heading span {
  font-weight: 200;
  font-size: 0.75em;
  margin-left: 0.5em;
}

.intro--resume .section__container {
  display: flex;
  align-items: center;
}

.intro--home .section__footer {
  grid-area: intro-footer;
}

.intro__link svg {
  margin-right: 0.5em;
}

.bb-resume-logo {
  display: none;
  width: 4em;
  height: 4em;
  margin-right: 1em;
}
.bb-resume-logo svg {
  max-width: 100%;
  max-height: 100%;
  width: 4em;
  height: 4em;
}
.bb-resume-logo .bb-logo-block--right {
  fill: var(--default-text-weak);
}
@media print {
  .bb-resume-logo .bb-logo-block--right {
    fill: none;
    stroke: var(--default-text-weak);
  }
}
.bb-resume-logo .bb-logo-block--left {
  fill: var(--default-text-medium);
}
.bb-resume-logo .bb-logo-block--shadow {
  fill: var(--default-border);
}
@media print {
  .bb-resume-logo .bb-logo-block--shadow {
    display: none;
  }
}
.hide .bb-resume-logo svg {
  visibility: hidden;
}

.home-blog .section__title,
.home-work .section__title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
}
@media all and (min-width: 980px) {
  .home-blog .section__title,
  .home-work .section__title {
    font-size: 2.625rem;
    line-height: 1.1;
  }
}
.home-blog .section__title--sub,
.home-work .section__title--sub {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
}
.home-blog .section__content,
.home-work .section__content {
  display: flex;
  flex-direction: column;
  gap: 56px 112px;
}
@media all and (min-width: 768px) {
  .home-blog .section__content,
  .home-work .section__content {
    flex-direction: row;
  }
}
.home-blog .article-stub,
.home-work .article-stub {
  flex: 1;
}

.home-blog {
  background-image: url("../svg/afterhours-bg.svg");
  background-color: var(--default-surface-weak-inverse);
  background-repeat: repeat-x;
  background-size: auto 100px;
  background-position: center 8px;
  position: relative;
}
.home-blog .section__header {
  position: relative;
}
.home-blog .section__title--sub {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 0.75rem;
  transform: translateY(-12px) translateX(58px) translateZ(0);
  text-transform: lowercase;
  color: var(--default-text-weak-inverse);
  margin: 0;
  display: inline-block;
}
.section + .home-blog {
  margin-top: 0;
}

.logo--afterhours {
  transform: rotate(-15deg) translateY(0%) translateX(0);
  width: 130px;
  margin: 16px 0 0;
}

.home-work {
  padding-bottom: 64px;
}
.home-work .section__title {
  display: flex;
  align-items: flex-end;
  line-height: 1;
}
.home-work .section__title a {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 0.75rem;
  margin-left: 24px;
  transform: translateY(-2px);
  text-decoration: underline;
}
.home-work .section__title a:hover {
  color: var(--action-link-hover);
}
.hide .home-work .section__title {
  visibility: hidden;
}
.home-work .section__title--sub {
  max-width: 700px;
}
.home-work .section__title--sub a {
  text-decoration: underline;
}

.content-article, .content-default {
  max-width: 725px;
}
@media all and (min-width: 980px) {
  .content-article, .content-default {
    display: grid;
    grid-gap: 24px;
  }
}
@media all and (min-width: 980px) {
  .content-article .article--blog, .content-article .article--work, .content-article .article--micro, .content-article .article--wiki, .content-default .article--blog, .content-default .article--work, .content-default .article--micro, .content-default .article--wiki {
    grid-column: 1/2;
  }
}

@media all and (min-width: 980px) {
  .content-default {
    display: block;
  }
}
.content-default .section__title {
  line-height: 1.2;
  margin-bottom: 8px;
}
.content-default .section__title--sub {
  font-size: 0.75rem;
  margin: 0 0 16px;
}

.bb-article {
  display: flex;
  flex-direction: column;
  gap: 24px;
  max-width: 980px;
  margin: 0 auto;
  width: 100%;
}
.bb-article:last-child {
  margin-bottom: 32px;
}

.content-article {
  display: grid;
  gap: 32px;
}
@media only screen and (max-device-width: 504px) and (orientation: landscape) {
  @supports (padding-left: env(safe-area-inset-left)) {
    .content-article {
      padding-left: max(16px, env(safe-area-inset-left));
      padding-right: max(16px, env(safe-area-inset-right));
    }
  }
}
.content-article--work {
  max-width: 980px;
  grid-gap: 48px 32px;
  grid-template-rows: min-content;
}
@media all and (min-width: 768px) {
  .content-article--work {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
@media all and (min-width: 980px) {
  .content-article--work {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.content-article--work .section__title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
}
@media all and (min-width: 980px) {
  .content-article--work .section__title {
    font-size: 2.625rem;
    line-height: 1.1;
  }
}
.content-article--work .article-stub__date {
  display: none;
}
.page-container--resume .content-article {
  max-width: 980px;
}
.content-article .article-stub:not(:last-child) {
  margin-bottom: 32px;
}
@media all and (min-width: 980px) {
  .content-article .section__header + .section__content {
    margin-top: 0;
  }
}

.content-article--apps {
  display: grid;
  grid-gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(50px, 80px));
}

.article:not(:last-child) {
  margin-bottom: 48px;
}
.article--blog, .article--work, .article--micro, .article--wiki {
  max-width: 725px;
}
.article--blog > * + *, .article--work > * + *, .article--micro > * + *, .article--wiki > * + * {
  margin-top: 18px;
}
.article--work .article__meta {
  display: none;
}
.page-container > .article {
  margin-top: 32px;
}

.bb-article__content > * + *,
.bb-dialog__content > * + * {
  margin-top: 24px;
}
.bb-article__content > *:not(:last-child),
.bb-dialog__content > *:not(:last-child) {
  margin-bottom: 24px;
}
.bb-article__content li > a,
.bb-article__content p > a,
.bb-dialog__content li > a,
.bb-dialog__content p > a {
  text-decoration: underline;
}
.bb-article__content a,
.bb-dialog__content a {
  color: var(--action-link);
  transition: color 0.2s ease, text-decoration 0.2s ease;
}
.bb-article__content a:hover,
.bb-dialog__content a:hover {
  color: var(--action-link-hover);
}
.bb-article__content a:visited,
.bb-dialog__content a:visited {
  color: var(--action-link-visited);
}
.bb-article__content p,
.bb-article__content ol,
.bb-article__content ul,
.bb-dialog__content p,
.bb-dialog__content ol,
.bb-dialog__content ul {
  font-size: 1rem;
  line-height: 1.5;
  max-width: 65ch;
}
@media all and (min-width: 768px) {
  .bb-article__content p,
  .bb-article__content ol,
  .bb-article__content ul,
  .bb-dialog__content p,
  .bb-dialog__content ol,
  .bb-dialog__content ul {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}
@media all and (min-width: 980px) {
  .bb-article__content p,
  .bb-article__content ol,
  .bb-article__content ul,
  .bb-dialog__content p,
  .bb-dialog__content ol,
  .bb-dialog__content ul {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}
.bb-article__content ul, .bb-article__content ol,
.bb-dialog__content ul,
.bb-dialog__content ol {
  list-style: disc;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
}
.bb-article__content ol,
.bb-dialog__content ol {
  list-style: decimal inside;
}
.bb-article__content ul li,
.bb-dialog__content ul li {
  margin: 0 0 0 1em;
}
.bb-article__content blockquote p,
.bb-article__content blockquote ol,
.bb-article__content blockquote ul,
.bb-dialog__content blockquote p,
.bb-dialog__content blockquote ol,
.bb-dialog__content blockquote ul {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.4;
  font-style: italic;
  font-weight: bold;
  color: var(--default-text);
}
@media all and (min-width: 980px) {
  .bb-article__content blockquote p,
  .bb-article__content blockquote ol,
  .bb-article__content blockquote ul,
  .bb-dialog__content blockquote p,
  .bb-dialog__content blockquote ol,
  .bb-dialog__content blockquote ul {
    font-size: 2rem;
  }
}
.bb-article__content pre,
.bb-dialog__content pre {
  white-space: pre-wrap; /* css-3 */
  white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
  white-space: -pre-wrap; /* Opera 4-6 */
  white-space: -o-pre-wrap; /* Opera 7 */
  word-wrap: break-word;
}
@media (prefers-color-scheme: dark) {
  .bb-article__content pre,
  .bb-dialog__content pre {
    background-color: var(--default-background-weak);
  }
}
.bb-article__content .task-list,
.bb-dialog__content .task-list {
  list-style: none;
}
.bb-article__content .task-list label,
.bb-dialog__content .task-list label {
  padding-left: 0.3em;
}
.bb-article__content .task-list-item,
.bb-dialog__content .task-list-item {
  margin-left: -2.25em;
}
.bb-article__content code,
.bb-dialog__content code {
  color: #8a0000;
  font-size: 1rem;
  padding: 2px 6px;
  display: inline-block;
  border-radius: 2px;
  background-color: var(--default-background-weak);
}
@media (prefers-color-scheme: dark) {
  .bb-article__content code,
  .bb-dialog__content code {
    color: var(--default-text-medium);
  }
}
.bb-article__content figcaption p,
.bb-dialog__content figcaption p {
  font-size: 0.75em;
  color: var(--default-text-weak);
}

.apps-header {
  background: var(--default-surface-weak);
  padding: 16px;
  display: grid;
  grid-gap: 8px;
  grid-template-columns: 25% 1fr;
  grid-template-areas: "icon title" "icon dev" "runnersup runnersup" "trust trust";
}

.apps-header__icon {
  grid-area: icon;
}

.apps-header__title {
  grid-area: title;
  align-self: end;
}

.apps-header__dev {
  grid-area: dev;
}

.apps-header__runnersup {
  grid-area: runnersup;
}

.apps-header__trust {
  font-size: 0.75rem;
  grid-area: trust;
}

.apps-content__trust {
  background: var(--default-surface-weak);
  padding: 16px;
}
.apps-content__trust h5 {
  margin: 0 0 1em;
}
.apps-content__trust p {
  font-size: 0.75rem;
}

.bb-resume__contact::before {
  content: attr(data-print);
  display: none;
}

.bb-article-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, 25%);
  grid-gap: 16px;
  align-items: center;
  justify-items: center;
  margin-bottom: 24px;
}
.bb-article-gallery img {
  max-height: 80px;
}

.bb-figure-left img {
  border: 1px solid var(--default-border);
  border-radius: 6px;
}
@media all and (min-width: 768px) {
  .bb-figure-left {
    float: left;
    max-width: 35%;
    margin: 0 2em 1em 0;
  }
}

.bb-figure-right img {
  border: 1px solid var(--default-border);
  border-radius: 6px;
}
@media all and (min-width: 768px) {
  .bb-figure-right {
    float: right;
    max-width: 35%;
    margin: 0 0 1em 2em;
  }
}

@media all and (min-width: 768px) {
  .bb-figure-mobile {
    max-width: 320px;
    margin: 0 auto 1em;
  }
}

.bb-article__header {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-bottom: 24px;
  border-bottom: 2px solid var(--default-border);
}
.container--blog .bb-article__header {
  border: 0;
  padding: 0;
}

.bb-article__title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
}
@media all and (min-width: 980px) {
  .bb-article__title {
    font-size: 2.625rem;
    line-height: 1.1;
  }
}
.article--micro .bb-article__title {
  font-size: 1.5rem;
  font-weight: normal;
}
.body-blog .bb-article__title a {
  text-decoration: none;
  color: var(--default-text);
}
.body-blog .bb-article__title a:hover {
  text-decoration: underline;
}
.article--blog .bb-article__title .u-url {
  text-decoration: none;
}
.fonts-loaded .bb-article__title {
  font-family: "Montserrat", sans-serif;
}
.fonts-loaded .article--micro .bb-article__title {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

@media all and (min-width: 768px) {
  .bb-article__content--movies, .bb-article__content--tv, .bb-article__content--games {
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-gap: 48px 32px;
    grid-template-areas: "ratings-aside ratings-content";
  }
}

.bb-article__footer h4 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  color: var(--default-text-weak);
}
.container--single .bb-article__footer {
  border: 0;
  padding: 0 0 24px;
}

.article-stub {
  display: flex;
  flex-direction: column;
}
.article-stub.resume-stub {
  display: grid;
  grid-gap: 4px;
  grid-template-rows: repeat(4, min-content);
  grid-template-columns: min-content 4fr;
  grid-template-areas: "start-date end-date" "title title" "company company" "desc desc";
}

.article-stub--micro {
  font-size: 1rem;
}
.article-stub--micro a {
  text-decoration: none;
}

.article-stub--micro .article-stub__meta {
  font-size: 0.75rem;
  color: var(--default-text-weak);
}

.article-stub > a {
  display: flex;
  flex-direction: column;
}

.article-stub--apps a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}

.article-stub__label {
  font-size: 0.875rem;
  font-weight: normal;
  color: var(--default-text-weak);
}

.article-stub__date {
  font-family: var(--bb-font-body);
  font-size: 0.75rem;
  color: var(--default-text-weak);
  margin-bottom: 4px;
  display: block;
  text-decoration: none;
}
.home-blog .article-stub__date {
  text-decoration: none;
  color: var(--default-text-medium-inverse);
}
.home-work .article-stub__date {
  color: var(--default-text-weak);
  display: none;
}
.article-stub__date.resume__start-date {
  grid-area: start-date;
  margin: 0;
  white-space: nowrap;
}
.article-stub__date.resume__end-date {
  grid-area: end-date;
  margin: 0;
}
.bb-blog-micro a:hover .article-stub__date {
  text-decoration: underline;
}

.article-stub__title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 16px;
  text-decoration: none;
}
.article-stub:hover .article-stub__title {
  text-decoration: underline;
}
.resume-stub:hover .article-stub__title {
  text-decoration: none;
}
.home-blog .article-stub__title {
  color: var(--default-text-inverse);
}
.article-stub__title.resume__title {
  grid-area: title;
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
}
@media all and (min-width: 980px) {
  .article-stub__title.resume__title {
    font-size: 2rem;
    line-height: 1.1;
  }
}
.article-stub--micro .article-stub__title {
  font-size: 0.875rem;
  text-decoration: none;
  font-weight: 400;
  margin-bottom: 8px;
  line-height: 1.5;
}
.article-stub--micro:hover .article-stub__title {
  text-decoration: none;
}
.fonts-loaded .article-stub--micro .article-stub__title {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

.article-stub--apps .article-stub__title {
  font-weight: normal;
  font-size: 0.875rem;
}
@media all and (min-width: 980px) {
  .article-stub--apps .article-stub__title {
    font-size: 0.875rem;
  }
}

.article-stub__title--sub {
  text-decoration: none;
  display: inline-block;
}

.resume__company {
  grid-area: company;
}

.article-stub__media {
  margin-bottom: 8px;
  aspect-ratio: 16/9;
  display: flex;
  overflow: hidden;
  height: auto;
}
.article-stub__media img {
  object-fit: cover;
  object-position: 0 50%;
  width: 100%;
  height: 100%;
}
.article-stub--apps .article-stub__media {
  margin: 0;
  aspect-ratio: 1/1;
}

.article-stub__content {
  font-size: 0.875rem;
  margin-bottom: 8px;
}
@media all and (min-width: 980px) {
  .article-stub__content {
    font-size: 1rem;
  }
}
.article-stub__content.resume__content {
  grid-area: desc;
  margin: 0;
}
.home-blog .article-stub__content {
  color: var(--default-text-inverse);
}

.article-stub__desc {
  display: inline-block;
  text-decoration: none;
}
.home-blog .article-stub__desc {
  color: hsl(var(--bb-text-color-inverse));
}
.home-blog .article-stub__desc a {
  color: hsl(var(--bb-text-color-inverse));
}
.article-stub__desc.resume__desc {
  max-width: 85ch;
}
@media all and (min-width: 768px) {
  .article-stub__desc.resume__desc {
    max-width: 35em;
  }
}
.article-stub__desc figure {
  max-width: 30%;
  float: left;
  margin: 0 16px 4px 0;
}

.article-stub__more {
  display: inline-block;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 0.75rem;
  text-decoration: none;
  transition: color 0.25s ease;
}
.article-stub__more svg {
  vertical-align: middle;
  margin-left: 4px;
  width: 12px;
  height: 12px;
  fill: var(--default-text-medium-inverse);
  transform: translateX(0) translateY(0) translateZ(0);
  transition: transform 0.25s ease, fill 0.25s ease, color 0.25s ease;
}
.article-stub a:hover .article-stub__more {
  color: var(--action-link-hover);
}
.article-stub a:hover .article-stub__more svg {
  transform: translateX(2px) translateY(0) translateZ(0);
  fill: var(--action-link-hover);
}
.home-blog .article-stub__more {
  color: var(--default-text-medium-inverse);
}
.home-blog .article-stub__more svg {
  fill: var(--default-text-medium-inverse);
}
.home-blog a:hover .article-stub__more {
  color: var(--default-text-medium-inverse);
}
.home-blog a:hover .article-stub__more svg {
  fill: var(--default-text-medium-inverse);
}
.home-work .article-stub__more {
  color: var(--default-text-weak);
}
.home-work .article-stub__more svg {
  fill: var(--default-text-weak);
}

.micro-stub {
  display: flex;
  flex-direction: column;
}
.micro-stub + .micro-stub {
  margin-top: var(--space-xxlarge);
}
@media all and (min-width: 768px) {
  .micro-stub + .micro-stub {
    margin-top: 0;
  }
}

.micro-stub__date {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 0.75rem;
  color: var(--default-text-weak);
  margin-bottom: 4px;
}

.micro-stub__title {
  font-size: 1.125rem;
  line-height: 1.1;
  font-weight: 700;
  margin-bottom: 16px;
}
@media all and (min-width: 980px) {
  .micro-stub__title {
    font-size: 2.5rem;
    line-height: 1.25;
  }
}

.micro-stub__content {
  font-size: 0.875rem;
  margin-bottom: 8px;
}
@media all and (min-width: 980px) {
  .micro-stub__content {
    font-size: 1rem;
  }
}

.micro-stub__media {
  margin-bottom: 8px;
}
.micro-stub__media img {
  display: block;
}

.micro-stub__desc figure {
  max-width: 30%;
  float: left;
  margin: 0 16px 4px 0;
}

.bb-article__tags {
  font-size: 0.875rem;
  padding: 0;
  margin-top: 8px;
}
.bb-article__tags li {
  display: inline-block;
}
.bb-article__tags li + li {
  margin-top: 0;
}
.bb-article__tags li:not(:only-child)::after {
  content: "/";
  padding: 0 4px 0 7px;
  color: var(--default-text-weak);
}
.bb-article__tags li:not(:only-child):last-child::after {
  content: "";
}
.bb-article__tags a {
  color: var(--action-link);
  text-decoration: underline;
}

.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  grid-column: 1/-1;
}
.pagination a,
.pagination span {
  width: 2em;
  height: 2em;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 8px;
  border-radius: 25%;
  transition: background-color 0.1s ease;
  text-decoration: none;
}
.pagination a:hover,
.pagination span:hover {
  background-color: var(--action-background-hover);
  color: var(--action-link-inverse);
}
.pagination a.current,
.pagination span.current {
  background-color: var(--action-background-active);
  color: var(--action-link-inverse);
}
.pagination a.prev svg,
.pagination span.prev svg {
  transform: rotate(180deg);
}
.pagination a.next:hover svg, .pagination a.prev:hover svg,
.pagination span.next:hover svg,
.pagination span.prev:hover svg {
  fill: var(--action-link-inverse);
}

.body-library .library-intro {
  width: 100%;
}
.body-library .library-intro .section__title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
}
@media all and (min-width: 980px) {
  .body-library .library-intro .section__title {
    font-size: 2.625rem;
    line-height: 1.1;
  }
}
.body-library .section__title {
  font-family: "Montserrat", sans-serif;
  font-size: 1.125rem;
  line-height: 1.1;
  font-weight: 700;
}
@media all and (min-width: 980px) {
  .body-library .section__title {
    font-size: 2.5rem;
    line-height: 1.25;
  }
}
.body-library .pattern:not(:last-child) {
  margin-bottom: 32px;
}
.body-library .pattern__name {
  font-size: 0.875rem;
  color: var(--default-text-weak);
  padding-bottom: 4px;
  border-bottom: 1px solid var(--default-border);
  margin-bottom: 16px;
}
.body-library [class^=heading-]:not(:last-child) {
  margin-bottom: 24px;
}
.body-library [class^=heading-]::before {
  content: attr(class);
  font-size: 0.625rem;
  font-weight: 400;
  display: block;
  color: var(--default-text-weak);
}
.body-library .heading-1 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
}
@media all and (min-width: 980px) {
  .body-library .heading-1 {
    font-size: 2.625rem;
    line-height: 1.1;
  }
}
.body-library .heading-1--secondary {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.1;
}
@media all and (min-width: 980px) {
  .body-library .heading-1--secondary {
    font-size: 2.625rem;
  }
}
.body-library .heading-2 {
  font-size: 1.5rem;
  line-height: 1.1;
  font-weight: 700;
}
@media all and (min-width: 980px) {
  .body-library .heading-2 {
    font-size: 2.625rem;
  }
}
.body-library .heading-2--secondary {
  font-size: 1.5rem;
  font-weight: normal;
  line-height: 1.25;
}
@media all and (min-width: 980px) {
  .body-library .heading-2--secondary {
    font-size: 2.625rem;
    line-height: 1.1;
  }
}
.body-library .heading-3 {
  font-size: 1.125rem;
  line-height: 1.1;
  font-weight: 700;
}
@media all and (min-width: 980px) {
  .body-library .heading-3 {
    font-size: 2.5rem;
    line-height: 1.25;
  }
}
.body-library .heading-4 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
}
@media all and (min-width: 980px) {
  .body-library .heading-4 {
    font-size: 2rem;
    line-height: 1.1;
  }
}
.body-library .heading-5 {
  display: none;
}
@media all and (min-width: 980px) {
  .body-library .heading-5 {
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.25;
  }
}
.body-library .heading-6 {
  display: none;
}
@media all and (min-width: 980px) {
  .body-library .heading-6 {
    display: block;
    line-height: 1.25;
    font-weight: 600;
    font-size: 1rem;
  }
}

.bb-footer {
  background-color: var(--default-surface-strong-inverse);
  color: var(--default-text);
}
.bb-footer .container {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 0 max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left));
}
@media all and (min-width: 980px) {
  .bb-footer .container {
    padding: 0;
    flex-direction: row;
  }
}
.bb-footer__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0 16px;
  align-items: center;
  height: 64px;
  list-style: none;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1;
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}
@media all and (min-width: 768px) {
  .bb-footer__list {
    justify-content: flex-start;
    margin: 0;
    gap: 0 24px;
  }
}
.bb-footer__list a {
  text-decoration: none;
  text-transform: uppercase;
  color: var(--action-text-inverse);
  min-width: 48px;
  height: 48px;
  flex: 0 0 48px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.bb-footer__list a[rel] {
  text-transform: none;
}
.bb-footer__list a[href*=twitter] svg {
  fill: #0b75b7;
}
.bb-footer__list a[href*="micro.blog"] svg {
  fill: #fd9926;
}
.bb-footer__list a:hover {
  text-decoration: underline;
}
.bb-footer__copyright, .bb-footer__vcard {
  display: none;
}
.bb-footer__copyright {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: 64px;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1;
}
.bb-footer__copyright p {
  white-space: nowrap;
}

.bb-switch {
  overflow: hidden;
  padding: 0 44px 0 0;
  position: relative;
  height: 50px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.bb-switch:hover {
  cursor: pointer;
}
.bb-switch input:not([role=button]) {
  pointer-events: none;
}
.bb-switch input {
  height: 100%;
  left: 0;
  opacity: 0.0001;
  position: absolute;
  top: 0;
  width: 100%;
}

.bb-switch span::before, .bb-switch span::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: 2px solid black;
}
.bb-switch span::before {
  border-radius: 18px;
  height: 20px;
  right: 0;
  transition: background 0.2s ease-in-out, border-color 0.2s ease-in-out;
  width: 36px;
  background-color: black;
}
.bb-switch span::after {
  background: white;
  border-radius: 50%;
  height: 20px;
  right: 16px;
  transition: right 0.1825s ease-in-out, border-color 0.2s ease-in-out;
  width: 20px;
}

.bb-switch input:checked + span::after {
  right: 0;
  border-color: green;
}

.bb-switch input:checked + span::before {
  background: green;
  border-color: green;
}

.bb-ratings-list__container {
  grid-area: main;
  gap: 40px;
}
.bb-ratings__heading {
  grid-area: header;
  margin-bottom: 32px;
}

.bb-ratings-aside {
  grid-area: aside;
}

.bb-ratings-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  grid-gap: 16px;
  width: 100%;
  grid-area: list;
}

.bb-ratings-list--games {
  display: block;
}

.bb-ratings-title__system {
  border-bottom: 1px solid var(--default-border-weak);
  margin-bottom: 24px;
}

.bb-ratings-system {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  grid-gap: 16px;
  margin-bottom: 40px;
}

.bb-ratings-list__item {
  position: relative;
  max-width: 200px;
}
.bb-ratings-list__item a {
  display: block;
  width: 100%;
  height: 100%;
}

.bb-ratings-list--movies .bb-ratings-list__poster {
  margin: 0;
}
.bb-ratings-list--movies .bb-ratings-list__poster img {
  object-fit: cover;
  display: flex;
  max-width: 100%;
}

.bb-ratings-list__box {
  width: 100%;
  display: flex;
  height: 100%;
}
.bb-ratings-list__box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bb-ratings-list__name {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
}

.bb-ratings__total {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 35px;
  height: 35px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  text-align: center;
  font-size: 0.625rem;
  padding: 0 2px 2px 0;
  color: var(--default-text-medium);
}

.bb-ratings-list--games .bb-ratings__total {
  right: 4px;
  bottom: 8px;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  padding: 0;
  width: 30px;
  height: 30px;
}

.bb-ratings__bad {
  background-image: linear-gradient(135deg, transparent 0%, transparent 50%, var(--danger-background) 50%, var(--danger-background) 100%);
  color: var(--danger-text);
}
.bb-ratings-list--games .bb-ratings__bad, .bb-ratings__bad.bb-ratings-single-key__swatch {
  background: var(--danger-background);
}
.blog-ratings__item .bb-ratings__bad {
  background-image: none;
  background-color: var(--danger-background);
  color: var(--danger-text);
}

.bb-ratings__ok {
  background-image: linear-gradient(135deg, transparent 0%, transparent 50%, var(--warning-background) 50%, var(--warning-background) 100%);
  color: var(--warning-text);
}
.bb-ratings-list--games .bb-ratings__ok, .bb-ratings__ok.bb-ratings-single-key__swatch {
  background-color: var(--warning-background);
}
.blog-ratings__item .bb-ratings__ok {
  background-image: none;
  background-color: var(--warning-background);
  color: var(--warning-text);
}

.bb-ratings__good {
  background-image: linear-gradient(135deg, transparent 0%, transparent 50%, var(--success-background) 50%, var(--success-background) 100%);
  color: var(--success-text);
}
.bb-ratings-list--games .bb-ratings__good, .bb-ratings__good.bb-ratings-single-key__swatch {
  background-color: var(--success-background);
}
.blog-ratings__item .bb-ratings__good {
  background-image: none;
  background-color: var(--success-background);
  color: var(--success-text);
}

.bb-ratings-list__hascontent {
  width: 35px;
  height: 35px;
  position: absolute;
  left: 0;
  bottom: 0;
  background-image: linear-gradient(45deg, #000000 0, #000000 50%, transparent 50%, transparent 100%);
}
.bb-ratings-list__hascontent svg {
  stroke: var(--default-border-inverse);
  width: 16px;
  height: 16px;
  position: absolute;
  left: 2px;
  bottom: 2px;
}

.bb-ratings__award {
  position: absolute;
  left: 0px;
  top: 0px;
  width: 48px;
  height: 48px;
  padding: 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.5);
}
.bb-ratings__award svg {
  stroke: none;
  fill: var(--default-text-weak-inverse);
  margin-bottom: 4px;
}

.bb-ratings__award-title {
  font-size: 0.375rem;
  text-transform: uppercase;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  color: var(--default-text-inverse);
}

ul + .bb-ratings-meta__heading {
  margin-top: 32px;
}

.bb-ratings-meta__heading {
  margin-bottom: 24px;
}

.bb-ratings-meta ul {
  display: flex;
  flex-direction: column;
  gap: 8px;
  list-style-type: disc;
  padding-left: 1.25em;
}

.bb-ratings-meta li a {
  text-decoration: underline;
}

.bb-ratings__header {
  display: flex;
  flex-direction: column;
}
.bb-ratings__header .bb-ratings__heading {
  margin-bottom: 32px;
}
@media all and (min-width: 980px) {
  .bb-ratings__header .bb-ratings__heading {
    margin: 0;
    flex-direction: row;
  }
}
@media all and (min-width: 980px) {
  .bb-ratings__header {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

.bb-ratings-show {
  display: flex;
  align-items: center;
  gap: 16px;
}

.bb-ratings-top {
  margin-bottom: 48px;
  width: 100%;
}

.bb-ratings-top__heading {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 24px;
}
.bb-ratings-top__heading span {
  font-weight: 400;
  font-size: 14px;
}
.bb-ratings-top__heading a {
  text-decoration: underline;
}

.bb-ratings-top__list {
  counter-reset: section;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-areas: "one one" "two two" "three four" "five six" "seven eight" "nine ten";
  grid-gap: 16px;
  margin: 0 0 32px;
  padding: 0;
  width: 100%;
}
@media all and (min-width: 980px) {
  .bb-ratings-top__list {
    grid-template-columns: repeat(5, 1fr);
    grid-template-areas: "one one one two three" "one one one four five" "six seven eight nine ten";
  }
}

.bb-ratings-top__item {
  position: relative;
  list-style-type: none;
  overflow: hidden;
  max-width: 300px;
}
.bb-ratings-top__item::before {
  counter-increment: section;
  content: counter(section);
  position: absolute;
  left: 8px;
  bottom: 12px;
  font-weight: bold;
  font-size: 32px;
  line-height: 0.75;
  color: var(--default-text-inverse);
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5);
}
.bb-ratings-top__item:nth-child(1) {
  grid-area: one;
  align-self: center;
  justify-self: center;
}
.bb-ratings-top__item:nth-child(1)::before {
  background: linear-gradient(to top, #9e8500 0%, #ffd700 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(1px 1px 0px black);
}
.bb-ratings-top__item:nth-child(2) {
  grid-area: two;
  align-self: center;
  justify-self: center;
}
@media all and (min-width: 980px) {
  .bb-ratings-top__item:nth-child(2) {
    align-self: start;
    justify-self: start;
  }
}
.bb-ratings-top__item:nth-child(3) {
  grid-area: three;
}
@media all and (min-width: 980px) {
  .bb-ratings-top__item:nth-child(3) {
    align-self: start;
    justify-self: start;
  }
}
.bb-ratings-top__item:nth-child(4) {
  grid-area: four;
}
@media all and (min-width: 980px) {
  .bb-ratings-top__item:nth-child(4) {
    align-self: start;
    justify-self: start;
  }
}
.bb-ratings-top__item:nth-child(5) {
  grid-area: five;
}
@media all and (min-width: 980px) {
  .bb-ratings-top__item:nth-child(5) {
    align-self: start;
    justify-self: start;
  }
}
.bb-ratings-top__item:nth-child(6) {
  grid-area: six;
}
.bb-ratings-top__item:nth-child(7) {
  grid-area: seven;
}
.bb-ratings-top__item:nth-child(8) {
  grid-area: eight;
}
.bb-ratings-top__item:nth-child(9) {
  grid-area: nine;
}
.bb-ratings-top__item:nth-child(10) {
  grid-area: ten;
}
ol .bb-ratings-top__item + .bb-ratings-top__item {
  margin: 0;
}
.bb-ratings-top__item .bb-ratings__total {
  bottom: 5px;
}

.bb-ratings-top__image {
  width: 100%;
  aspect-ratio: 2/3;
  object-fit: cover;
  object-position: center;
  display: inline-block;
}

.bb-ratings-single-meta {
  margin-bottom: 32px;
  align-items: flex-start;
}
@media all and (min-width: 768px) {
  .bb-ratings-single-meta {
    margin: 0;
    grid-area: ratings-aside;
  }
}
.bb-ratings-single-meta__poster {
  margin-bottom: 24px;
}
.bb-ratings-single-meta__details {
  display: grid;
  grid-gap: 1px;
  grid-template-columns: 2fr 1fr;
}
.bb-ratings-single-meta__details > div {
  font-size: 0.75rem;
  background-color: var(--default-surface-weak);
  padding: 4px;
  color: var(--default-text);
}
.bb-ratings-single-meta__details > div:nth-child(2n) {
  text-align: right;
}
.bb-ratings-single-meta__details small {
  display: block;
}

@media all and (min-width: 768px) {
  .bb-ratings-single__content {
    grid-area: ratings-content;
  }
}

.bb-ratings-single-ratings table {
  text-align: left;
  border-collapse: separate;
  border-spacing: 2px;
  margin-bottom: 16px;
}
.bb-ratings-single-ratings th,
.bb-ratings-single-ratings td {
  padding: 4px;
}
@media all and (min-width: 768px) {
  .bb-ratings-single-ratings th,
  .bb-ratings-single-ratings td {
    padding: 8px 16px;
  }
}
.bb-ratings-single-ratings th {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
}
@media all and (min-width: 768px) {
  .bb-ratings-single-ratings th {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1;
  }
}
.bb-ratings-single-ratings thead th {
  text-align: center;
}
.bb-ratings-single-ratings td {
  background-color: var(--default-surface-weak);
  text-align: center;
  font-size: 1rem;
}
@media all and (min-width: 768px) {
  .bb-ratings-single-ratings td {
    font-size: 1.125rem;
  }
}
.bb-ratings-single-ratings img {
  width: 15px;
}

.bb-ratings-single-key {
  display: flex;
  justify-content: space-between;
  position: relative;
  margin-bottom: 32px;
}
.bb-ratings-single-key__swatch {
  padding: 4px;
  color: var(--default-text);
  text-align: center;
  font-size: 0.875rem;
}
@media (prefers-color-scheme: dark) {
  .bb-ratings-single-key__swatch {
    color: hsl(var(--color-black));
  }
}
.bb-ratings-single-key .bb-ratings__good {
  width: 25%;
  color: var(--success-text);
}
.bb-ratings-single-key .bb-ratings__ok {
  width: 35%;
  color: var(--warning-text);
}
.bb-ratings-single-key .bb-ratings__bad {
  width: 40%;
  color: var(--danger-text);
}
.bb-ratings-single-key__mark {
  position: absolute;
  top: 0;
  height: 100%;
  width: 1px;
  background-color: var(--default-text);
}
.bb-ratings-single-key__mark::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 50%;
  margin-left: -10px;
  width: 0;
  height: 0;
  border-width: 0 10px 10px 10px;
  border-style: none solid solid solid;
  border-color: transparent transparent var(--default-text) transparent;
}

.bb-blog-articles {
  grid-area: main;
  display: flex;
  flex-direction: column;
  gap: 64px;
}

.bb-blog-micro {
  grid-area: aside;
}

.bb-blog-micro__list {
  display: flex;
  gap: 24px;
  flex-direction: column;
}

.bb-blog-micro__title {
  display: flex;
  gap: 16px;
  font-size: 0.875rem;
  text-transform: uppercase;
  white-space: nowrap;
  align-items: center;
  margin: 0 0 16px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}
.fonts-loaded .bb-blog-micro__title {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

.bb-blog-micro__social {
  display: flex;
  gap: 16px;
  align-items: center;
  list-style: none;
  padding: 0;
}
.bb-blog-micro__social a[href*=twitter] svg {
  fill: #0b75b7;
}
.bb-blog-micro__social a[href*="micro.blog"] svg {
  fill: #fd9926;
}

.bb-blog-micro__more a {
  display: flex;
  margin-top: 24px;
  text-decoration: underline;
}

.blog-ratings {
  padding: 16px 0;
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.blog-ratings__item {
  font-size: 0.75rem;
  flex: 0 0 150px;
  text-align: center;
  padding: 16px;
  background-color: var(--default-bckground);
}
.blog-ratings__item a {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  text-decoration: none;
  color: var(--default-text);
}
.blog-ratings__item a:hover .blog-ratings__title {
  text-decoration: underline;
}

.blog-ratings__title {
  font-weight: 600;
}

.blog-ratings__rating {
  margin-top: 8px;
  padding: 2px;
}

.bb-work-articles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(288px, 1fr));
  gap: 60px 40px;
}

.bb-work-articles .article-stub__date {
  display: none;
}

.bb-form {
  display: flex;
  flex-direction: column;
  gap: 2.5em;
}

.bb-field-group {
  display: flex;
  flex-direction: column;
  gap: 2em;
}

.bb-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.bb-field--obsc {
  display: none;
}

.field-group {
  display: grid;
  grid-gap: 16px;
}

.field {
  display: grid;
  grid-gap: 8px 4px;
  grid-template-rows: min-content;
}
.field--hidden {
  display: none;
}

.bb-label {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
}
.bb-label__message {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1;
  color: var(--default-text-medium);
}

.bb-input,
.bb-textarea {
  appearance: none;
  border-radius: 5px;
  font-size: 1rem;
  padding: 0 1em;
  border: 1px solid var(--default-border-weak);
  background-color: var(--default-background-weak);
  color: var(--default-text);
  max-width: 478px;
  display: flex;
  align-items: center;
  height: 48px;
}
.error.bb-input,
.error.bb-textarea {
  border-color: red;
}
.bb-input:active,
.bb-textarea:active, .bb-input:focus,
.bb-textarea:focus {
  border: 2px solid var(--action-link);
  outline: 0;
}

.bb-textarea {
  padding: 1em;
  height: auto;
  min-height: 5em;
}

@media print {
  body {
    font-size: 0.75rem;
  }
  .section + .section {
    margin-top: 40px;
  }
  .section--aside + .section--aside {
    margin-top: 40px;
  }
  .section__header + .section__content {
    margin-top: 16px;
  }
  .section__container {
    padding: 0 16px;
  }
  .bb-resume-logo {
    display: block;
  }
  .bb-resume__contact a {
    display: none;
  }
  .bb-resume__contact::before {
    display: block;
  }
  .section-wrapper {
    display: grid;
    grid-gap: 32px;
    grid-template-columns: 3fr 1fr;
  }
  .section:last-child {
    margin-bottom: 0;
  }
  .content-article {
    grid-gap: 16px;
  }
  .content-article--focus .section__content p {
    font-size: 0.625rem;
  }
  .article-stub {
    page-break-inside: avoid;
  }
  .content-article .article-stub:not(:last-child) {
    margin-bottom: 24px;
  }
  .article-stub + .article-stub {
    margin-top: 24px;
  }
  .resume-stub .article-stub__date {
    text-decoration: none;
    color: var(--default-text);
  }
  .article-stub__title {
    font-size: 1rem;
  }
  .article-stub__title.resume__title {
    font-size: 1rem;
  }
  .article-stub__desc {
    font-size: 0.625rem;
  }
  .body-resume .global-header {
    height: 0;
  }
  .logo {
    display: none;
  }
  .global-header__logo {
    display: none;
  }
  .global-menu__trigger {
    display: none;
  }
  .global-menu {
    display: none;
  }
  .bb-footer {
    display: none;
  }
  .intro {
    min-height: auto;
  }
  .intro.intro--blog .section__container,
  .intro.intro--work .section__container {
    margin-left: 1em;
  }
  .intro__heading {
    font-size: 1.5rem;
    line-height: 1.1;
    font-weight: 700;
  }
}
@media print and (min-width: 980px) {
  .intro__heading {
    font-size: 2.625rem;
  }
}
@media print {
  .section--aside .section__title {
    font-size: 1rem;
  }
}
@media print {
  .list--featured li {
    font-size: 0.875rem;
  }
  .list--featured ul li {
    font-size: 0.875rem;
  }
}
.bb-token,
.bb-token--hex {
  font-size: 0.875rem;
  color: #8a0000;
}
.bb-token--hex {
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
}
.bb-token--hex__swatch {
  width: 1em;
  height: 1em;
  border-radius: 50%;
  margin-right: 0.25em;
}

.bb-update {
  background-color: var(--default-surface-weak);
  padding: 16px;
  display: inline-block;
  margin-bottom: 32px;
  border-radius: 4px;
}
.bb-update__date {
  font-weight: 700;
  display: block;
}

.bb-dialog {
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  border: none;
  padding: 0;
  height: 100%;
  width: 100%;
  background-color: var(--default-surface-weak);
  display: flex;
  flex-direction: column;
}
@media all and (min-width: 980px) {
  .bb-dialog {
    max-width: 50%;
    border-radius: 6px;
    max-height: 75vh;
  }
}
.bb-dialog::backdrop {
  background-color: hsla(0deg, 0%, 0%, 0.65);
}
.bb-dialog[open] {
  position: fixed;
}

.bb-dialog__header {
  display: flex;
  justify-content: flex-end;
  height: 40px;
  flex: 0 0 40px;
}

.bb-dialog__close {
  -webkit-appearance: none;
  appearance: none;
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
}
.bb-dialog__close:hover {
  background-color: var(--action-background-hover);
}
.bb-dialog__close svg {
  width: 20px;
  height: 20px;
  stroke: var(--default-text);
}

.bb-dialog__content {
  overflow-y: auto;
  padding: 16px;
  color: var(--default-text);
  scrollbar-color: dark;
}
.bb-dialog__content::-webkit-scrollbar-track {
  background-color: var(--default-surface-weak);
}
@media all and (min-width: 980px) {
  .bb-dialog__content {
    padding: 24px 32px;
  }
}
.bb-dialog__content ul + h2 {
  margin-top: 24px;
}

.bb-dialog__footer {
  flex: 0 0 24px;
}

.fonts-loaded figcaption > h4 {
  font-size: 12px;
  font-weight: 400;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  color: var(--default-text-weak);
}

/* Background */
.chroma {
  background-color: #ffffff;
}

/* Other */
/* Error */
.chroma .err {
  color: #ff0000;
  background-color: #ffaaaa;
}

/* LineTableTD */
.chroma .lntd {
  vertical-align: top;
  padding: 0;
  margin: 0;
  border: 0;
}

/* LineTable */
.chroma .lntable {
  border-spacing: 0;
  padding: 0;
  margin: 0;
  border: 0;
  width: auto;
  overflow: auto;
  display: block;
}

/* LineHighlight */
.chroma .hl {
  display: block;
  width: 100%;
  background-color: #ffffcc;
}

/* LineNumbersTable */
.chroma .lnt {
  margin-right: 0.4em;
  padding: 0 0.4em 0 0.4em;
  color: #7f7f7f;
}

/* LineNumbers */
.chroma .ln {
  margin-right: 0.4em;
  padding: 0 0.4em 0 0.4em;
  color: #7f7f7f;
}

/* Keyword */
.chroma .k {
  color: #008800;
  font-weight: bold;
}

/* KeywordConstant */
.chroma .kc {
  color: #008800;
  font-weight: bold;
}

/* KeywordDeclaration */
.chroma .kd {
  color: #008800;
  font-weight: bold;
}

/* KeywordNamespace */
.chroma .kn {
  color: #008800;
  font-weight: bold;
}

/* KeywordPseudo */
.chroma .kp {
  color: #003388;
  font-weight: bold;
}

/* KeywordReserved */
.chroma .kr {
  color: #008800;
  font-weight: bold;
}

/* KeywordType */
.chroma .kt {
  color: #333399;
  font-weight: bold;
}

/* Name */
/* NameAttribute */
.chroma .na {
  color: #0000cc;
}

/* NameBuiltin */
.chroma .nb {
  color: #007020;
}

/* NameBuiltinPseudo */
/* NameClass */
.chroma .nc {
  color: #bb0066;
  font-weight: bold;
}

/* NameConstant */
.chroma .no {
  color: #003366;
  font-weight: bold;
}

/* NameDecorator */
.chroma .nd {
  color: #555555;
  font-weight: bold;
}

/* NameEntity */
.chroma .ni {
  color: #880000;
  font-weight: bold;
}

/* NameException */
.chroma .ne {
  color: #ff0000;
  font-weight: bold;
}

/* NameFunction */
.chroma .nf {
  color: #0066bb;
  font-weight: bold;
}

/* NameFunctionMagic */
/* NameLabel */
.chroma .nl {
  color: #997700;
  font-weight: bold;
}

/* NameNamespace */
.chroma .nn {
  color: #0e84b5;
  font-weight: bold;
}

/* NameOther */
/* NameProperty */
/* NameTag */
.chroma .nt {
  color: #007700;
}

/* NameVariable */
.chroma .nv {
  color: #996633;
}

/* NameVariableClass */
.chroma .vc {
  color: #336699;
}

/* NameVariableGlobal */
.chroma .vg {
  color: #dd7700;
  font-weight: bold;
}

/* NameVariableInstance */
.chroma .vi {
  color: #3333bb;
}

/* NameVariableMagic */
/* Literal */
/* LiteralDate */
/* LiteralString */
.chroma .s {
  background-color: #fff0f0;
}

/* LiteralStringAffix */
.chroma .sa {
  background-color: #fff0f0;
}

/* LiteralStringBacktick */
.chroma .sb {
  background-color: #fff0f0;
}

/* LiteralStringChar */
.chroma .sc {
  color: #0044dd;
  background-color: #fff0f0;
}

/* LiteralStringDelimiter */
.chroma .dl {
  background-color: #fff0f0;
}

/* LiteralStringDoc */
.chroma .sd {
  color: #dd4422;
  background-color: #fff0f0;
}

/* LiteralStringDouble */
.chroma .s2 {
  background-color: #fff0f0;
}

/* LiteralStringEscape */
.chroma .se {
  color: #666666;
  background-color: #fff0f0;
  font-weight: bold;
}

/* LiteralStringHeredoc */
.chroma .sh {
  background-color: #fff0f0;
}

/* LiteralStringInterpol */
.chroma .si {
  background-color: #eeeeee;
}

/* LiteralStringOther */
.chroma .sx {
  color: #dd2200;
  background-color: #fff0f0;
}

/* LiteralStringRegex */
.chroma .sr {
  color: #000000;
  background-color: #fff0ff;
}

/* LiteralStringSingle */
.chroma .s1 {
  background-color: #fff0f0;
}

/* LiteralStringSymbol */
.chroma .ss {
  color: #aa6600;
  background-color: #fff0f0;
}

/* LiteralNumber */
.chroma .m {
  color: #6600ee;
  font-weight: bold;
}

/* LiteralNumberBin */
.chroma .mb {
  color: #6600ee;
  font-weight: bold;
}

/* LiteralNumberFloat */
.chroma .mf {
  color: #6600ee;
  font-weight: bold;
}

/* LiteralNumberHex */
.chroma .mh {
  color: #005588;
  font-weight: bold;
}

/* LiteralNumberInteger */
.chroma .mi {
  color: #0000dd;
  font-weight: bold;
}

/* LiteralNumberIntegerLong */
.chroma .il {
  color: #6600ee;
  font-weight: bold;
}

/* LiteralNumberOct */
.chroma .mo {
  color: #4400ee;
  font-weight: bold;
}

/* Operator */
.chroma .o {
  color: #333333;
}

/* OperatorWord */
.chroma .ow {
  color: #000000;
  font-weight: bold;
}

/* Punctuation */
/* Comment */
.chroma .c {
  color: #888888;
}

/* CommentHashbang */
.chroma .ch {
  color: #888888;
}

/* CommentMultiline */
.chroma .cm {
  color: #888888;
}

/* CommentSingle */
.chroma .c1 {
  color: #888888;
}

/* CommentSpecial */
.chroma .cs {
  color: #cc0000;
  font-weight: bold;
}

/* CommentPreproc */
.chroma .cp {
  color: #557799;
}

/* CommentPreprocFile */
.chroma .cpf {
  color: #557799;
}

/* Generic */
/* GenericDeleted */
.chroma .gd {
  color: #a00000;
}

/* GenericEmph */
.chroma .ge {
  font-style: italic;
}

/* GenericError */
.chroma .gr {
  color: #ff0000;
}

/* GenericHeading */
.chroma .gh {
  color: #000080;
  font-weight: bold;
}

/* GenericInserted */
.chroma .gi {
  color: #00a000;
}

/* GenericOutput */
.chroma .go {
  color: #888888;
}

/* GenericPrompt */
.chroma .gp {
  color: #c65d09;
  font-weight: bold;
}

/* GenericStrong */
.chroma .gs {
  font-weight: bold;
}

/* GenericSubheading */
.chroma .gu {
  color: #800080;
  font-weight: bold;
}

/* GenericTraceback */
.chroma .gt {
  color: #0044dd;
}

/* GenericUnderline */
.chroma .gl {
  text-decoration: underline;
}

/* TextWhitespace */
.chroma .w {
  color: #bbbbbb;
}

@media (prefers-color-scheme: dark) {
  .chroma .c {
    color: hsl(var(--color-nobel));
  }
  .chroma .nt {
    color: hsl(var(--bb-color-green-hue) var(--bb-color-green-saturation) 90%);
  }
  .chroma .o {
    color: hsl(var(--color-silver));
  }
  .chroma .nc {
    color: hsl(327, 100%, 90%);
  }
}
dialog {
  position: absolute;
  left: 0;
  right: 0;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  margin: auto;
  border: solid;
  padding: 1em;
  background: white;
  color: black;
  display: block;
}

dialog:not([open]) {
  display: none;
}

dialog + .backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.1);
}

._dialog_overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

dialog.fixed {
  position: fixed;
  top: 50%;
  transform: translate(0, -50%);
}

/*# sourceMappingURL=bradbice.css.map */