@charset "UTF-8";
@import 'general/normalize.css';
html {
  --base-unit: 2vw;
  --top-padding: 6vw;
  --side-padding: 8vw;
  --main-content-width: 700px;
  --rgb-green: 106, 171, 156;
  --rgb-beige: 250, 146, 132;
  --rgb-pink: 224, 108, 120;
  --rgb-blue-light: 88, 116, 220;
  --rgb-blue-dark: 56, 78, 120;
  --rgb-black: 34, 34, 34;
  --color-green: rgb(var(--rgb-green));
  --color-beige: rgb(var(--rgb-beige));
  --color-pink: rgb(var(--rgb-pink));
  --color-blue-light: rgb(var(--rgb-blue-light));
  --color-blue-dark: rgb(var(--rgb-blue-dark));
  --color-black: rgb(var(--rgb-black));
  box-sizing: border-box;
  color: var(--color-black);
}

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

:focus {
  outline: none;
  box-shadow: 0 0 2px 3px rgba(var(--rgb-pink), 0.8);
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

body {
  padding: var(--top-padding) var(--side-padding);
  padding-bottom: calc(var(--top-padding) * 2);
  padding-right: calc(var(--side-padding) + 1rem);
}

main {
  max-width: var(--main-content-width);
}

main * + * {
  margin-top: 1em;
}

main *:first-child {
  margin-top: 0;
}

.layout--wide {
  margin-right: calc(-6.5 * var(--base-unit));
}

.typography-xs {
  font-size: 0.75rem;
  letter-spacing: 0em;
  line-height: 1.41666em;
}

.typography-sm {
  font-size: 0.875rem;
  letter-spacing: -0.006em;
  line-height: 1.428571429em;
}

.typography-base {
  font-size: 1rem;
  letter-spacing: -0.011em;
  line-height: 1.375em;
}

.typography-lg {
  font-size: 1.125rem;
  letter-spacing: -0.014em;
  line-height: 1.388888889em;
}

.typography-xl {
  font-size: 1.25rem;
  letter-spacing: -0.017em;
  line-height: 1.4em;
}

.typography-2xl {
  font-size: 1.5rem;
  letter-spacing: -0.019em;
  line-height: 1.416666667em;
}

.typography-3xl {
  font-size: 1.875rem;
  letter-spacing: -0.021em;
  line-height: 1.4em;
}

.typography-4xl {
  font-size: 2.25rem;
  letter-spacing: -0.021em;
  line-height: 1.4em;
}

.typography-mega {
  font-size: 6rem;
  letter-spacing: -0.04em;
  line-height: 1.0546875em;
}

:root {
  --inter-base-fontsize: 16px;
  font-family: "Inter", sans-serif;
  font-feature-settings: "kern", "liga", "calt";
  font-size: var(--inter-base-fontsize);
}

@supports (font-variation-settings: normal) {
  :root {
    font-family: "Inter var", sans-serif;
  }
}
body {
  font-size: 1rem;
  letter-spacing: -0.011em;
  line-height: 1.375em;
  font-weight: 300;
}

p {
  margin-block-start: 1.3em;
  margin-block-end: 1.3em;
}

.h1,
h1 {
  font-size: 6rem;
  letter-spacing: -0.04em;
  line-height: 1.0546875em;
  font-weight: 700;
}

.h2,
h2 {
  font-size: 1.875rem;
  letter-spacing: -0.021em;
  line-height: 1.4em;
  font-weight: 650;
}

.h3,
h3 {
  font-size: 1.5rem;
  letter-spacing: -0.019em;
  line-height: 1.416666667em;
  font-weight: 500;
}

.h4,
h4 {
  font-size: 1.25rem;
  letter-spacing: -0.017em;
  line-height: 1.4em;
  font-weight: 400;
}

.blockquote,
blockquote {
  font-size: 1.5rem;
  letter-spacing: -0.019em;
  line-height: 1.416666667em;
  font-weight: 370;
  margin: 0;
}

figcaption {
  font-size: 0.875rem;
  letter-spacing: -0.006em;
  line-height: 1.428571429em;
  font-style: italic;
}

figure {
  margin: 0;
}

b,
strong,
.b,
.strong {
  font-weight: 600;
}

i,
em,
.i,
.em {
  font-style: italic;
}

html main h2 {
  margin-top: 2em;
}
html main li li:first-child,
html main li + li {
  margin-top: 0.75em;
}

p:has(img:only-child):not(.project p) {
  --box-shadow-color: rgba(0, 0, 0, 0.1);
  --border-radius-modifier: 2;
  border-radius: calc(var(--base-unit) / var(--border-radius-modifier));
  padding: var(--base-unit);
  box-shadow: 2px 2px 0px 2px var(--box-shadow-color);
  background-color: rgba(var(--rgb-blue-dark), 0.1);
}
[class*=columns-] p:has(img:only-child):not(.project p) {
  --border-radius-modifier: var(--columns);
}

button.button--as-link,
a {
  text-decoration: none;
  color: var(--color-blue-dark);
}
button.button--as-link:not([class*=columns-] a),
a:not([class*=columns-] a) {
  font-weight: 700;
}
button.button--as-link:hover, button.button--as-link:focus,
a:hover,
a:focus {
  color: var(--color-blue-light);
}

.button--as-link {
  border: 0;
  border-radius: 0;
  background: transparent !important;
  -webkit-appearance: none;
  padding: 0;
  cursor: pointer;
  font-style: inherit;
}

pre,
code {
  background: rgba(var(--rgb-beige), 0.05);
  color: rgba(var(--rgb-beige), 1);
}
pre a,
code a {
  color: inherit;
}
pre a:hover,
pre a:focus,
code a:hover,
code a:focus {
  opacity: 0.7;
  color: inherit;
}

pre code {
  background: transparent;
}

summary {
  cursor: pointer;
  font-weight: 700;
}

[class*=columns-] {
  --columns: 2;
  --columns-gutter: var(--base-unit);
  --columns-width: calc(100% / var(--columns) - var(--columns-gutter));
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  margin-bottom: calc(var(--columns-gutter) * -1);
  margin-left: calc(var(--columns-gutter) * -1);
}
[class*=columns-] > * {
  margin-top: 0;
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: var(--columns-width);
  margin-bottom: var(--columns-gutter);
  margin-left: var(--columns-gutter);
}
[class*=columns-] > * > *:last-child {
  margin-bottom: 0;
}
[class*=columns-] > a {
  text-decoration: none;
}
[class*=columns-].columns--tight-gutter {
  --columns-gutter: calc(var(--base-unit) * 0.5);
}
[class*=columns-].columns--no-gutter {
  --columns-gutter: 0;
}
[class*=columns-].columns--align-bottom {
  align-items: flex-end;
}
[class*=columns-].columns--align-center {
  align-items: center;
}
[class*=columns-].columns-3 {
  --columns: 3;
}
[class*=columns-].columns-4 {
  --columns: 4;
}
[class*=columns-].columns-5 {
  --columns: 5;
}
[class*=columns-].columns-6 {
  --columns: 6;
}
[class*=columns-].columns-7 {
  --columns: 7;
}
[class*=columns-].columns-8 {
  --columns: 8;
}
[class*=columns-].columns-9 {
  --columns: 9;
}
[class*=columns-].columns-10 {
  --columns: 10;
}

.typography-xs {
  font-size: 0.75rem;
  letter-spacing: 0em;
  line-height: 1.41666em;
}

.typography-sm {
  font-size: 0.875rem;
  letter-spacing: -0.006em;
  line-height: 1.428571429em;
}

.typography-base {
  font-size: 1rem;
  letter-spacing: -0.011em;
  line-height: 1.375em;
}

.typography-lg {
  font-size: 1.125rem;
  letter-spacing: -0.014em;
  line-height: 1.388888889em;
}

.typography-xl {
  font-size: 1.25rem;
  letter-spacing: -0.017em;
  line-height: 1.4em;
}

.typography-2xl {
  font-size: 1.5rem;
  letter-spacing: -0.019em;
  line-height: 1.416666667em;
}

.typography-3xl {
  font-size: 1.875rem;
  letter-spacing: -0.021em;
  line-height: 1.4em;
}

.typography-4xl {
  font-size: 2.25rem;
  letter-spacing: -0.021em;
  line-height: 1.4em;
}

.typography-mega {
  font-size: 6rem;
  letter-spacing: -0.04em;
  line-height: 1.0546875em;
}

.weirdness-toggles {
  --weirdness-width: 300px;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  width: var(--weirdness-width);
  background: rgba(var(--rgb-blue-dark), 1);
  transform: translateX(calc(var(--weirdness-width) - 1rem));
  transition: 250ms transform ease-out 0ms;
  z-index: 10;
  color: rgba(255, 255, 255, 0.8);
  margin-top: 0;
  box-shadow: -2px 2px 0px 2px rgba(var(--rgb-pink), 0.8);
}

.weirdness-toggles--inner {
  margin: 0;
  overflow-y: auto;
  padding: 2rem;
  padding-bottom: 4rem;
  height: 100vh;
  overscroll-behavior: contain;
}

.weirdness-toggles--toggle {
  font-size: 0.75rem;
  letter-spacing: 0em;
  line-height: 1.41666em;
  position: absolute;
  bottom: var(--base-unit);
  right: 100%;
  border: 0;
  background: rgba(var(--rgb-blue-dark), 1);
  padding: 1em;
  text-align: right;
  cursor: pointer;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.8);
  border-top-left-radius: 0.2em;
  border-bottom-left-radius: 0.2em;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  text-transform: lowercase;
  box-shadow: -2px 2px 0px 2px rgba(var(--rgb-pink), 0.8);
}
.weirdness-toggles--toggle:hover, .weirdness-toggles--toggle:focus {
  background: linear-gradient(90deg, var(--color-blue-light) 0%, var(--color-blue-dark) 100%);
}

html.show-weirdness-toggles .weirdness-toggles {
  transform: translateX(0);
}

.weirdness-toggles--close {
  margin-top: 2em;
}

html.weirdness--rainbow {
  background: rgb(106, 171, 156);
  background: linear-gradient(142deg, rgba(var(--rgb-green), 1) 0%, rgba(var(--rgb-beige), 1) 33%, rgba(var(--rgb-pink), 1) 66%, rgba(var(--rgb-blue-light), 1) 100%);
}
html.weirdness--rainbow .bar-chart {
  background: rgba(255, 255, 255, 0.3);
}
html.weirdness--rainbow .bar-chart--inner {
  background: rgba(255, 255, 255, 0.9);
}
html.weirdness--rainbow .chart-circle--circle-background {
  stroke: rgba(255, 255, 255, 0.3) !important;
}
html.weirdness--rainbow .chart-circle--circle-foreground {
  stroke: rgba(255, 255, 255, 0.9) !important;
}
html.weirdness--rainbow .chart-circle--label {
  color: rgba(255, 255, 255, 0.9) !important;
}

html.weirdness--comic-sans {
  font-family: "Comic Sans MS", "Comic Sans", "Chalkboard SE", "Comic Neue", cursive;
}
html.weirdness--comic-sans main::after {
  content: "Really? You could have chosen anything, and you went with Comic Sans?";
  position: fixed;
  bottom: var(--base-unit);
  left: var(--base-unit);
  transform: rotate(-4deg);
  padding: 1em 1.3em;
  background-color: var(--color-blue-dark);
  color: #fff;
  z-index: 1;
  margin-right: 130px;
}

.bar-chart--life,
.graphs--random-skills {
  display: none;
}
html.weirdness--graphs .bar-chart--life,
html.weirdness--graphs .graphs--random-skills {
  display: block;
}

.emoji {
  display: none;
}

html.weirdness--emojis .emoji {
  display: inline;
}

html.weirdness--fake-insertion-point h1::after {
  content: "";
  display: inline-block;
  height: 0.85em;
  width: 1px;
  background-color: currentColor;
  animation-duration: 1s;
  animation-name: insertionPoint;
  animation-iteration-count: infinite;
}

@keyframes insertionPoint {
  from {
    opacity: 1;
  }
  49% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  to {
    opacity: 0;
  }
}
html.weirdness--real-insertion-point *:not(head):not(head *) {
  -webkit-user-modify: read-write;
  -moz-user-modify: read-write;
  user-modify: read-write;
}
html.weirdness--real-insertion-point p,
html.weirdness--real-insertion-point h1,
html.weirdness--real-insertion-point h2,
html.weirdness--real-insertion-point h3,
html.weirdness--real-insertion-point blockquote,
html.weirdness--real-insertion-point cite,
html.weirdness--real-insertion-point figcaption,
html.weirdness--real-insertion-point label {
  background-color: rgba(var(--rgb-blue-light), 0.1);
}

.testimonial {
  --box-shadow-color: rgba(0, 0, 0, 0.1);
  --border-radius-modifier: 2;
  border-radius: calc(var(--base-unit) / var(--border-radius-modifier));
  padding: var(--base-unit);
  box-shadow: 2px 2px 0px 2px var(--box-shadow-color);
  --box-shadow-color: rgba(var(--rgb-beige), 0.7);
  background-color: rgba(var(--rgb-green), 0.9);
  color: #fff;
  position: relative;
}
[class*=columns-] .testimonial {
  --border-radius-modifier: var(--columns);
}
.testimonial::after, .testimonial::before {
  content: "❝";
  font-size: 15rem;
  line-height: 1em;
  font-weight: 700;
  color: var(--color-beige);
  position: absolute;
  top: calc(var(--base-unit) * -1.5);
  left: calc(var(--base-unit) * -0.5);
  z-index: 1;
  opacity: 0.5;
}
.testimonial::after {
  content: "❞";
  top: calc(var(--base-unit) * 2);
  left: auto;
  right: calc(var(--base-unit) * -0.5);
}
.testimonial figcaption,
.testimonial blockquote {
  position: relative;
  z-index: 2;
}

.testimonial--header,
.testimonial--container {
  display: none;
}
html.weirdness--testimonials .testimonial--header,
html.weirdness--testimonials .testimonial--container {
  display: block;
}

html.weirdness--head-tag {
  --head-indent: 1.5em;
}
html.weirdness--head-tag head * {
  display: block;
  margin-left: var(--head-indent);
  margin-right: var(--head-indent);
}
html.weirdness--head-tag head {
  background: #f4f4f4;
  border: 1px solid rgba(0, 0, 0, 0.1);
  color: #666;
  page-break-inside: avoid;
  font-family: monospace;
  font-size: 15px;
  line-height: 1.6;
  max-width: 100%;
  overflow: auto;
  padding: var(--head-indent);
  display: block;
  word-wrap: break-word;
}
html.weirdness--head-tag head::before {
  content: "<head>";
  display: block;
}
html.weirdness--head-tag head::after {
  content: "</head>";
  display: block;
}
html.weirdness--head-tag meta[charset]::after {
  content: '<meta charset="' attr(charset) '" />';
}
html.weirdness--head-tag meta[name][content]::after {
  content: '<meta name="' attr(name) '" content="' attr(content) '" />';
}
html.weirdness--head-tag link[href][rel]::after {
  content: '<link rel="' attr(rel) '" href="' attr(href) '" />';
}
html.weirdness--head-tag title {
  margin-top: var(--head-indent);
  margin-bottom: var(--head-indent);
}
html.weirdness--head-tag title::before {
  content: "<title contenteditable>";
}
html.weirdness--head-tag title::after {
  content: "</title>";
}
html.weirdness--head-tag head script::before {
  content: "<script>";
}
html.weirdness--head-tag head script::after {
  content: "</script>";
}
html.weirdness--head-tag head style[contenteditable] {
  margin-top: var(--head-indent);
  margin-bottom: var(--head-indent);
  white-space: pre-wrap;
  display: inline-block;
  width: calc(100% - var(--head-indent) * 2);
}
html.weirdness--head-tag head style[contenteditable]::before {
  content: "<style contenteditable>";
  display: block;
}
html.weirdness--head-tag head style[contenteditable]::after {
  content: "</style>";
  display: block;
}

html.weirdness--markdown h1,
html.weirdness--markdown h2,
html.weirdness--markdown h3 {
  position: relative;
}
html.weirdness--markdown h1::before,
html.weirdness--markdown h2::before,
html.weirdness--markdown h3::before {
  content: "#";
  position: absolute;
  top: 0;
  right: calc(100% + 0.25em);
}
html.weirdness--markdown h2::before {
  content: "##";
}
html.weirdness--markdown h3::before {
  content: "###";
}
html.weirdness--markdown [class*=columns-] h1::before,
html.weirdness--markdown [class*=columns-] h2::before,
html.weirdness--markdown [class*=columns-] h3::before {
  position: static;
  margin-right: 0.25em;
}
html.weirdness--markdown blockquote::before {
  content: "> ";
}
html.weirdness--markdown a::before {
  content: "[";
}
html.weirdness--markdown a::after {
  content: "](" attr(href) ")";
}
html.weirdness--markdown [class*=columns-] a::before,
html.weirdness--markdown [class*=columns-] a::after {
  display: none;
}

/*
  Cats
*/
.hidden-cat {
  white-space: pre-wrap;
  font-family: monospace;
  color: rgba(255, 255, 255, 0);
}
.hidden-cat::selection {
  background-color: rgba(0, 0, 0, 0.9);
  color: rgb(255, 255, 255);
}

@media only screen and (max-width: 150px) {
  html.weirdness--cats body * {
    display: none;
  }
  html.weirdness--cats body::before {
    content: "You have a really tiny screen, meow. \a\a|\\---/|\a| o_o |\a  \\_^_/\a\a cat 3/6";
    padding: 0.75rem;
    display: block;
    white-space: pre-wrap;
    font-family: monospace;
  }
}
@media (min-width: 1920px) and (min-height: 600px) {
  html.weirdness--cats body::before {
    content: "You have a pretty big screen, meow.\a\a     ,_     _\a     |\\\\_,-~/\a     / _  _ |    ,--.\a    (  @  @ )   / ,-'\a     \\  _T_/-._( (\a     /         `. \\\a    |         _  \\ |\a     \\ \\ ,  /      |\a      || |-_\\__   /\a     ((_/`(____,-'\a\a     cat 2/6";
    white-space: pre-wrap;
    font-family: monospace;
    position: fixed;
    right: 200px;
    top: 200px;
    opacity: 0.7;
  }
}
.typography-xs {
  font-size: 0.75rem;
  letter-spacing: 0em;
  line-height: 1.41666em;
}

.typography-sm {
  font-size: 0.875rem;
  letter-spacing: -0.006em;
  line-height: 1.428571429em;
}

.typography-base {
  font-size: 1rem;
  letter-spacing: -0.011em;
  line-height: 1.375em;
}

.typography-lg {
  font-size: 1.125rem;
  letter-spacing: -0.014em;
  line-height: 1.388888889em;
}

.typography-xl {
  font-size: 1.25rem;
  letter-spacing: -0.017em;
  line-height: 1.4em;
}

.typography-2xl {
  font-size: 1.5rem;
  letter-spacing: -0.019em;
  line-height: 1.416666667em;
}

.typography-3xl {
  font-size: 1.875rem;
  letter-spacing: -0.021em;
  line-height: 1.4em;
}

.typography-4xl {
  font-size: 2.25rem;
  letter-spacing: -0.021em;
  line-height: 1.4em;
}

.typography-mega {
  font-size: 6rem;
  letter-spacing: -0.04em;
  line-height: 1.0546875em;
}

.tags {
  font-size: 0;
}
.tags > * {
  margin-top: 0;
  margin-right: 0.25em;
  margin-bottom: 0.25em;
}

[class*=tag--] {
  font-size: 0.75rem;
  letter-spacing: 0em;
  line-height: 1.41666em;
  display: inline-block;
  vertical-align: top;
  padding: 0.5em 0.7em;
  background-color: var(--color-blue-light);
  border-radius: 0.2em;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 700;
  line-height: 1em;
}

.tag--one-off {
  background-color: var(--color-blue-dark);
}

.tag--active {
  background-color: var(--color-green);
}

.tag--passive {
  background-color: var(--color-beige);
}

.tag--archived {
  background-color: var(--color-pink);
}

.typography-xs {
  font-size: 0.75rem;
  letter-spacing: 0em;
  line-height: 1.41666em;
}

.typography-sm {
  font-size: 0.875rem;
  letter-spacing: -0.006em;
  line-height: 1.428571429em;
}

.typography-base {
  font-size: 1rem;
  letter-spacing: -0.011em;
  line-height: 1.375em;
}

.typography-lg {
  font-size: 1.125rem;
  letter-spacing: -0.014em;
  line-height: 1.388888889em;
}

.typography-xl {
  font-size: 1.25rem;
  letter-spacing: -0.017em;
  line-height: 1.4em;
}

.typography-2xl {
  font-size: 1.5rem;
  letter-spacing: -0.019em;
  line-height: 1.416666667em;
}

.typography-3xl {
  font-size: 1.875rem;
  letter-spacing: -0.021em;
  line-height: 1.4em;
}

.typography-4xl {
  font-size: 2.25rem;
  letter-spacing: -0.021em;
  line-height: 1.4em;
}

.typography-mega {
  font-size: 6rem;
  letter-spacing: -0.04em;
  line-height: 1.0546875em;
}

.bar-chart {
  height: 1.5rem;
  width: 100%;
  position: relative;
  background: rgba(var(--rgb-pink), 0.3);
  border-radius: var(--base-unit);
  overflow: hidden;
}
.bar-chart .bar-chart--inner {
  min-width: 4px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  background: var(--color-pink);
}

.chart-circle {
  position: relative;
}
.chart-circle .chart-circle--circle-background {
  fill: none;
  stroke: rgba(var(--rgb-pink), 0.3);
  stroke-width: 3;
}
.chart-circle .chart-circle--circle-foreground {
  fill: none;
  stroke: rgba(var(--rgb-pink), 1);
  stroke-width: 3;
  transition: stroke-dasharray 500ms ease-out 0ms;
}
.chart-circle .chart-circle--label {
  font-size: 0.75rem;
  letter-spacing: 0em;
  line-height: 1.41666em;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin-top: 0;
  margin-bottom: 0;
  text-align: center;
  color: var(--color-pink);
}
.chart-circle.chart-circle--green .chart-circle--circle-background {
  stroke: rgba(var(--rgb-green), 0.3);
}
.chart-circle.chart-circle--green .chart-circle--circle-foreground {
  stroke: rgba(var(--rgb-green), 1);
}
.chart-circle.chart-circle--green .chart-circle--label {
  color: var(--color-green);
}
.chart-circle.chart-circle--beige .chart-circle--circle-background {
  stroke: rgba(var(--rgb-beige), 0.3);
}
.chart-circle.chart-circle--beige .chart-circle--circle-foreground {
  stroke: rgba(var(--rgb-beige), 1);
}
.chart-circle.chart-circle--beige .chart-circle--label {
  color: var(--color-beige);
}
.chart-circle.chart-circle--blue-light .chart-circle--circle-background {
  stroke: rgba(var(--rgb-blue-light), 0.3);
}
.chart-circle.chart-circle--blue-light .chart-circle--circle-foreground {
  stroke: rgba(var(--rgb-blue-light), 1);
}
.chart-circle.chart-circle--blue-light .chart-circle--label {
  color: var(--color-blue-light);
}
.chart-circle.chart-circle--blue-dark .chart-circle--circle-background {
  stroke: rgba(var(--rgb-blue-dark), 0.3);
}
.chart-circle.chart-circle--blue-dark .chart-circle--circle-foreground {
  stroke: rgba(var(--rgb-blue-dark), 1);
}
.chart-circle.chart-circle--blue-dark .chart-circle--label {
  color: var(--color-blue-dark);
}
.chart-circle.chart-circle--black .chart-circle--circle-background {
  stroke: rgba(var(--rgb-black), 0.3);
}
.chart-circle.chart-circle--black .chart-circle--circle-foreground {
  stroke: rgba(var(--rgb-black), 1);
}
.chart-circle.chart-circle--black .chart-circle--label {
  color: var(--color-black);
}

.typography-xs {
  font-size: 0.75rem;
  letter-spacing: 0em;
  line-height: 1.41666em;
}

.typography-sm {
  font-size: 0.875rem;
  letter-spacing: -0.006em;
  line-height: 1.428571429em;
}

.typography-base {
  font-size: 1rem;
  letter-spacing: -0.011em;
  line-height: 1.375em;
}

.typography-lg {
  font-size: 1.125rem;
  letter-spacing: -0.014em;
  line-height: 1.388888889em;
}

.typography-xl {
  font-size: 1.25rem;
  letter-spacing: -0.017em;
  line-height: 1.4em;
}

.typography-2xl {
  font-size: 1.5rem;
  letter-spacing: -0.019em;
  line-height: 1.416666667em;
}

.typography-3xl {
  font-size: 1.875rem;
  letter-spacing: -0.021em;
  line-height: 1.4em;
}

.typography-4xl {
  font-size: 2.25rem;
  letter-spacing: -0.021em;
  line-height: 1.4em;
}

.typography-mega {
  font-size: 6rem;
  letter-spacing: -0.04em;
  line-height: 1.0546875em;
}

fieldset {
  padding: 0;
  border: 0;
  margin: 0;
}

html label {
  font-size: 0.875rem;
  letter-spacing: -0.006em;
  line-height: 1.428571429em;
  display: block;
  font-weight: 500;
}
html label + * {
  margin-top: 0.25rem;
}

select {
  font-size: 0.875rem;
  letter-spacing: -0.006em;
  line-height: 1.428571429em;
  width: 100%;
  cursor: pointer;
  padding: 0.5em 3.5em 0.5em 1em;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.8);
  border: 0px transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0.2em;
  display: block;
  transition: 120ms background-color ease-out 0ms;
  background-color: rgba(var(--rgb-blue-dark), 0.9);
  background-image: linear-gradient(45deg, transparent 50%, rgba(255, 255, 255, 0.4) 50%), linear-gradient(135deg, rgba(255, 255, 255, 0.4) 50%, transparent 50%), linear-gradient(to right, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.4));
  background-position: calc(100% - 20px) calc(1em + 2px), calc(100% - 15px) calc(1em + 2px), calc(100% - 2.5em) 0.5em;
  background-size: 5px 5px, 5px 5px, 1px 1.5em;
  background-repeat: no-repeat;
}
select:hover, select:focus {
  background-color: rgba(var(--rgb-blue-dark), 1);
}

.form-item--checkbox input {
  display: none;
}
.form-item--checkbox label {
  --checkbox-size: 1.2em;
  margin-top: 0;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  cursor: pointer;
  line-height: 1em;
  padding-left: calc(var(--checkbox-size) + 0.5em);
  line-height: 1.1em;
  padding-top: 0.1em;
}
.form-item--checkbox label::before {
  content: "";
  display: block;
  width: var(--checkbox-size);
  height: var(--checkbox-size);
  position: absolute;
  left: 0;
  top: 0;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 0.2em;
}
.form-item--checkbox input ~ label::after {
  content: "";
  background-color: var(--color-pink);
  display: inline-block;
  position: absolute;
  top: 4px;
  left: 4px;
  width: calc(var(--checkbox-size) - 8px);
  height: calc(var(--checkbox-size) - 8px);
  display: none;
  border-radius: 0.1em;
}
.form-item--checkbox input:checked ~ label::after {
  display: block;
}

a.button,
button {
  font-size: 0.875rem;
  letter-spacing: -0.006em;
  line-height: 1.428571429em;
  font-weight: bold;
  background-color: rgba(var(--rgb-blue-dark), 0.9);
  color: rgba(255, 255, 255, 0.9);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  padding: 0.5em 1.5em;
  border: 0 transparent;
  border-radius: 4em;
  transition: background-color 250ms ease-out;
}
a.button:hover:not([disabled]), a.button:focus:not([disabled]),
button:hover:not([disabled]),
button:focus:not([disabled]) {
  background-color: rgba(var(--rgb-blue-dark), 1);
}
a.button[disabled],
button[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}
a.button.button--white,
button.button--white {
  background-color: rgba(255, 255, 255, 0.9);
  color: rgba(var(--rgb-blue-dark), 0.95);
}
a.button.button--white:hover:not([disabled]), a.button.button--white:focus:not([disabled]),
button.button--white:hover:not([disabled]),
button.button--white:focus:not([disabled]) {
  background-color: rgba(255, 255, 255, 0.7);
}
a.button.button--big,
button.button--big {
  font-size: 1.125rem;
  letter-spacing: -0.014em;
  line-height: 1.388888889em;
}

.typography-xs {
  font-size: 0.75rem;
  letter-spacing: 0em;
  line-height: 1.41666em;
}

.typography-sm {
  font-size: 0.875rem;
  letter-spacing: -0.006em;
  line-height: 1.428571429em;
}

.typography-base {
  font-size: 1rem;
  letter-spacing: -0.011em;
  line-height: 1.375em;
}

.typography-lg {
  font-size: 1.125rem;
  letter-spacing: -0.014em;
  line-height: 1.388888889em;
}

.typography-xl {
  font-size: 1.25rem;
  letter-spacing: -0.017em;
  line-height: 1.4em;
}

.typography-2xl {
  font-size: 1.5rem;
  letter-spacing: -0.019em;
  line-height: 1.416666667em;
}

.typography-3xl {
  font-size: 1.875rem;
  letter-spacing: -0.021em;
  line-height: 1.4em;
}

.typography-4xl {
  font-size: 2.25rem;
  letter-spacing: -0.021em;
  line-height: 1.4em;
}

.typography-mega {
  font-size: 6rem;
  letter-spacing: -0.04em;
  line-height: 1.0546875em;
}

.feed-item,
.project {
  --box-shadow-color: rgba(0, 0, 0, 0.1);
  --border-radius-modifier: 2;
  border-radius: calc(var(--base-unit) / var(--border-radius-modifier));
  padding: var(--base-unit);
  box-shadow: 2px 2px 0px 2px var(--box-shadow-color);
  background-color: rgba(var(--rgb-blue-dark), 0.1);
  padding: calc(var(--base-unit) * 0.7);
  color: inherit;
}
[class*=columns-] .feed-item,
[class*=columns-] .project {
  --border-radius-modifier: var(--columns);
}
.feed-item,
.feed-item .tag--one-off,
.project,
.project .tag--one-off {
  transition: 120ms background-color ease-out 0ms, 120ms box-shadow ease-out 0ms, 120ms color ease-out 0ms;
}
.feed-item.project,
.project.project {
  position: relative;
  z-index: 1;
}
.feed-item.project::before, .feed-item.project::after,
.project.project::before,
.project.project::after {
  content: "⇝";
  color: rgba(var(--rgb-beige), 0.9);
  z-index: 1;
  display: block;
  font-size: 5em;
  position: absolute;
  left: 0;
  top: 0.25em;
  transform: rotate(0deg) translateX(0);
  opacity: 0;
  transition: 200ms transform ease-out 0ms, 200ms opacity ease-out 0ms, 200ms box-shadow ease-out 0ms;
}
.feed-item.project:hover::after,
.project.project:hover::after {
  transform: rotate(19deg) translateX(-0.25em);
  opacity: 1;
}
.feed-item.project::before,
.project.project::before {
  content: "↜";
  top: auto;
  left: auto;
  right: 0;
  bottom: 0.25em;
}
.feed-item.project:hover::before,
.project.project:hover::before {
  transform: rotate(-6deg) translateX(0.25em);
  opacity: 1;
}
.feed-item:is(a):hover, .feed-item:is(a):focus,
.project:is(a):hover,
.project:is(a):focus {
  background-color: var(--color-blue-dark);
  color: rgba(255, 255, 255, 0.9);
  --box-shadow-color: rgba(var(--rgb-pink), 0.8);
}
.feed-item:is(a):hover .tag--one-off, .feed-item:is(a):focus .tag--one-off,
.project:is(a):hover .tag--one-off,
.project:is(a):focus .tag--one-off {
  color: var(--color-blue-dark);
  background-color: #fff;
}
.feed-item h3,
.project h3 {
  font-size: 0.875rem;
  letter-spacing: -0.006em;
  line-height: 1.428571429em;
  margin-bottom: 0.4em;
  margin-top: 1em;
}
.feed-item p,
.project p {
  font-size: 0.75rem;
  letter-spacing: 0em;
  line-height: 1.41666em;
  margin-top: 0.7em;
}

.projects-container .project.project--hidden {
  display: none;
}

.typography-xs {
  font-size: 0.75rem;
  letter-spacing: 0em;
  line-height: 1.41666em;
}

.typography-sm {
  font-size: 0.875rem;
  letter-spacing: -0.006em;
  line-height: 1.428571429em;
}

.typography-base {
  font-size: 1rem;
  letter-spacing: -0.011em;
  line-height: 1.375em;
}

.typography-lg {
  font-size: 1.125rem;
  letter-spacing: -0.014em;
  line-height: 1.388888889em;
}

.typography-xl {
  font-size: 1.25rem;
  letter-spacing: -0.017em;
  line-height: 1.4em;
}

.typography-2xl {
  font-size: 1.5rem;
  letter-spacing: -0.019em;
  line-height: 1.416666667em;
}

.typography-3xl {
  font-size: 1.875rem;
  letter-spacing: -0.021em;
  line-height: 1.4em;
}

.typography-4xl {
  font-size: 2.25rem;
  letter-spacing: -0.021em;
  line-height: 1.4em;
}

.typography-mega {
  font-size: 6rem;
  letter-spacing: -0.04em;
  line-height: 1.0546875em;
}

.game-example {
  --box-shadow-color: rgba(0, 0, 0, 0.1);
  --border-radius-modifier: 2;
  border-radius: calc(var(--base-unit) / var(--border-radius-modifier));
  padding: var(--base-unit);
  box-shadow: 2px 2px 0px 2px var(--box-shadow-color);
  --box-shadow-color: rgba(var(--rgb-pink), 0.8);
  background-color: rgba(var(--rgb-blue-dark), 0.95);
  position: relative;
  color: #fff;
  display: grid;
  gap: 1em;
  grid-template-columns: 1fr 100px;
  grid-template-areas: "content actions";
}
[class*=columns-] .game-example {
  --border-radius-modifier: var(--columns);
}
.game-example .game-example--content {
  grid-area: content;
}
.game-example .game-example--actions {
  margin-top: 0;
  grid-area: actions;
  text-align: center;
}
.game-example .game-example--buttons {
  margin-top: 0;
}
.game-example button:not(.game-example--reset) {
  margin-top: 0.5em;
}
.game-example .game-example--name {
  font-size: 0.875rem;
  letter-spacing: -0.006em;
  line-height: 1.428571429em;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 1em;
  font-style: italic;
}

@media (max-width: 940px) {
  .layout--wide {
    margin-right: 0;
  }
}
@media (max-width: 940px) {
  .game-example,
  .testimonial,
  .feed-item,
  .project {
    padding: var(--base-unit);
  }
  .testimonial::after,
  .testimonial::before {
    font-size: 7rem;
  }
}
@media (max-width: 450px) {
  .game-example,
  .testimonial,
  .feed-item,
  .project {
    padding: 15px;
  }
}
@media (max-width: 720px) {
  :root {
    --inter-base-fontsize: 14px;
  }
  .h1,
  h1 {
    font-size: 3rem;
  }
  .typography-4xl {
    font-size: 1.75rem;
  }
  .h2,
  h2 {
    font-size: 1.5rem;
  }
  .blockquote,
  blockquote {
    font-size: 1.05rem;
  }
}
@media (max-width: 1080px) {
  html.weirdness--markdown h1::before,
  html.weirdness--markdown h2::before,
  html.weirdness--markdown h3::before {
    position: static;
    margin-right: 0.25em;
  }
}
@media (max-width: 900px) {
  [class*=columns-].columns-4 {
    --columns: 3;
  }
}
@media (max-width: 600px) {
  [class*=columns-].columns-4,
  [class*=columns-].columns-3 {
    --columns: 2;
    --columns-gutter: 10px;
  }
}
@media (max-width: 500px) {
  [class*=columns-].columns-6,
  [class*=columns-].columns-5 {
    --columns: 3;
    --columns-gutter: 10px;
  }
}
@media (max-width: 480px) {
  [class*=columns-].columns-4,
  [class*=columns-].columns-3,
  [class*=columns-].columns-2 {
    --columns: 1;
    /*
    > *:not(:first-child) {
      margin-top: var(--columns-gutter);
    }
    */
  }
  .wip-container [class*=columns-],
  .projects-container [class*=columns-] {
    --columns: 2;
  }
}

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