:root {
  /* colors (saturation(66) hue_increment(15)):
  - red: hue(0)
  - orange: hue(30)
  - yellow: hue(45)
  - green: hue(120)
  - cyan: hue(180)
  - blue: hue(225)
  - purple: hue(270)
  - magenta: hue(315) */
  --color-white: #ffffff;
  --color-black: #000000;
  --color-transparent-white: rgba(255, 255, 255, 0);
  --color-transparent-black: rgba(0, 0, 0, 0);
  --color-gray: #808080;
  --color-gray-5: #0d0d0d;
  --color-gray-10: #1a1a1a;
  --color-gray-20: #333333;
  --color-gray-30: #4d4d4d;
  --color-gray-40: #666666;
  --color-gray-50: #808080;
  --color-gray-60: #999999;
  --color-gray-70: #b3b3b3;
  --color-gray-80: #cccccc;
  --color-gray-90: #e6e6e6;
  --color-gray-95: #f2f2f2;
  --color-red: #d42b2b;
  --color-red-5: #150404;
  --color-red-10: #2a0909;
  --color-red-20: #551111;
  --color-red-30: #7f1a1a;
  --color-red-40: #a92323;
  --color-red-50: #d42b2b;
  --color-red-60: #dc5656;
  --color-red-70: #e58080;
  --color-red-80: #eeaaaa;
  --color-red-90: #f6d5d5;
  --color-red-95: #fbeaea;
  --color-orange: #d4802b;
  --color-orange-5: #150d04;
  --color-orange-10: #2a1a09;
  --color-orange-20: #553311;
  --color-orange-30: #7f4d1a;
  --color-orange-40: #a96623;
  --color-orange-50: #d4802b;
  --color-orange-60: #dc9956;
  --color-orange-70: #e5b380;
  --color-orange-80: #eeccaa;
  --color-orange-90: #f6e6d5;
  --color-orange-95: #fbf2ea;
  --color-yellow: #d4aa2b;
  --color-yellow-5: #151104;
  --color-yellow-10: #2a2209;
  --color-yellow-20: #554411;
  --color-yellow-30: #7f661a;
  --color-yellow-40: #a98823;
  --color-yellow-50: #d4aa2b;
  --color-yellow-60: #dcbb56;
  --color-yellow-70: #e5cc80;
  --color-yellow-80: #eeddaa;
  --color-yellow-90: #f6eed5;
  --color-yellow-95: #fbf6ea;
  --color-green: #2bd42b;
  --color-green-5: #041504;
  --color-green-10: #092a09;
  --color-green-20: #115511;
  --color-green-30: #1a7f1a;
  --color-green-40: #23a923;
  --color-green-50: #2bd42b;
  --color-green-60: #56dc56;
  --color-green-70: #80e580;
  --color-green-80: #aaeeaa;
  --color-green-90: #d5f6d5;
  --color-green-95: #eafbea;
  --color-cyan: #2bd4d4;
  --color-cyan-5: #041515;
  --color-cyan-10: #092a2a;
  --color-cyan-20: #115555;
  --color-cyan-30: #1a7f7f;
  --color-cyan-40: #23a9a9;
  --color-cyan-50: #2bd4d4;
  --color-cyan-60: #56dcdc;
  --color-cyan-70: #80e5e5;
  --color-cyan-80: #aaeeee;
  --color-cyan-90: #d5f6f6;
  --color-cyan-95: #eafbfb;
  --color-blue: #2b55d4;
  --color-blue-5: #040915;
  --color-blue-10: #09112a;
  --color-blue-20: #112255;
  --color-blue-30: #1a337f;
  --color-blue-40: #2344a9;
  --color-blue-50: #2b55d4;
  --color-blue-60: #5677dc;
  --color-blue-70: #8099e5;
  --color-blue-80: #aabbee;
  --color-blue-90: #d5ddf6;
  --color-blue-95: #eaeefb;
  --color-purple: #802bd4;
  --color-purple-5: #0d0415;
  --color-purple-10: #1a092a;
  --color-purple-20: #331155;
  --color-purple-30: #4d1a7f;
  --color-purple-40: #6623a9;
  --color-purple-50: #802bd4;
  --color-purple-60: #9956dc;
  --color-purple-70: #b380e5;
  --color-purple-80: #ccaaee;
  --color-purple-90: #e6d5f6;
  --color-purple-95: #f2eafb;
  --color-magenta: #d42baa;
  --color-magenta-5: #150411;
  --color-magenta-10: #2a0922;
  --color-magenta-20: #551144;
  --color-magenta-30: #7f1a66;
  --color-magenta-40: #a92388;
  --color-magenta-50: #d42baa;
  --color-magenta-60: #dc56bb;
  --color-magenta-70: #e580cc;
  --color-magenta-80: #eeaadd;
  --color-magenta-90: #f6d5ee;
  --color-magenta-95: #fbeaf6;
  --font-family: 'Source Sans Pro', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-family-mono: 'Fira Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
  --font-size: 18px;
  --font-size-mono: calc(var(--font-size) - 2px);
  --font-size-small: calc(var(--font-size) - 4px);
  --font-size-large: calc(var(--font-size) + 6px);
  --font-weight: normal;
  --font-weight-bold: bold;
  --line-height: 1.5;
  --breakpoint-1: 360px;
  --breakpoint-2: 500px;
  --breakpoint-3: 600px;
  --breakpoint-4: 768px;
  --breakpoint-5: 1024px;
  --breakpoint-6: 1200px;
  --breakpoint-7: 1400px;
  --breakpoint-8: 1800px;
  --limit-width: 1800px;
  --flex-gap: 8px;
  --transition-duration: 0.125s;
  --transition-curve: ease;
  --animation-duration: 2s;
  --animation-curve: ease;
  --underline-color: currentcolor;
  --underline-width: 1px;
  --text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
  --box-shadow: 4px 4px 16px 0 rgba(0, 0, 0, 0.5);
  --quote-open: '\201C';
  --quote-close: '\201D';
  --quote-nested-open: '\2018';
  --quote-nested-close: '\2019';
}
*,
::before,
::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border-width: 0;
  border-style: solid;
  border-color: inherit;
  border-radius: 0;
  min-width: 0;
  min-height: 0;
  overflow: visible;
  vertical-align: baseline;
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-decoration: inherit;
  text-decoration-skip-ink: auto;
  text-align: inherit;
  text-transform: inherit;
  overflow-wrap: normal;
  background-color: transparent;
  color: inherit;
  opacity: 1;
}
html {
  font-family: var(--font-family);
  font-size: var(--font-size);
  line-height: var(--line-height);
  color: var(--color-black);
  background-color: var(--color-white);
  border-color: var(--color-black);
  text-align: left;
  text-transform: none;
  scroll-behavior: smooth;
  -moz-tab-size: 2;
  tab-size: 2;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
html:lang(de) {
  --quote-open: '\201E';
  --quote-close: '\201C';
  --quote-nested-open: '\201A';
  --quote-nested-close: '\2018';
}
body {
  min-height: 100vh;
  min-height: 100dvh;
  overflow-y: scroll;
}
pre,
code,
kbd,
samp {
  font-family: var(--font-family-mono);
  font-size: var(--font-size-mono);
}
pre {
  overflow: auto;
}
pre code {
  word-break: normal;
}
code {
  overflow-wrap: break-word;
}
mark,
kbd {
  padding: 4px;
  outline: 1px solid var(--color-black);
}
ol,
ul,
menu {
  list-style: none;
}
ol ol,
ul ul,
ol ul,
ul ol {
  margin-left: var(--font-size);
}
dt {
  font-weight: var(--font-weight-bold);
}
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  vertical-align: middle;
}
img,
svg, /* is this needed? */
video {
  max-width: 100%;
  height: auto;
}
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
  text-wrap: balance;
}
p {
  text-wrap: pretty;
}
q {
  quotes: var(--quote-open) var(--quote-close) var(--quote-nested-open) var(--quote-nested-close);
}
hr {
  height: 0;
  color: inherit;
  border-top: 1px solid var(--color-black);
}
abbr[title] {
  text-decoration: underline;
  text-decoration: underline dotted;
  text-decoration-skip-ink: none;
  cursor: help;
}
strong,
b {
  font-weight: var(--font-weight-bold);
}
em,
i,
dfn {
  font-style: italic;
}
u {
  text-decoration: underline;
}
small {
  font-size: var(--font-size-small);
}
sub,
sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
  border-color: inherit; /* is this needed? */
  caption-side: top;
  text-indent: 0;
}
th {
  font-weight: var(--font-weight-bold);
  vertical-align: middle;
}
td {
  vertical-align: top;
}
legend {
  display: table;
  max-width: 100%;
  white-space: normal;
}
label {
  display: inline-block;
}
button,
input,
select,
textarea,
optgroup {
  font: inherit; /* is this needed? */
  appearance: none;
  /* letter-spacing: inherit; */
  /* color: inherit; */
  /* border-radius: 0; */
  /* background-color: transparent; */
  /* opacity: 1; */
}
button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
  appearance: button;
  cursor: pointer;
}
button:disabled,
[type='button']:disabled,
[type='reset']:disabled,
[type='submit']:disabled {
  cursor: not-allowed;
}
select[multiple] optgroup,
select[size] optgroup {
  font-weight: var(--font-weight-bold);
}
select[multiple] optgroup option,
select[size] optgroup option {
  padding-left: 16px;
}
textarea {
  overflow: auto;
  resize: vertical;
}
progress {
  vertical-align: baseline;
}
summary {
  display: list-item;
}
::file-selector-button {
  -webkit-appearance: button;
  appearance: button;
  cursor: pointer;
  font: inherit; /* is this needed? */
  margin-right: 4px;
  /* letter-spacing: inherit; */
  /* color: inherit; */
  /* border-radius: 0; */
  /* background-color: transparent; */
  /* opacity: 1; */
}
::file-selector-button:disabled {
  cursor: not-allowed;
}
::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}
::-webkit-calendar-picker-indicator {
  display: none;
  line-height: 1; /* is this needed? */
}
::-webkit-datetime-edit,
::-webkit-datetime-edit-year-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-minute-field,
::-webkit-datetime-edit-second-field,
::-webkit-datetime-edit-millisecond-field,
::-webkit-datetime-edit-meridiem-field,
::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text {
  padding: 0;
}
::-webkit-datetime-edit {
  display: inline-flex;
}
::-webkit-date-and-time-value {
  min-height: 1lh;
  text-align: inherit; /* is this needed? */
}
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-color-swatch-wrapper {
  padding: 0;
}
::-moz-focus-inner {
  padding: 0;
  border: 0;
}
:-moz-focusring {
  outline: auto;
}
:-moz-ui-invalid {
  box-shadow: none; /* is this needed? */
}
::-moz-selection {
  background-color: var(--selection-background-color, var(--color-black));
  color: var(--selection-color, var(--color-white));
}
::selection {
  background-color: var(--selection-background-color, var(--color-black));
  color: var(--selection-color, var(--color-white));
}
::placeholder {
  opacity: 1;
}
:focus {
  outline: 2px solid var(--focus-color, var(--color-black));
  outline-offset: 2px;
}
@supports (selector(:focus-visible)) {
  :focus {
    outline: 0;
  }
  :focus-visible {
    outline: 2px solid var(--focus-color, var(--color-black));
    outline-offset: 2px;
  }
}
[hidden] {
  display: none !important;
}
@media (prefers-reduced-motion: no-preference) {
  html {
    interpolate-size: allow-keywords;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  ::before,
  ::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
