@import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@300..700&family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Noto+Serif:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.0/css/all.min.css');

.avatar {
    --avatar-fg: var(--primary);
    --avatar-bg: var(--primary-90);
    font-size: 1.5em;
    color: var(--avatar-fg);
    position: relative;
    margin: 0.4em calc(0.4em + 1ch) 0.4em 0.4em;
    z-index: 1
}

.avatar::after {
    content: "";
    position: absolute;
    width: 2em;
    height: 2em;
    border-radius: 50%;
    background-color: var(--avatar-bg);
    top: calc(50% + 0.1em);
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1
}

.avatar i {
    transform: translateY(0.1em)
}

.avatar img {
    width: 2em;
    height: 2em;
    border-radius: 50%;
    object-fit: cover;
    vertical-align: middle
}

.avatar.avatar-secondary {
    --avatar-fg: var(--secondary);
    --avatar-bg: var(--secondary-90)
}

.avatar.avatar-accent {
    --avatar-fg: var(--accent);
    --avatar-bg: var(--accent-90)
}

.avatar.avatar-negative {
    --avatar-fg: var(--negative);
    --avatar-bg: var(--negative-90)
}

.avatar.avatar-positive {
    --avatar-fg: var(--positive);
    --avatar-bg: var(--positive-90)
}

.avatar.avatar-info {
    --avatar-fg: var(--info);
    --avatar-bg: var(--info-90)
}

.avatar.avatar-warning {
    --avatar-fg: var(--warning);
    --avatar-bg: var(--warning-90)
}

.avatar.avatar-fg {
    --avatar-fg: var(--text-10);
    --avatar-bg: var(--bg-90)
}

.avatar.avatar-bg {
    --avatar-fg: var(--bg);
    --avatar-bg: var(--text)
}

.btn {
    --btn-bg: var(--primary);
    --btn-fg: var(--primary-fg);
    --btn-bg-pressed: var(--primary-30);
    display: inline-block;
    padding: 0.5em 1em;
    background-color: var(--btn-bg);
    color: var(--btn-fg);
    text-decoration: none;
    border-radius: 0.5em;
    transition: all 0.2s ease-in-out;
    border: none;
    cursor: pointer;
    user-select: none;
    margin-bottom: 3px
}

.btn.focus,
.btn.hover,
.btn:focus,
.btn:hover {
    transform: scale(1.05)
}

.btn.active,
.btn:active {
    background-color: var(--btn-bg-pressed);
    transform: translateY(2px)
}

.btn.btn-primary {
    --btn-bg: var(--primary);
    --btn-fg: var(--primary-fg);
    --btn-bg-pressed: var(--primary-30)
}

.btn.btn-secondary {
    --btn-bg: var(--secondary);
    --btn-fg: var(--secondary-fg);
    --btn-bg-pressed: var(--secondary-30)
}

.btn.btn-accent {
    --btn-bg: var(--accent);
    --btn-fg: var(--accent-fg);
    --btn-bg-pressed: var(--accent-30)
}

.btn.btn-negative {
    --btn-bg: var(--negative);
    --btn-fg: var(--negative-fg);
    --btn-bg-pressed: var(--negative-30)
}

.btn.btn-positive {
    --btn-bg: var(--positive);
    --btn-fg: var(--positive-fg);
    --btn-bg-pressed: var(--positive-30)
}

.btn.btn-info {
    --btn-bg: var(--info);
    --btn-fg: var(--info-fg);
    --btn-bg-pressed: var(--info-30)
}

.btn.btn-warning {
    --btn-bg: var(--warning);
    --btn-fg: var(--warning-fg);
    --btn-bg-pressed: var(--warning-30)
}

.btn.btn-fg {
    --btn-bg: var(--fg);
    --btn-fg: var(--bg);
    --btn-bg-pressed: var(--fg-30)
}

.btn.btn-bg {
    --btn-bg: var(--bg);
    --btn-fg: var(--fg);
    --btn-bg-pressed: var(--bg-30)
}

.btn.btn-text {
    --btn-bg: var(--text);
    --btn-fg: var(--bg);
    --btn-bg-pressed: var(--text-30)
}

.btn.btn-outline {
    background-color: transparent;
    border: 2px solid var(--btn-bg);
    color: var(--btn-bg);
    padding: calc(0.5em - 2px) calc(1em - 2px)
}

.btn.btn-outline.active,
.btn.btn-outline:active {
    background-color: var(--btn-bg-pressed);
    color: var(--btn-fg);
    border-color: var(--btn-bg-pressed)
}

.btn.btn-empty {
    background-color: transparent;
    color: var(--btn-bg);
    padding: 0.5em 1em;
    border: none
}

.btn.btn-empty.active,
.btn.btn-empty:active {
    background-color: transparent;
    color: var(--btn-bg-pressed)
}

.btn.disabled,
.btn:disabled {
    opacity: 0.5;
    pointer-events: none;
    cursor: not-allowed
}

.card {
    display: grid;
    grid-template-areas: "header" "body" "footer";
    box-shadow: rgba(0, 0, 0, 0.025) 0 6px 24px 0px, rgba(0, 0, 0, 0.028) 0 0 0 1px;
    border-radius: 0.5em;
    background-color: var(--bg);
    color: var(--text);
    padding: 1em;
    gap: 0.5em;
    margin-top: 1em;
    margin-bottom: 1em;
    border: 1px solid var(--border)
}

.card-header {
    grid-area: header;
    font-size: 1.2em;
    margin-bottom: 1em
}

.card-body {
    grid-area: body
}

.card-footer {
    grid-area: footer;
    border-top: 1px solid var(--border);
    margin-top: 1em;
    padding-top: 1em
}

.card.card-primary {
    background-color: var(--primary-90);
    color: var(--primary-10);
    --heading-color: var(--primary);
    --border: var(--primary)
}

.card.card-secondary {
    background-color: var(--secondary-90);
    color: var(--secondary-10);
    --heading-color: var(--secondary);
    --border: var(--secondary)
}

.card.card-accent {
    background-color: var(--accent-90);
    color: var(--accent-10);
    --heading-color: var(--accent);
    --border: var(--accent)
}

.card.card-negative {
    background-color: var(--negative-90);
    color: var(--negative-10);
    --heading-color: var(--negative);
    --border: var(--negative)
}

.card.card-positive {
    background-color: var(--positive-90);
    color: var(--positive-10);
    --heading-color: var(--positive);
    --border: var(--positive)
}

.card.card-info {
    background-color: var(--info-90);
    color: var(--info-10);
    --heading-color: var(--info);
    --border: var(--info)
}

.card.card-warning {
    background-color: var(--warning-90);
    color: var(--warning-10);
    --heading-color: var(--warning);
    --border: var(--warning)
}

.card.card-bg {
    background-color: var(--bg);
    color: var(--text);
    --heading-color: var(--text)
}

.card.card-fg {
    background-color: var(--fg);
    color: var(--bg);
    --heading-color: var(--bg)
}

.chip {
    --chip-bg: var(--bg);
    --chip-text: var(--text);
    --chip-icon: var(--chip-text);
    --chip-border: var(--border);
    display: inline-flex;
    align-items: center;
    padding: 0.25em 0.5em;
    border-radius: 10em;
    box-shadow: rgba(0, 0, 0, 0.025) 0 6px 24px 0px, rgba(0, 0, 0, 0.028) 0 0 0 1px;
    background-color: var(--chip-bg);
    color: var(--chip-text);
    border: 1px solid var(--chip-border)
}

.chip-icon,
.chip-remove {
    padding: 0.25em;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--chip-icon)
}

.chip-remove {
    cursor: pointer;
    opacity: 0.75
}

.chip-remove.focus,
.chip-remove.hover,
.chip-remove:focus,
.chip-remove:hover {
    opacity: 1
}

.chip-text {
    flex-grow: 1
}

.chip-icon~.chip-text {
    padding-right: 0.25em
}

.chip.chip-primary {
    --chip-bg: var(--primary-90);
    --chip-text: var(--primary-10);
    --chip-border: var(--primary)
}

.chip.chip-secondary {
    --chip-bg: var(--secondary-90);
    --chip-text: var(--secondary-10);
    --chip-border: var(--secondary)
}

.chip.chip-accent {
    --chip-bg: var(--accent-90);
    --chip-text: var(--accent-10);
    --chip-border: var(--accent)
}

.chip.chip-negative {
    --chip-bg: var(--negative-90);
    --chip-text: var(--negative-10);
    --chip-border: var(--negative)
}

.chip.chip-positive {
    --chip-bg: var(--positive-90);
    --chip-text: var(--positive-10);
    --chip-border: var(--positive)
}

.chip.chip-info {
    --chip-bg: var(--info-90);
    --chip-text: var(--info-10);
    --chip-border: var(--info)
}

.chip.chip-warning {
    --chip-bg: var(--warning-90);
    --chip-text: var(--warning-10);
    --chip-border: var(--warning)
}

.chip.chip-bg {
    --chip-bg: var(--bg);
    --chip-text: var(--text);
    --chip-border: var(--border)
}

.chip.chip-fg {
    --chip-bg: var(--fg);
    --chip-text: var(--bg);
    --chip-border: var(--bg)
}

.chips-container {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em;
    padding: 0.5em;
    align-items: center
}

.accordion {
    --accordion-bg: var(--bg);
    --accordion-marker: var(--text);
    --accordion-border: var(--border);
    box-shadow: rgba(0, 0, 0, 0.025) 0 6px 24px 0px, rgba(0, 0, 0, 0.028) 0 0 0 1px;
    background-color: var(--accordion-bg);
    border: 1px solid var(--accordion-border);
    padding: 1em;
    margin: 1em 0
}

.accordion summary {
    list-style: none;
    cursor: pointer;
    position: relative;
    padding: 0.5em 0
}

.accordion summary::before {
    content: '';
    position: absolute;
    right: 1em;
    top: 50%;
    border: none;
    border-bottom: 0.25em solid var(--accordion-marker);
    border-left: 0.25em solid var(--accordion-marker);
    width: 1em;
    height: 1em;
    transform: translateY(-75%) rotate(-45deg);
    transition: transform 0.25s ease-in-out
}

.accordion[open] summary::before {
    transform: translateY(-50%) rotate(135deg)
}

.accordion.accordion-marker-left summary {
    padding-left: 3em
}

.accordion.accordion-marker-left summary::before {
    left: 1em;
    right: auto
}

.accordions-container .accordion:not(:first-of-type) {
    margin-top: 0
}

.accordions-container .accordion:not(:last-of-type) {
    margin-bottom: 0
}

.accordion.accordion-primary {
    --accordion-marker: var(--primary)
}

.accordion.accordion-secondary {
    --accordion-marker: var(--secondary)
}

.accordion.accordion-accent {
    --accordion-marker: var(--accent)
}

.accordion.accordion-info {
    --accordion-marker: var(--info)
}

.accordion.accordion-positive {
    --accordion-marker: var(--positive)
}

.accordion.accordion-warning {
    --accordion-marker: var(--warning)
}

.accordion.accordion-negative {
    --accordion-marker: var(--negative)
}

.table-wrapper {
    display: block;
    width: 100%;
    overflow-x: auto;
    margin: 1em 0
}

.table {
    width: 100%;
    border-collapse: collapse;
    margin: 1em 0;
    overflow-x: auto;
    --table-header-text: var(--text);
    --table-body-text: var(--text);
    --table-border: var(--border);
    --table-row-bg: var(--bg-90)
}

.table th {
    color: var(--table-header-text);
    font-weight: bold
}

.table td {
    color: var(--table-body-text)
}

.table td,
.table th {
    padding: 0.5em;
    text-align: left
}

.table tr {
    border-bottom: 1px solid var(--table-border)
}

.table tr:nth-child(even) {
    background-color: var(--table-row-bg)
}

.table.table-primary {
    --table-header-text: var(--primary)
}

.table.table-secondary {
    --table-header-text: var(--secondary)
}

.table.table-accent {
    --table-header-text: var(--accent)
}

.table.table-info {
    --table-header-text: var(--info)
}

.table.table-positive {
    --table-header-text: var(--positive)
}

.table.table-warning {
    --table-header-text: var(--warning)
}

.table.table-negative {
    --table-header-text: var(--negative)
}

.field-input {
    background-color: var(--bg);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 0.5em;
    padding: 0.5em 1em;
    font-size: 1em;
    box-shadow: rgba(0, 0, 0, 0.025) 0 6px 24px 0px, rgba(0, 0, 0, 0.028) 0 0 0 1px;
    transition: border-color 0.2s ease-in-out
}

.field-input.focus,
.field-input.hover,
.field-input:focus,
.field-input:hover {
    border-color: var(--primary)
}

.field-input.active,
.field-input:active {
    border-color: var(--primary-30)
}

.field-input.invalid {
    border-color: var(--negative) !important
}

.field-input:user-invalid {
    border-color: var(--negative)
}

.field-input.valid {
    border-color: var(--positive) !important
}

.field-input:user-valid {
    border-color: var(--positive)
}

.field-input::placeholder {
    color: var(--text-50)
}

.field-input.disabled,
.field-input.readonly,
.field-input[disabled],
.field-input[readonly] {
    background-color: var(--bg-90);
    color: var(--text-50);
    cursor: not-allowed
}

.callout {
    --callout-color: var(--info);
    --callout-text: var(--text);
    --callout-background: var(--bg);
    --callout-border: var(--info);
    color: var(--callout-text);
    background-color: var(--callout-background);
    border: 1px solid var(--callout-border);
    border-left: 0.5em solid var(--callout-color);
    box-shadow: rgba(0, 0, 0, 0.025) 0 6px 24px 0px, rgba(0, 0, 0, 0.028) 0 0 0 1px;
    padding: 1em;
    margin: 0.5em;
    border-radius: 0.5em;
    display: grid;
    grid-template-areas: "icon content";
    grid-template-columns: auto 1fr;
    gap: 1em
}

.callout-icon {
    grid-area: icon;
    font-size: 1.5em;
    color: var(--callout-color);
    margin-top: 0.35em
}

.callout-content {
    grid-area: content;
    display: grid;
    grid-template-areas: "header" "body" "footer";
    grid-template-rows: auto 1fr auto
}

.callout-header {
    grid-area: header;
    font-weight: bold;
    margin-bottom: 0.5em;
    color: var(--callout-color)
}

.callout-body {
    grid-area: body;
    margin-bottom: 0.5em
}

.callout-footer {
    grid-area: footer;
    border-top: 1px solid var(--callout-border);
    margin-top: 1em;
    padding-top: 1em
}

.callout.callout-success {
    --callout-color: var(--positive);
    --callout-border: var(--positive)
}

.callout.callout-warning {
    --callout-color: var(--warning);
    --callout-border: var(--warning)
}

.callout.callout-error {
    --callout-color: var(--negative);
    --callout-border: var(--negative)
}

.callout.callout-primary {
    --callout-color: var(--primary);
    --callout-border: var(--primary)
}

.callout.callout-secondary {
    --callout-color: var(--secondary);
    --callout-border: var(--secondary)
}

.callout.callout-accent {
    --callout-color: var(--accent);
    --callout-border: var(--accent)
}

@media screen and (max-width: 600px) {
    .callout {
        grid-template-areas: "icon" "content";
        grid-template-columns: auto
    }

    .callout-icon {
        margin: initial;
        text-align: center
    }
}

body,
html {
    margin: 0;
    padding: 0;
    --target-width: 1200px;
    box-sizing: border-box
}

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

.main {
    max-width: var(--target-width);
    margin: 0 auto;
    padding: 20px
}

.text-left {
    text-align: left
}

.text-center {
    text-align: center
}

.text-right {
    text-align: right
}

.text-justify {
    text-align: justify
}

.block-center {
    margin-left: auto;
    margin-right: auto
}

.optimal-text-width {
    max-width: 80ch
}

.readable-width {
    max-width: var(--target-width)
}

.full-width {
    width: 100%
}

.half-width {
    width: 50%
}

@media screen and (max-width: 600px) {
    .half-width {
        width: unset
    }
}

html {
    --border: var(--fg-90)
}

html {
    --info-fg-light: #000000;
    --info-fg-light-0: #000000;
    --info-fg-light-10: #1A1A1A;
    --info-fg-light-20: #333333;
    --info-fg-light-30: #4D4D4D;
    --info-fg-light-40: #666666;
    --info-fg-light-50: #808080;
    --info-fg-light-60: #999999;
    --info-fg-light-70: #B2B2B2;
    --info-fg-light-80: #CCCCCC;
    --info-fg-light-90: #E5E5E5;
    --info-fg-light-100: #FFFFFF
}

.theme-light {
    --info-fg: var(--info-fg-light);
    --info-fg-0: var(--info-fg-light-0);
    --info-fg-10: var(--info-fg-light-10);
    --info-fg-20: var(--info-fg-light-20);
    --info-fg-30: var(--info-fg-light-30);
    --info-fg-40: var(--info-fg-light-40);
    --info-fg-50: var(--info-fg-light-50);
    --info-fg-60: var(--info-fg-light-60);
    --info-fg-70: var(--info-fg-light-70);
    --info-fg-80: var(--info-fg-light-80);
    --info-fg-90: var(--info-fg-light-90);
    --info-fg-100: var(--info-fg-light-100)
}

@media (prefers-color-scheme: light) {
    html {
        --info-fg: var(--info-fg-light);
        --info-fg-0: var(--info-fg-light-0);
        --info-fg-10: var(--info-fg-light-10);
        --info-fg-20: var(--info-fg-light-20);
        --info-fg-30: var(--info-fg-light-30);
        --info-fg-40: var(--info-fg-light-40);
        --info-fg-50: var(--info-fg-light-50);
        --info-fg-60: var(--info-fg-light-60);
        --info-fg-70: var(--info-fg-light-70);
        --info-fg-80: var(--info-fg-light-80);
        --info-fg-90: var(--info-fg-light-90);
        --info-fg-100: var(--info-fg-light-100)
    }
}

html {
    --accent-fg-light: #FFFFFF;
    --accent-fg-light-0: #000000;
    --accent-fg-light-10: #1A1A1A;
    --accent-fg-light-20: #333333;
    --accent-fg-light-30: #4D4D4D;
    --accent-fg-light-40: #666666;
    --accent-fg-light-50: #808080;
    --accent-fg-light-60: #999999;
    --accent-fg-light-70: #B2B2B2;
    --accent-fg-light-80: #CCCCCC;
    --accent-fg-light-90: #E5E5E5;
    --accent-fg-light-100: #FFFFFF
}

.theme-light {
    --accent-fg: var(--accent-fg-light);
    --accent-fg-0: var(--accent-fg-light-0);
    --accent-fg-10: var(--accent-fg-light-10);
    --accent-fg-20: var(--accent-fg-light-20);
    --accent-fg-30: var(--accent-fg-light-30);
    --accent-fg-40: var(--accent-fg-light-40);
    --accent-fg-50: var(--accent-fg-light-50);
    --accent-fg-60: var(--accent-fg-light-60);
    --accent-fg-70: var(--accent-fg-light-70);
    --accent-fg-80: var(--accent-fg-light-80);
    --accent-fg-90: var(--accent-fg-light-90);
    --accent-fg-100: var(--accent-fg-light-100)
}

@media (prefers-color-scheme: light) {
    html {
        --accent-fg: var(--accent-fg-light);
        --accent-fg-0: var(--accent-fg-light-0);
        --accent-fg-10: var(--accent-fg-light-10);
        --accent-fg-20: var(--accent-fg-light-20);
        --accent-fg-30: var(--accent-fg-light-30);
        --accent-fg-40: var(--accent-fg-light-40);
        --accent-fg-50: var(--accent-fg-light-50);
        --accent-fg-60: var(--accent-fg-light-60);
        --accent-fg-70: var(--accent-fg-light-70);
        --accent-fg-80: var(--accent-fg-light-80);
        --accent-fg-90: var(--accent-fg-light-90);
        --accent-fg-100: var(--accent-fg-light-100)
    }
}

html {
    --info-light: #84A8E2;
    --info-light-0: #000000;
    --info-light-10: #0A1629;
    --info-light-20: #132C53;
    --info-light-30: #1D417C;
    --info-light-40: #2757A5;
    --info-light-50: #316DCE;
    --info-light-60: #5A8AD8;
    --info-light-70: #83A7E2;
    --info-light-80: #ACC5EC;
    --info-light-90: #D6E2F5;
    --info-light-100: #FFFFFF
}

.theme-light {
    --info: var(--info-light);
    --info-0: var(--info-light-0);
    --info-10: var(--info-light-10);
    --info-20: var(--info-light-20);
    --info-30: var(--info-light-30);
    --info-40: var(--info-light-40);
    --info-50: var(--info-light-50);
    --info-60: var(--info-light-60);
    --info-70: var(--info-light-70);
    --info-80: var(--info-light-80);
    --info-90: var(--info-light-90);
    --info-100: var(--info-light-100)
}

@media (prefers-color-scheme: light) {
    html {
        --info: var(--info-light);
        --info-0: var(--info-light-0);
        --info-10: var(--info-light-10);
        --info-20: var(--info-light-20);
        --info-30: var(--info-light-30);
        --info-40: var(--info-light-40);
        --info-50: var(--info-light-50);
        --info-60: var(--info-light-60);
        --info-70: var(--info-light-70);
        --info-80: var(--info-light-80);
        --info-90: var(--info-light-90);
        --info-100: var(--info-light-100)
    }
}

html {
    --primary-light: #299FFF;
    --primary-light-0: #000000;
    --primary-light-10: #001C33;
    --primary-light-20: #003866;
    --primary-light-30: #005499;
    --primary-light-40: #0070CC;
    --primary-light-50: #008DFF;
    --primary-light-60: #33A3FF;
    --primary-light-70: #66BAFF;
    --primary-light-80: #99D1FF;
    --primary-light-90: #CCE8FF;
    --primary-light-100: #FFFFFF
}

.theme-light {
    --primary: var(--primary-light);
    --primary-0: var(--primary-light-0);
    --primary-10: var(--primary-light-10);
    --primary-20: var(--primary-light-20);
    --primary-30: var(--primary-light-30);
    --primary-40: var(--primary-light-40);
    --primary-50: var(--primary-light-50);
    --primary-60: var(--primary-light-60);
    --primary-70: var(--primary-light-70);
    --primary-80: var(--primary-light-80);
    --primary-90: var(--primary-light-90);
    --primary-100: var(--primary-light-100)
}

@media (prefers-color-scheme: light) {
    html {
        --primary: var(--primary-light);
        --primary-0: var(--primary-light-0);
        --primary-10: var(--primary-light-10);
        --primary-20: var(--primary-light-20);
        --primary-30: var(--primary-light-30);
        --primary-40: var(--primary-light-40);
        --primary-50: var(--primary-light-50);
        --primary-60: var(--primary-light-60);
        --primary-70: var(--primary-light-70);
        --primary-80: var(--primary-light-80);
        --primary-90: var(--primary-light-90);
        --primary-100: var(--primary-light-100)
    }
}

html {
    --positive-light: #27CE45;
    --positive-light-0: #000000;
    --positive-light-10: #082B0E;
    --positive-light-20: #10561D;
    --positive-light-30: #18812B;
    --positive-light-40: #20AC39;
    --positive-light-50: #29D648;
    --positive-light-60: #53DF6C;
    --positive-light-70: #7EE791;
    --positive-light-80: #A9EFB6;
    --positive-light-90: #D4F7DA;
    --positive-light-100: #FFFFFF
}

.theme-light {
    --positive: var(--positive-light);
    --positive-0: var(--positive-light-0);
    --positive-10: var(--positive-light-10);
    --positive-20: var(--positive-light-20);
    --positive-30: var(--positive-light-30);
    --positive-40: var(--positive-light-40);
    --positive-50: var(--positive-light-50);
    --positive-60: var(--positive-light-60);
    --positive-70: var(--positive-light-70);
    --positive-80: var(--positive-light-80);
    --positive-90: var(--positive-light-90);
    --positive-100: var(--positive-light-100)
}

@media (prefers-color-scheme: light) {
    html {
        --positive: var(--positive-light);
        --positive-0: var(--positive-light-0);
        --positive-10: var(--positive-light-10);
        --positive-20: var(--positive-light-20);
        --positive-30: var(--positive-light-30);
        --positive-40: var(--positive-light-40);
        --positive-50: var(--positive-light-50);
        --positive-60: var(--positive-light-60);
        --positive-70: var(--positive-light-70);
        --positive-80: var(--positive-light-80);
        --positive-90: var(--positive-light-90);
        --positive-100: var(--positive-light-100)
    }
}

html {
    --primary-fg-light: #000000;
    --primary-fg-light-0: #000000;
    --primary-fg-light-10: #1A1A1A;
    --primary-fg-light-20: #333333;
    --primary-fg-light-30: #4D4D4D;
    --primary-fg-light-40: #666666;
    --primary-fg-light-50: #808080;
    --primary-fg-light-60: #999999;
    --primary-fg-light-70: #B2B2B2;
    --primary-fg-light-80: #CCCCCC;
    --primary-fg-light-90: #E5E5E5;
    --primary-fg-light-100: #FFFFFF
}

.theme-light {
    --primary-fg: var(--primary-fg-light);
    --primary-fg-0: var(--primary-fg-light-0);
    --primary-fg-10: var(--primary-fg-light-10);
    --primary-fg-20: var(--primary-fg-light-20);
    --primary-fg-30: var(--primary-fg-light-30);
    --primary-fg-40: var(--primary-fg-light-40);
    --primary-fg-50: var(--primary-fg-light-50);
    --primary-fg-60: var(--primary-fg-light-60);
    --primary-fg-70: var(--primary-fg-light-70);
    --primary-fg-80: var(--primary-fg-light-80);
    --primary-fg-90: var(--primary-fg-light-90);
    --primary-fg-100: var(--primary-fg-light-100)
}

@media (prefers-color-scheme: light) {
    html {
        --primary-fg: var(--primary-fg-light);
        --primary-fg-0: var(--primary-fg-light-0);
        --primary-fg-10: var(--primary-fg-light-10);
        --primary-fg-20: var(--primary-fg-light-20);
        --primary-fg-30: var(--primary-fg-light-30);
        --primary-fg-40: var(--primary-fg-light-40);
        --primary-fg-50: var(--primary-fg-light-50);
        --primary-fg-60: var(--primary-fg-light-60);
        --primary-fg-70: var(--primary-fg-light-70);
        --primary-fg-80: var(--primary-fg-light-80);
        --primary-fg-90: var(--primary-fg-light-90);
        --primary-fg-100: var(--primary-fg-light-100)
    }
}

html {
    --secondary-light: #054A99;
    --secondary-light-0: #000000;
    --secondary-light-10: #021831;
    --secondary-light-20: #033063;
    --secondary-light-30: #054894;
    --secondary-light-40: #0660C6;
    --secondary-light-50: #0877F7;
    --secondary-light-60: #3993F9;
    --secondary-light-70: #6BAEFA;
    --secondary-light-80: #9CC9FC;
    --secondary-light-90: #CEE4FD;
    --secondary-light-100: #FFFFFF
}

.theme-light {
    --secondary: var(--secondary-light);
    --secondary-0: var(--secondary-light-0);
    --secondary-10: var(--secondary-light-10);
    --secondary-20: var(--secondary-light-20);
    --secondary-30: var(--secondary-light-30);
    --secondary-40: var(--secondary-light-40);
    --secondary-50: var(--secondary-light-50);
    --secondary-60: var(--secondary-light-60);
    --secondary-70: var(--secondary-light-70);
    --secondary-80: var(--secondary-light-80);
    --secondary-90: var(--secondary-light-90);
    --secondary-100: var(--secondary-light-100)
}

@media (prefers-color-scheme: light) {
    html {
        --secondary: var(--secondary-light);
        --secondary-0: var(--secondary-light-0);
        --secondary-10: var(--secondary-light-10);
        --secondary-20: var(--secondary-light-20);
        --secondary-30: var(--secondary-light-30);
        --secondary-40: var(--secondary-light-40);
        --secondary-50: var(--secondary-light-50);
        --secondary-60: var(--secondary-light-60);
        --secondary-70: var(--secondary-light-70);
        --secondary-80: var(--secondary-light-80);
        --secondary-90: var(--secondary-light-90);
        --secondary-100: var(--secondary-light-100)
    }
}

html {
    --bg-light: #FCFCFC;
    --bg-light-0: #000000;
    --bg-light-10: #1A1A1A;
    --bg-light-20: #333333;
    --bg-light-30: #4D4D4D;
    --bg-light-40: #666666;
    --bg-light-50: #808080;
    --bg-light-60: #999999;
    --bg-light-70: #B2B2B2;
    --bg-light-80: #CCCCCC;
    --bg-light-90: #E5E5E5;
    --bg-light-100: #FFFFFF
}

.theme-light {
    --bg: var(--bg-light);
    --bg-0: var(--bg-light-0);
    --bg-10: var(--bg-light-10);
    --bg-20: var(--bg-light-20);
    --bg-30: var(--bg-light-30);
    --bg-40: var(--bg-light-40);
    --bg-50: var(--bg-light-50);
    --bg-60: var(--bg-light-60);
    --bg-70: var(--bg-light-70);
    --bg-80: var(--bg-light-80);
    --bg-90: var(--bg-light-90);
    --bg-100: var(--bg-light-100)
}

@media (prefers-color-scheme: light) {
    html {
        --bg: var(--bg-light);
        --bg-0: var(--bg-light-0);
        --bg-10: var(--bg-light-10);
        --bg-20: var(--bg-light-20);
        --bg-30: var(--bg-light-30);
        --bg-40: var(--bg-light-40);
        --bg-50: var(--bg-light-50);
        --bg-60: var(--bg-light-60);
        --bg-70: var(--bg-light-70);
        --bg-80: var(--bg-light-80);
        --bg-90: var(--bg-light-90);
        --bg-100: var(--bg-light-100)
    }
}

html {
    --warning-fg-light: #000000;
    --warning-fg-light-0: #000000;
    --warning-fg-light-10: #1A1A1A;
    --warning-fg-light-20: #333333;
    --warning-fg-light-30: #4D4D4D;
    --warning-fg-light-40: #666666;
    --warning-fg-light-50: #808080;
    --warning-fg-light-60: #999999;
    --warning-fg-light-70: #B2B2B2;
    --warning-fg-light-80: #CCCCCC;
    --warning-fg-light-90: #E5E5E5;
    --warning-fg-light-100: #FFFFFF
}

.theme-light {
    --warning-fg: var(--warning-fg-light);
    --warning-fg-0: var(--warning-fg-light-0);
    --warning-fg-10: var(--warning-fg-light-10);
    --warning-fg-20: var(--warning-fg-light-20);
    --warning-fg-30: var(--warning-fg-light-30);
    --warning-fg-40: var(--warning-fg-light-40);
    --warning-fg-50: var(--warning-fg-light-50);
    --warning-fg-60: var(--warning-fg-light-60);
    --warning-fg-70: var(--warning-fg-light-70);
    --warning-fg-80: var(--warning-fg-light-80);
    --warning-fg-90: var(--warning-fg-light-90);
    --warning-fg-100: var(--warning-fg-light-100)
}

@media (prefers-color-scheme: light) {
    html {
        --warning-fg: var(--warning-fg-light);
        --warning-fg-0: var(--warning-fg-light-0);
        --warning-fg-10: var(--warning-fg-light-10);
        --warning-fg-20: var(--warning-fg-light-20);
        --warning-fg-30: var(--warning-fg-light-30);
        --warning-fg-40: var(--warning-fg-light-40);
        --warning-fg-50: var(--warning-fg-light-50);
        --warning-fg-60: var(--warning-fg-light-60);
        --warning-fg-70: var(--warning-fg-light-70);
        --warning-fg-80: var(--warning-fg-light-80);
        --warning-fg-90: var(--warning-fg-light-90);
        --warning-fg-100: var(--warning-fg-light-100)
    }
}

html {
    --text-light: #121212;
    --text-light-0: #000000;
    --text-light-10: #1A1A1A;
    --text-light-20: #333333;
    --text-light-30: #4D4D4D;
    --text-light-40: #666666;
    --text-light-50: #808080;
    --text-light-60: #999999;
    --text-light-70: #B2B2B2;
    --text-light-80: #CCCCCC;
    --text-light-90: #E5E5E5;
    --text-light-100: #FFFFFF
}

.theme-light {
    --text: var(--text-light);
    --text-0: var(--text-light-0);
    --text-10: var(--text-light-10);
    --text-20: var(--text-light-20);
    --text-30: var(--text-light-30);
    --text-40: var(--text-light-40);
    --text-50: var(--text-light-50);
    --text-60: var(--text-light-60);
    --text-70: var(--text-light-70);
    --text-80: var(--text-light-80);
    --text-90: var(--text-light-90);
    --text-100: var(--text-light-100)
}

@media (prefers-color-scheme: light) {
    html {
        --text: var(--text-light);
        --text-0: var(--text-light-0);
        --text-10: var(--text-light-10);
        --text-20: var(--text-light-20);
        --text-30: var(--text-light-30);
        --text-40: var(--text-light-40);
        --text-50: var(--text-light-50);
        --text-60: var(--text-light-60);
        --text-70: var(--text-light-70);
        --text-80: var(--text-light-80);
        --text-90: var(--text-light-90);
        --text-100: var(--text-light-100)
    }
}

html {
    --warning-light: #ECB324;
    --warning-light-0: #000000;
    --warning-light-10: #2F2304;
    --warning-light-20: #5E4508;
    --warning-light-30: #8D680C;
    --warning-light-40: #BC8B10;
    --warning-light-50: #EBAE14;
    --warning-light-60: #EFBE43;
    --warning-light-70: #F3CE72;
    --warning-light-80: #F7DEA1;
    --warning-light-90: #FBEFD0;
    --warning-light-100: #FFFFFF
}

.theme-light {
    --warning: var(--warning-light);
    --warning-0: var(--warning-light-0);
    --warning-10: var(--warning-light-10);
    --warning-20: var(--warning-light-20);
    --warning-30: var(--warning-light-30);
    --warning-40: var(--warning-light-40);
    --warning-50: var(--warning-light-50);
    --warning-60: var(--warning-light-60);
    --warning-70: var(--warning-light-70);
    --warning-80: var(--warning-light-80);
    --warning-90: var(--warning-light-90);
    --warning-100: var(--warning-light-100)
}

@media (prefers-color-scheme: light) {
    html {
        --warning: var(--warning-light);
        --warning-0: var(--warning-light-0);
        --warning-10: var(--warning-light-10);
        --warning-20: var(--warning-light-20);
        --warning-30: var(--warning-light-30);
        --warning-40: var(--warning-light-40);
        --warning-50: var(--warning-light-50);
        --warning-60: var(--warning-light-60);
        --warning-70: var(--warning-light-70);
        --warning-80: var(--warning-light-80);
        --warning-90: var(--warning-light-90);
        --warning-100: var(--warning-light-100)
    }
}

html {
    --accent-light: #6D19CC;
    --accent-light-0: #000000;
    --accent-light-10: #18062D;
    --accent-light-20: #310B5B;
    --accent-light-30: #491188;
    --accent-light-40: #6116B6;
    --accent-light-50: #791CE3;
    --accent-light-60: #9449E9;
    --accent-light-70: #AF77EE;
    --accent-light-80: #CAA4F4;
    --accent-light-90: #E4D2F9;
    --accent-light-100: #FFFFFF
}

.theme-light {
    --accent: var(--accent-light);
    --accent-0: var(--accent-light-0);
    --accent-10: var(--accent-light-10);
    --accent-20: var(--accent-light-20);
    --accent-30: var(--accent-light-30);
    --accent-40: var(--accent-light-40);
    --accent-50: var(--accent-light-50);
    --accent-60: var(--accent-light-60);
    --accent-70: var(--accent-light-70);
    --accent-80: var(--accent-light-80);
    --accent-90: var(--accent-light-90);
    --accent-100: var(--accent-light-100)
}

@media (prefers-color-scheme: light) {
    html {
        --accent: var(--accent-light);
        --accent-0: var(--accent-light-0);
        --accent-10: var(--accent-light-10);
        --accent-20: var(--accent-light-20);
        --accent-30: var(--accent-light-30);
        --accent-40: var(--accent-light-40);
        --accent-50: var(--accent-light-50);
        --accent-60: var(--accent-light-60);
        --accent-70: var(--accent-light-70);
        --accent-80: var(--accent-light-80);
        --accent-90: var(--accent-light-90);
        --accent-100: var(--accent-light-100)
    }
}

html {
    --fg-light: #121212;
    --fg-light-0: #000000;
    --fg-light-10: #1A1A1A;
    --fg-light-20: #333333;
    --fg-light-30: #4D4D4D;
    --fg-light-40: #666666;
    --fg-light-50: #808080;
    --fg-light-60: #999999;
    --fg-light-70: #B2B2B2;
    --fg-light-80: #CCCCCC;
    --fg-light-90: #E5E5E5;
    --fg-light-100: #FFFFFF
}

.theme-light {
    --fg: var(--fg-light);
    --fg-0: var(--fg-light-0);
    --fg-10: var(--fg-light-10);
    --fg-20: var(--fg-light-20);
    --fg-30: var(--fg-light-30);
    --fg-40: var(--fg-light-40);
    --fg-50: var(--fg-light-50);
    --fg-60: var(--fg-light-60);
    --fg-70: var(--fg-light-70);
    --fg-80: var(--fg-light-80);
    --fg-90: var(--fg-light-90);
    --fg-100: var(--fg-light-100)
}

@media (prefers-color-scheme: light) {
    html {
        --fg: var(--fg-light);
        --fg-0: var(--fg-light-0);
        --fg-10: var(--fg-light-10);
        --fg-20: var(--fg-light-20);
        --fg-30: var(--fg-light-30);
        --fg-40: var(--fg-light-40);
        --fg-50: var(--fg-light-50);
        --fg-60: var(--fg-light-60);
        --fg-70: var(--fg-light-70);
        --fg-80: var(--fg-light-80);
        --fg-90: var(--fg-light-90);
        --fg-100: var(--fg-light-100)
    }
}

html {
    --positive-fg-light: #000000;
    --positive-fg-light-0: #000000;
    --positive-fg-light-10: #1A1A1A;
    --positive-fg-light-20: #333333;
    --positive-fg-light-30: #4D4D4D;
    --positive-fg-light-40: #666666;
    --positive-fg-light-50: #808080;
    --positive-fg-light-60: #999999;
    --positive-fg-light-70: #B2B2B2;
    --positive-fg-light-80: #CCCCCC;
    --positive-fg-light-90: #E5E5E5;
    --positive-fg-light-100: #FFFFFF
}

.theme-light {
    --positive-fg: var(--positive-fg-light);
    --positive-fg-0: var(--positive-fg-light-0);
    --positive-fg-10: var(--positive-fg-light-10);
    --positive-fg-20: var(--positive-fg-light-20);
    --positive-fg-30: var(--positive-fg-light-30);
    --positive-fg-40: var(--positive-fg-light-40);
    --positive-fg-50: var(--positive-fg-light-50);
    --positive-fg-60: var(--positive-fg-light-60);
    --positive-fg-70: var(--positive-fg-light-70);
    --positive-fg-80: var(--positive-fg-light-80);
    --positive-fg-90: var(--positive-fg-light-90);
    --positive-fg-100: var(--positive-fg-light-100)
}

@media (prefers-color-scheme: light) {
    html {
        --positive-fg: var(--positive-fg-light);
        --positive-fg-0: var(--positive-fg-light-0);
        --positive-fg-10: var(--positive-fg-light-10);
        --positive-fg-20: var(--positive-fg-light-20);
        --positive-fg-30: var(--positive-fg-light-30);
        --positive-fg-40: var(--positive-fg-light-40);
        --positive-fg-50: var(--positive-fg-light-50);
        --positive-fg-60: var(--positive-fg-light-60);
        --positive-fg-70: var(--positive-fg-light-70);
        --positive-fg-80: var(--positive-fg-light-80);
        --positive-fg-90: var(--positive-fg-light-90);
        --positive-fg-100: var(--positive-fg-light-100)
    }
}

html {
    --negative-light: #E11717;
    --negative-light-0: #000000;
    --negative-light-10: #2E0505;
    --negative-light-20: #5D0909;
    --negative-light-30: #8B0E0E;
    --negative-light-40: #B91313;
    --negative-light-50: #E71818;
    --negative-light-60: #EC4646;
    --negative-light-70: #F17474;
    --negative-light-80: #F6A2A2;
    --negative-light-90: #FAD1D1;
    --negative-light-100: #FFFFFF
}

.theme-light {
    --negative: var(--negative-light);
    --negative-0: var(--negative-light-0);
    --negative-10: var(--negative-light-10);
    --negative-20: var(--negative-light-20);
    --negative-30: var(--negative-light-30);
    --negative-40: var(--negative-light-40);
    --negative-50: var(--negative-light-50);
    --negative-60: var(--negative-light-60);
    --negative-70: var(--negative-light-70);
    --negative-80: var(--negative-light-80);
    --negative-90: var(--negative-light-90);
    --negative-100: var(--negative-light-100)
}

@media (prefers-color-scheme: light) {
    html {
        --negative: var(--negative-light);
        --negative-0: var(--negative-light-0);
        --negative-10: var(--negative-light-10);
        --negative-20: var(--negative-light-20);
        --negative-30: var(--negative-light-30);
        --negative-40: var(--negative-light-40);
        --negative-50: var(--negative-light-50);
        --negative-60: var(--negative-light-60);
        --negative-70: var(--negative-light-70);
        --negative-80: var(--negative-light-80);
        --negative-90: var(--negative-light-90);
        --negative-100: var(--negative-light-100)
    }
}

html {
    --secondary-fg-light: #FFFFFF;
    --secondary-fg-light-0: #000000;
    --secondary-fg-light-10: #1A1A1A;
    --secondary-fg-light-20: #333333;
    --secondary-fg-light-30: #4D4D4D;
    --secondary-fg-light-40: #666666;
    --secondary-fg-light-50: #808080;
    --secondary-fg-light-60: #999999;
    --secondary-fg-light-70: #B2B2B2;
    --secondary-fg-light-80: #CCCCCC;
    --secondary-fg-light-90: #E5E5E5;
    --secondary-fg-light-100: #FFFFFF
}

.theme-light {
    --secondary-fg: var(--secondary-fg-light);
    --secondary-fg-0: var(--secondary-fg-light-0);
    --secondary-fg-10: var(--secondary-fg-light-10);
    --secondary-fg-20: var(--secondary-fg-light-20);
    --secondary-fg-30: var(--secondary-fg-light-30);
    --secondary-fg-40: var(--secondary-fg-light-40);
    --secondary-fg-50: var(--secondary-fg-light-50);
    --secondary-fg-60: var(--secondary-fg-light-60);
    --secondary-fg-70: var(--secondary-fg-light-70);
    --secondary-fg-80: var(--secondary-fg-light-80);
    --secondary-fg-90: var(--secondary-fg-light-90);
    --secondary-fg-100: var(--secondary-fg-light-100)
}

@media (prefers-color-scheme: light) {
    html {
        --secondary-fg: var(--secondary-fg-light);
        --secondary-fg-0: var(--secondary-fg-light-0);
        --secondary-fg-10: var(--secondary-fg-light-10);
        --secondary-fg-20: var(--secondary-fg-light-20);
        --secondary-fg-30: var(--secondary-fg-light-30);
        --secondary-fg-40: var(--secondary-fg-light-40);
        --secondary-fg-50: var(--secondary-fg-light-50);
        --secondary-fg-60: var(--secondary-fg-light-60);
        --secondary-fg-70: var(--secondary-fg-light-70);
        --secondary-fg-80: var(--secondary-fg-light-80);
        --secondary-fg-90: var(--secondary-fg-light-90);
        --secondary-fg-100: var(--secondary-fg-light-100)
    }
}

html {
    --negative-fg-light: #000000;
    --negative-fg-light-0: #000000;
    --negative-fg-light-10: #1A1A1A;
    --negative-fg-light-20: #333333;
    --negative-fg-light-30: #4D4D4D;
    --negative-fg-light-40: #666666;
    --negative-fg-light-50: #808080;
    --negative-fg-light-60: #999999;
    --negative-fg-light-70: #B2B2B2;
    --negative-fg-light-80: #CCCCCC;
    --negative-fg-light-90: #E5E5E5;
    --negative-fg-light-100: #FFFFFF
}

.theme-light {
    --negative-fg: var(--negative-fg-light);
    --negative-fg-0: var(--negative-fg-light-0);
    --negative-fg-10: var(--negative-fg-light-10);
    --negative-fg-20: var(--negative-fg-light-20);
    --negative-fg-30: var(--negative-fg-light-30);
    --negative-fg-40: var(--negative-fg-light-40);
    --negative-fg-50: var(--negative-fg-light-50);
    --negative-fg-60: var(--negative-fg-light-60);
    --negative-fg-70: var(--negative-fg-light-70);
    --negative-fg-80: var(--negative-fg-light-80);
    --negative-fg-90: var(--negative-fg-light-90);
    --negative-fg-100: var(--negative-fg-light-100)
}

@media (prefers-color-scheme: light) {
    html {
        --negative-fg: var(--negative-fg-light);
        --negative-fg-0: var(--negative-fg-light-0);
        --negative-fg-10: var(--negative-fg-light-10);
        --negative-fg-20: var(--negative-fg-light-20);
        --negative-fg-30: var(--negative-fg-light-30);
        --negative-fg-40: var(--negative-fg-light-40);
        --negative-fg-50: var(--negative-fg-light-50);
        --negative-fg-60: var(--negative-fg-light-60);
        --negative-fg-70: var(--negative-fg-light-70);
        --negative-fg-80: var(--negative-fg-light-80);
        --negative-fg-90: var(--negative-fg-light-90);
        --negative-fg-100: var(--negative-fg-light-100)
    }
}

html {
    --info-fg-dark: #FFFFFF;
    --info-fg-dark-100: #000000;
    --info-fg-dark-90: #1A1A1A;
    --info-fg-dark-80: #333333;
    --info-fg-dark-70: #4D4D4D;
    --info-fg-dark-60: #666666;
    --info-fg-dark-50: #808080;
    --info-fg-dark-40: #999999;
    --info-fg-dark-30: #B2B2B2;
    --info-fg-dark-20: #CCCCCC;
    --info-fg-dark-10: #E5E5E5;
    --info-fg-dark-0: #FFFFFF
}

.theme-dark {
    --info-fg: var(--info-fg-dark);
    --info-fg-100: var(--info-fg-dark-100);
    --info-fg-90: var(--info-fg-dark-90);
    --info-fg-80: var(--info-fg-dark-80);
    --info-fg-70: var(--info-fg-dark-70);
    --info-fg-60: var(--info-fg-dark-60);
    --info-fg-50: var(--info-fg-dark-50);
    --info-fg-40: var(--info-fg-dark-40);
    --info-fg-30: var(--info-fg-dark-30);
    --info-fg-20: var(--info-fg-dark-20);
    --info-fg-10: var(--info-fg-dark-10);
    --info-fg-0: var(--info-fg-dark-0)
}

@media (prefers-color-scheme: dark) {
    html {
        --info-fg: var(--info-fg-dark);
        --info-fg-100: var(--info-fg-dark-100);
        --info-fg-90: var(--info-fg-dark-90);
        --info-fg-80: var(--info-fg-dark-80);
        --info-fg-70: var(--info-fg-dark-70);
        --info-fg-60: var(--info-fg-dark-60);
        --info-fg-50: var(--info-fg-dark-50);
        --info-fg-40: var(--info-fg-dark-40);
        --info-fg-30: var(--info-fg-dark-30);
        --info-fg-20: var(--info-fg-dark-20);
        --info-fg-10: var(--info-fg-dark-10);
        --info-fg-0: var(--info-fg-dark-0)
    }
}

html {
    --accent-fg-dark: #000000;
    --accent-fg-dark-100: #000000;
    --accent-fg-dark-90: #1A1A1A;
    --accent-fg-dark-80: #333333;
    --accent-fg-dark-70: #4D4D4D;
    --accent-fg-dark-60: #666666;
    --accent-fg-dark-50: #808080;
    --accent-fg-dark-40: #999999;
    --accent-fg-dark-30: #B2B2B2;
    --accent-fg-dark-20: #CCCCCC;
    --accent-fg-dark-10: #E5E5E5;
    --accent-fg-dark-0: #FFFFFF
}

.theme-dark {
    --accent-fg: var(--accent-fg-dark);
    --accent-fg-100: var(--accent-fg-dark-100);
    --accent-fg-90: var(--accent-fg-dark-90);
    --accent-fg-80: var(--accent-fg-dark-80);
    --accent-fg-70: var(--accent-fg-dark-70);
    --accent-fg-60: var(--accent-fg-dark-60);
    --accent-fg-50: var(--accent-fg-dark-50);
    --accent-fg-40: var(--accent-fg-dark-40);
    --accent-fg-30: var(--accent-fg-dark-30);
    --accent-fg-20: var(--accent-fg-dark-20);
    --accent-fg-10: var(--accent-fg-dark-10);
    --accent-fg-0: var(--accent-fg-dark-0)
}

@media (prefers-color-scheme: dark) {
    html {
        --accent-fg: var(--accent-fg-dark);
        --accent-fg-100: var(--accent-fg-dark-100);
        --accent-fg-90: var(--accent-fg-dark-90);
        --accent-fg-80: var(--accent-fg-dark-80);
        --accent-fg-70: var(--accent-fg-dark-70);
        --accent-fg-60: var(--accent-fg-dark-60);
        --accent-fg-50: var(--accent-fg-dark-50);
        --accent-fg-40: var(--accent-fg-dark-40);
        --accent-fg-30: var(--accent-fg-dark-30);
        --accent-fg-20: var(--accent-fg-dark-20);
        --accent-fg-10: var(--accent-fg-dark-10);
        --accent-fg-0: var(--accent-fg-dark-0)
    }
}

html {
    --info-dark: #1D417C;
    --info-dark-100: #000000;
    --info-dark-90: #0A1629;
    --info-dark-80: #132B53;
    --info-dark-70: #1D417C;
    --info-dark-60: #2757A5;
    --info-dark-50: #306CCF;
    --info-dark-40: #5A8AD8;
    --info-dark-30: #83A7E2;
    --info-dark-20: #ACC4EC;
    --info-dark-10: #D6E2F5;
    --info-dark-0: #FFFFFF
}

.theme-dark {
    --info: var(--info-dark);
    --info-100: var(--info-dark-100);
    --info-90: var(--info-dark-90);
    --info-80: var(--info-dark-80);
    --info-70: var(--info-dark-70);
    --info-60: var(--info-dark-60);
    --info-50: var(--info-dark-50);
    --info-40: var(--info-dark-40);
    --info-30: var(--info-dark-30);
    --info-20: var(--info-dark-20);
    --info-10: var(--info-dark-10);
    --info-0: var(--info-dark-0)
}

@media (prefers-color-scheme: dark) {
    html {
        --info: var(--info-dark);
        --info-100: var(--info-dark-100);
        --info-90: var(--info-dark-90);
        --info-80: var(--info-dark-80);
        --info-70: var(--info-dark-70);
        --info-60: var(--info-dark-60);
        --info-50: var(--info-dark-50);
        --info-40: var(--info-dark-40);
        --info-30: var(--info-dark-30);
        --info-20: var(--info-dark-20);
        --info-10: var(--info-dark-10);
        --info-0: var(--info-dark-0)
    }
}

html {
    --primary-dark: #0076D6;
    --primary-dark-100: #000000;
    --primary-dark-90: #001C33;
    --primary-dark-80: #003866;
    --primary-dark-70: #005499;
    --primary-dark-60: #0070CC;
    --primary-dark-50: #008DFF;
    --primary-dark-40: #33A3FF;
    --primary-dark-30: #66BAFF;
    --primary-dark-20: #99D1FF;
    --primary-dark-10: #CCE8FF;
    --primary-dark-0: #FFFFFF
}

.theme-dark {
    --primary: var(--primary-dark);
    --primary-100: var(--primary-dark-100);
    --primary-90: var(--primary-dark-90);
    --primary-80: var(--primary-dark-80);
    --primary-70: var(--primary-dark-70);
    --primary-60: var(--primary-dark-60);
    --primary-50: var(--primary-dark-50);
    --primary-40: var(--primary-dark-40);
    --primary-30: var(--primary-dark-30);
    --primary-20: var(--primary-dark-20);
    --primary-10: var(--primary-dark-10);
    --primary-0: var(--primary-dark-0)
}

@media (prefers-color-scheme: dark) {
    html {
        --primary: var(--primary-dark);
        --primary-100: var(--primary-dark-100);
        --primary-90: var(--primary-dark-90);
        --primary-80: var(--primary-dark-80);
        --primary-70: var(--primary-dark-70);
        --primary-60: var(--primary-dark-60);
        --primary-50: var(--primary-dark-50);
        --primary-40: var(--primary-dark-40);
        --primary-30: var(--primary-dark-30);
        --primary-20: var(--primary-dark-20);
        --primary-10: var(--primary-dark-10);
        --primary-0: var(--primary-dark-0)
    }
}

html {
    --positive-dark: #31D850;
    --positive-dark-100: #000000;
    --positive-dark-90: #082B0F;
    --positive-dark-80: #10561D;
    --positive-dark-70: #18812C;
    --positive-dark-60: #20AC3A;
    --positive-dark-50: #29D649;
    --positive-dark-40: #53DF6D;
    --positive-dark-30: #7EE792;
    --positive-dark-20: #A9EFB6;
    --positive-dark-10: #D4F7DB;
    --positive-dark-0: #FFFFFF
}

.theme-dark {
    --positive: var(--positive-dark);
    --positive-100: var(--positive-dark-100);
    --positive-90: var(--positive-dark-90);
    --positive-80: var(--positive-dark-80);
    --positive-70: var(--positive-dark-70);
    --positive-60: var(--positive-dark-60);
    --positive-50: var(--positive-dark-50);
    --positive-40: var(--positive-dark-40);
    --positive-30: var(--positive-dark-30);
    --positive-20: var(--positive-dark-20);
    --positive-10: var(--positive-dark-10);
    --positive-0: var(--positive-dark-0)
}

@media (prefers-color-scheme: dark) {
    html {
        --positive: var(--positive-dark);
        --positive-100: var(--positive-dark-100);
        --positive-90: var(--positive-dark-90);
        --positive-80: var(--positive-dark-80);
        --positive-70: var(--positive-dark-70);
        --positive-60: var(--positive-dark-60);
        --positive-50: var(--positive-dark-50);
        --positive-40: var(--positive-dark-40);
        --positive-30: var(--positive-dark-30);
        --positive-20: var(--positive-dark-20);
        --positive-10: var(--positive-dark-10);
        --positive-0: var(--positive-dark-0)
    }
}

html {
    --primary-fg-dark: #FFFFFF;
    --primary-fg-dark-100: #000000;
    --primary-fg-dark-90: #1A1A1A;
    --primary-fg-dark-80: #333333;
    --primary-fg-dark-70: #4D4D4D;
    --primary-fg-dark-60: #666666;
    --primary-fg-dark-50: #808080;
    --primary-fg-dark-40: #999999;
    --primary-fg-dark-30: #B2B2B2;
    --primary-fg-dark-20: #CCCCCC;
    --primary-fg-dark-10: #E5E5E5;
    --primary-fg-dark-0: #FFFFFF
}

.theme-dark {
    --primary-fg: var(--primary-fg-dark);
    --primary-fg-100: var(--primary-fg-dark-100);
    --primary-fg-90: var(--primary-fg-dark-90);
    --primary-fg-80: var(--primary-fg-dark-80);
    --primary-fg-70: var(--primary-fg-dark-70);
    --primary-fg-60: var(--primary-fg-dark-60);
    --primary-fg-50: var(--primary-fg-dark-50);
    --primary-fg-40: var(--primary-fg-dark-40);
    --primary-fg-30: var(--primary-fg-dark-30);
    --primary-fg-20: var(--primary-fg-dark-20);
    --primary-fg-10: var(--primary-fg-dark-10);
    --primary-fg-0: var(--primary-fg-dark-0)
}

@media (prefers-color-scheme: dark) {
    html {
        --primary-fg: var(--primary-fg-dark);
        --primary-fg-100: var(--primary-fg-dark-100);
        --primary-fg-90: var(--primary-fg-dark-90);
        --primary-fg-80: var(--primary-fg-dark-80);
        --primary-fg-70: var(--primary-fg-dark-70);
        --primary-fg-60: var(--primary-fg-dark-60);
        --primary-fg-50: var(--primary-fg-dark-50);
        --primary-fg-40: var(--primary-fg-dark-40);
        --primary-fg-30: var(--primary-fg-dark-30);
        --primary-fg-20: var(--primary-fg-dark-20);
        --primary-fg-10: var(--primary-fg-dark-10);
        --primary-fg-0: var(--primary-fg-dark-0)
    }
}

html {
    --secondary-dark: #66ABFA;
    --secondary-dark-100: #000000;
    --secondary-dark-90: #021831;
    --secondary-dark-80: #033063;
    --secondary-dark-70: #054894;
    --secondary-dark-60: #0660C6;
    --secondary-dark-50: #0877F7;
    --secondary-dark-40: #3993F9;
    --secondary-dark-30: #6BAEFA;
    --secondary-dark-20: #9CC9FC;
    --secondary-dark-10: #CEE4FD;
    --secondary-dark-0: #FFFFFF
}

.theme-dark {
    --secondary: var(--secondary-dark);
    --secondary-100: var(--secondary-dark-100);
    --secondary-90: var(--secondary-dark-90);
    --secondary-80: var(--secondary-dark-80);
    --secondary-70: var(--secondary-dark-70);
    --secondary-60: var(--secondary-dark-60);
    --secondary-50: var(--secondary-dark-50);
    --secondary-40: var(--secondary-dark-40);
    --secondary-30: var(--secondary-dark-30);
    --secondary-20: var(--secondary-dark-20);
    --secondary-10: var(--secondary-dark-10);
    --secondary-0: var(--secondary-dark-0)
}

@media (prefers-color-scheme: dark) {
    html {
        --secondary: var(--secondary-dark);
        --secondary-100: var(--secondary-dark-100);
        --secondary-90: var(--secondary-dark-90);
        --secondary-80: var(--secondary-dark-80);
        --secondary-70: var(--secondary-dark-70);
        --secondary-60: var(--secondary-dark-60);
        --secondary-50: var(--secondary-dark-50);
        --secondary-40: var(--secondary-dark-40);
        --secondary-30: var(--secondary-dark-30);
        --secondary-20: var(--secondary-dark-20);
        --secondary-10: var(--secondary-dark-10);
        --secondary-0: var(--secondary-dark-0)
    }
}

html {
    --bg-dark: #121212;
    --bg-dark-100: #000000;
    --bg-dark-90: #1A1A1A;
    --bg-dark-80: #333333;
    --bg-dark-70: #4D4D4D;
    --bg-dark-60: #666666;
    --bg-dark-50: #808080;
    --bg-dark-40: #999999;
    --bg-dark-30: #B2B2B2;
    --bg-dark-20: #CCCCCC;
    --bg-dark-10: #E5E5E5;
    --bg-dark-0: #FFFFFF
}

.theme-dark {
    --bg: var(--bg-dark);
    --bg-100: var(--bg-dark-100);
    --bg-90: var(--bg-dark-90);
    --bg-80: var(--bg-dark-80);
    --bg-70: var(--bg-dark-70);
    --bg-60: var(--bg-dark-60);
    --bg-50: var(--bg-dark-50);
    --bg-40: var(--bg-dark-40);
    --bg-30: var(--bg-dark-30);
    --bg-20: var(--bg-dark-20);
    --bg-10: var(--bg-dark-10);
    --bg-0: var(--bg-dark-0)
}

@media (prefers-color-scheme: dark) {
    html {
        --bg: var(--bg-dark);
        --bg-100: var(--bg-dark-100);
        --bg-90: var(--bg-dark-90);
        --bg-80: var(--bg-dark-80);
        --bg-70: var(--bg-dark-70);
        --bg-60: var(--bg-dark-60);
        --bg-50: var(--bg-dark-50);
        --bg-40: var(--bg-dark-40);
        --bg-30: var(--bg-dark-30);
        --bg-20: var(--bg-dark-20);
        --bg-10: var(--bg-dark-10);
        --bg-0: var(--bg-dark-0)
    }
}

html {
    --warning-fg-dark: #000000;
    --warning-fg-dark-100: #000000;
    --warning-fg-dark-90: #1A1A1A;
    --warning-fg-dark-80: #333333;
    --warning-fg-dark-70: #4D4D4D;
    --warning-fg-dark-60: #666666;
    --warning-fg-dark-50: #808080;
    --warning-fg-dark-40: #999999;
    --warning-fg-dark-30: #B2B2B2;
    --warning-fg-dark-20: #CCCCCC;
    --warning-fg-dark-10: #E5E5E5;
    --warning-fg-dark-0: #FFFFFF
}

.theme-dark {
    --warning-fg: var(--warning-fg-dark);
    --warning-fg-100: var(--warning-fg-dark-100);
    --warning-fg-90: var(--warning-fg-dark-90);
    --warning-fg-80: var(--warning-fg-dark-80);
    --warning-fg-70: var(--warning-fg-dark-70);
    --warning-fg-60: var(--warning-fg-dark-60);
    --warning-fg-50: var(--warning-fg-dark-50);
    --warning-fg-40: var(--warning-fg-dark-40);
    --warning-fg-30: var(--warning-fg-dark-30);
    --warning-fg-20: var(--warning-fg-dark-20);
    --warning-fg-10: var(--warning-fg-dark-10);
    --warning-fg-0: var(--warning-fg-dark-0)
}

@media (prefers-color-scheme: dark) {
    html {
        --warning-fg: var(--warning-fg-dark);
        --warning-fg-100: var(--warning-fg-dark-100);
        --warning-fg-90: var(--warning-fg-dark-90);
        --warning-fg-80: var(--warning-fg-dark-80);
        --warning-fg-70: var(--warning-fg-dark-70);
        --warning-fg-60: var(--warning-fg-dark-60);
        --warning-fg-50: var(--warning-fg-dark-50);
        --warning-fg-40: var(--warning-fg-dark-40);
        --warning-fg-30: var(--warning-fg-dark-30);
        --warning-fg-20: var(--warning-fg-dark-20);
        --warning-fg-10: var(--warning-fg-dark-10);
        --warning-fg-0: var(--warning-fg-dark-0)
    }
}

html {
    --text-dark: #FFFFFF;
    --text-dark-100: #000000;
    --text-dark-90: #1A1A1A;
    --text-dark-80: #333333;
    --text-dark-70: #4D4D4D;
    --text-dark-60: #666666;
    --text-dark-50: #808080;
    --text-dark-40: #999999;
    --text-dark-30: #B2B2B2;
    --text-dark-20: #CCCCCC;
    --text-dark-10: #E5E5E5;
    --text-dark-0: #FFFFFF
}

.theme-dark {
    --text: var(--text-dark);
    --text-100: var(--text-dark-100);
    --text-90: var(--text-dark-90);
    --text-80: var(--text-dark-80);
    --text-70: var(--text-dark-70);
    --text-60: var(--text-dark-60);
    --text-50: var(--text-dark-50);
    --text-40: var(--text-dark-40);
    --text-30: var(--text-dark-30);
    --text-20: var(--text-dark-20);
    --text-10: var(--text-dark-10);
    --text-0: var(--text-dark-0)
}

@media (prefers-color-scheme: dark) {
    html {
        --text: var(--text-dark);
        --text-100: var(--text-dark-100);
        --text-90: var(--text-dark-90);
        --text-80: var(--text-dark-80);
        --text-70: var(--text-dark-70);
        --text-60: var(--text-dark-60);
        --text-50: var(--text-dark-50);
        --text-40: var(--text-dark-40);
        --text-30: var(--text-dark-30);
        --text-20: var(--text-dark-20);
        --text-10: var(--text-dark-10);
        --text-0: var(--text-dark-0)
    }
}

html {
    --warning-dark: #DDA313;
    --warning-dark-100: #000000;
    --warning-dark-90: #2F2304;
    --warning-dark-80: #5E4508;
    --warning-dark-70: #8D680C;
    --warning-dark-60: #BC8B10;
    --warning-dark-50: #EBAD14;
    --warning-dark-40: #EFBE43;
    --warning-dark-30: #F3CE72;
    --warning-dark-20: #F7DEA1;
    --warning-dark-10: #FBEFD0;
    --warning-dark-0: #FFFFFF
}

.theme-dark {
    --warning: var(--warning-dark);
    --warning-100: var(--warning-dark-100);
    --warning-90: var(--warning-dark-90);
    --warning-80: var(--warning-dark-80);
    --warning-70: var(--warning-dark-70);
    --warning-60: var(--warning-dark-60);
    --warning-50: var(--warning-dark-50);
    --warning-40: var(--warning-dark-40);
    --warning-30: var(--warning-dark-30);
    --warning-20: var(--warning-dark-20);
    --warning-10: var(--warning-dark-10);
    --warning-0: var(--warning-dark-0)
}

@media (prefers-color-scheme: dark) {
    html {
        --warning: var(--warning-dark);
        --warning-100: var(--warning-dark-100);
        --warning-90: var(--warning-dark-90);
        --warning-80: var(--warning-dark-80);
        --warning-70: var(--warning-dark-70);
        --warning-60: var(--warning-dark-60);
        --warning-50: var(--warning-dark-50);
        --warning-40: var(--warning-dark-40);
        --warning-30: var(--warning-dark-30);
        --warning-20: var(--warning-dark-20);
        --warning-10: var(--warning-dark-10);
        --warning-0: var(--warning-dark-0)
    }
}

html {
    --accent-dark: #8633E6;
    --accent-dark-100: #000000;
    --accent-dark-90: #18062D;
    --accent-dark-80: #300B5B;
    --accent-dark-70: #481188;
    --accent-dark-60: #6016B6;
    --accent-dark-50: #781CE3;
    --accent-dark-40: #9349E9;
    --accent-dark-30: #AE77EE;
    --accent-dark-20: #C9A4F4;
    --accent-dark-10: #E4D2F9;
    --accent-dark-0: #FFFFFF
}

.theme-dark {
    --accent: var(--accent-dark);
    --accent-100: var(--accent-dark-100);
    --accent-90: var(--accent-dark-90);
    --accent-80: var(--accent-dark-80);
    --accent-70: var(--accent-dark-70);
    --accent-60: var(--accent-dark-60);
    --accent-50: var(--accent-dark-50);
    --accent-40: var(--accent-dark-40);
    --accent-30: var(--accent-dark-30);
    --accent-20: var(--accent-dark-20);
    --accent-10: var(--accent-dark-10);
    --accent-0: var(--accent-dark-0)
}

@media (prefers-color-scheme: dark) {
    html {
        --accent: var(--accent-dark);
        --accent-100: var(--accent-dark-100);
        --accent-90: var(--accent-dark-90);
        --accent-80: var(--accent-dark-80);
        --accent-70: var(--accent-dark-70);
        --accent-60: var(--accent-dark-60);
        --accent-50: var(--accent-dark-50);
        --accent-40: var(--accent-dark-40);
        --accent-30: var(--accent-dark-30);
        --accent-20: var(--accent-dark-20);
        --accent-10: var(--accent-dark-10);
        --accent-0: var(--accent-dark-0)
    }
}

html {
    --fg-dark: #FFFFFF;
    --fg-dark-100: #000000;
    --fg-dark-90: #1A1A1A;
    --fg-dark-80: #333333;
    --fg-dark-70: #4D4D4D;
    --fg-dark-60: #666666;
    --fg-dark-50: #808080;
    --fg-dark-40: #999999;
    --fg-dark-30: #B2B2B2;
    --fg-dark-20: #CCCCCC;
    --fg-dark-10: #E5E5E5;
    --fg-dark-0: #FFFFFF
}

.theme-dark {
    --fg: var(--fg-dark);
    --fg-100: var(--fg-dark-100);
    --fg-90: var(--fg-dark-90);
    --fg-80: var(--fg-dark-80);
    --fg-70: var(--fg-dark-70);
    --fg-60: var(--fg-dark-60);
    --fg-50: var(--fg-dark-50);
    --fg-40: var(--fg-dark-40);
    --fg-30: var(--fg-dark-30);
    --fg-20: var(--fg-dark-20);
    --fg-10: var(--fg-dark-10);
    --fg-0: var(--fg-dark-0)
}

@media (prefers-color-scheme: dark) {
    html {
        --fg: var(--fg-dark);
        --fg-100: var(--fg-dark-100);
        --fg-90: var(--fg-dark-90);
        --fg-80: var(--fg-dark-80);
        --fg-70: var(--fg-dark-70);
        --fg-60: var(--fg-dark-60);
        --fg-50: var(--fg-dark-50);
        --fg-40: var(--fg-dark-40);
        --fg-30: var(--fg-dark-30);
        --fg-20: var(--fg-dark-20);
        --fg-10: var(--fg-dark-10);
        --fg-0: var(--fg-dark-0)
    }
}

html {
    --positive-fg-dark: #000000;
    --positive-fg-dark-100: #000000;
    --positive-fg-dark-90: #1A1A1A;
    --positive-fg-dark-80: #333333;
    --positive-fg-dark-70: #4D4D4D;
    --positive-fg-dark-60: #666666;
    --positive-fg-dark-50: #808080;
    --positive-fg-dark-40: #999999;
    --positive-fg-dark-30: #B2B2B2;
    --positive-fg-dark-20: #CCCCCC;
    --positive-fg-dark-10: #E5E5E5;
    --positive-fg-dark-0: #FFFFFF
}

.theme-dark {
    --positive-fg: var(--positive-fg-dark);
    --positive-fg-100: var(--positive-fg-dark-100);
    --positive-fg-90: var(--positive-fg-dark-90);
    --positive-fg-80: var(--positive-fg-dark-80);
    --positive-fg-70: var(--positive-fg-dark-70);
    --positive-fg-60: var(--positive-fg-dark-60);
    --positive-fg-50: var(--positive-fg-dark-50);
    --positive-fg-40: var(--positive-fg-dark-40);
    --positive-fg-30: var(--positive-fg-dark-30);
    --positive-fg-20: var(--positive-fg-dark-20);
    --positive-fg-10: var(--positive-fg-dark-10);
    --positive-fg-0: var(--positive-fg-dark-0)
}

@media (prefers-color-scheme: dark) {
    html {
        --positive-fg: var(--positive-fg-dark);
        --positive-fg-100: var(--positive-fg-dark-100);
        --positive-fg-90: var(--positive-fg-dark-90);
        --positive-fg-80: var(--positive-fg-dark-80);
        --positive-fg-70: var(--positive-fg-dark-70);
        --positive-fg-60: var(--positive-fg-dark-60);
        --positive-fg-50: var(--positive-fg-dark-50);
        --positive-fg-40: var(--positive-fg-dark-40);
        --positive-fg-30: var(--positive-fg-dark-30);
        --positive-fg-20: var(--positive-fg-dark-20);
        --positive-fg-10: var(--positive-fg-dark-10);
        --positive-fg-0: var(--positive-fg-dark-0)
    }
}

html {
    --negative-dark: #E71D1D;
    --negative-dark-100: #000000;
    --negative-dark-90: #2E0505;
    --negative-dark-80: #5C0A0A;
    --negative-dark-70: #8A0F0F;
    --negative-dark-60: #B81414;
    --negative-dark-50: #E71818;
    --negative-dark-40: #EB4747;
    --negative-dark-30: #F07575;
    --negative-dark-20: #F5A3A3;
    --negative-dark-10: #FAD1D1;
    --negative-dark-0: #FFFFFF
}

.theme-dark {
    --negative: var(--negative-dark);
    --negative-100: var(--negative-dark-100);
    --negative-90: var(--negative-dark-90);
    --negative-80: var(--negative-dark-80);
    --negative-70: var(--negative-dark-70);
    --negative-60: var(--negative-dark-60);
    --negative-50: var(--negative-dark-50);
    --negative-40: var(--negative-dark-40);
    --negative-30: var(--negative-dark-30);
    --negative-20: var(--negative-dark-20);
    --negative-10: var(--negative-dark-10);
    --negative-0: var(--negative-dark-0)
}

@media (prefers-color-scheme: dark) {
    html {
        --negative: var(--negative-dark);
        --negative-100: var(--negative-dark-100);
        --negative-90: var(--negative-dark-90);
        --negative-80: var(--negative-dark-80);
        --negative-70: var(--negative-dark-70);
        --negative-60: var(--negative-dark-60);
        --negative-50: var(--negative-dark-50);
        --negative-40: var(--negative-dark-40);
        --negative-30: var(--negative-dark-30);
        --negative-20: var(--negative-dark-20);
        --negative-10: var(--negative-dark-10);
        --negative-0: var(--negative-dark-0)
    }
}

html {
    --secondary-fg-dark: #000000;
    --secondary-fg-dark-100: #000000;
    --secondary-fg-dark-90: #1A1A1A;
    --secondary-fg-dark-80: #333333;
    --secondary-fg-dark-70: #4D4D4D;
    --secondary-fg-dark-60: #666666;
    --secondary-fg-dark-50: #808080;
    --secondary-fg-dark-40: #999999;
    --secondary-fg-dark-30: #B2B2B2;
    --secondary-fg-dark-20: #CCCCCC;
    --secondary-fg-dark-10: #E5E5E5;
    --secondary-fg-dark-0: #FFFFFF
}

.theme-dark {
    --secondary-fg: var(--secondary-fg-dark);
    --secondary-fg-100: var(--secondary-fg-dark-100);
    --secondary-fg-90: var(--secondary-fg-dark-90);
    --secondary-fg-80: var(--secondary-fg-dark-80);
    --secondary-fg-70: var(--secondary-fg-dark-70);
    --secondary-fg-60: var(--secondary-fg-dark-60);
    --secondary-fg-50: var(--secondary-fg-dark-50);
    --secondary-fg-40: var(--secondary-fg-dark-40);
    --secondary-fg-30: var(--secondary-fg-dark-30);
    --secondary-fg-20: var(--secondary-fg-dark-20);
    --secondary-fg-10: var(--secondary-fg-dark-10);
    --secondary-fg-0: var(--secondary-fg-dark-0)
}

@media (prefers-color-scheme: dark) {
    html {
        --secondary-fg: var(--secondary-fg-dark);
        --secondary-fg-100: var(--secondary-fg-dark-100);
        --secondary-fg-90: var(--secondary-fg-dark-90);
        --secondary-fg-80: var(--secondary-fg-dark-80);
        --secondary-fg-70: var(--secondary-fg-dark-70);
        --secondary-fg-60: var(--secondary-fg-dark-60);
        --secondary-fg-50: var(--secondary-fg-dark-50);
        --secondary-fg-40: var(--secondary-fg-dark-40);
        --secondary-fg-30: var(--secondary-fg-dark-30);
        --secondary-fg-20: var(--secondary-fg-dark-20);
        --secondary-fg-10: var(--secondary-fg-dark-10);
        --secondary-fg-0: var(--secondary-fg-dark-0)
    }
}

html {
    --negative-fg-dark: #000000;
    --negative-fg-dark-100: #000000;
    --negative-fg-dark-90: #1A1A1A;
    --negative-fg-dark-80: #333333;
    --negative-fg-dark-70: #4D4D4D;
    --negative-fg-dark-60: #666666;
    --negative-fg-dark-50: #808080;
    --negative-fg-dark-40: #999999;
    --negative-fg-dark-30: #B2B2B2;
    --negative-fg-dark-20: #CCCCCC;
    --negative-fg-dark-10: #E5E5E5;
    --negative-fg-dark-0: #FFFFFF
}

.theme-dark {
    --negative-fg: var(--negative-fg-dark);
    --negative-fg-100: var(--negative-fg-dark-100);
    --negative-fg-90: var(--negative-fg-dark-90);
    --negative-fg-80: var(--negative-fg-dark-80);
    --negative-fg-70: var(--negative-fg-dark-70);
    --negative-fg-60: var(--negative-fg-dark-60);
    --negative-fg-50: var(--negative-fg-dark-50);
    --negative-fg-40: var(--negative-fg-dark-40);
    --negative-fg-30: var(--negative-fg-dark-30);
    --negative-fg-20: var(--negative-fg-dark-20);
    --negative-fg-10: var(--negative-fg-dark-10);
    --negative-fg-0: var(--negative-fg-dark-0)
}

@media (prefers-color-scheme: dark) {
    html {
        --negative-fg: var(--negative-fg-dark);
        --negative-fg-100: var(--negative-fg-dark-100);
        --negative-fg-90: var(--negative-fg-dark-90);
        --negative-fg-80: var(--negative-fg-dark-80);
        --negative-fg-70: var(--negative-fg-dark-70);
        --negative-fg-60: var(--negative-fg-dark-60);
        --negative-fg-50: var(--negative-fg-dark-50);
        --negative-fg-40: var(--negative-fg-dark-40);
        --negative-fg-30: var(--negative-fg-dark-30);
        --negative-fg-20: var(--negative-fg-dark-20);
        --negative-fg-10: var(--negative-fg-dark-10);
        --negative-fg-0: var(--negative-fg-dark-0)
    }
}

:root {
    --font-family-sans: 'Noto Sans', sans-serif;
    --font-family-serif: 'Noto Serif', serif;
    --font-family-mono: 'Fira Code', monospace;
    --font-weight-normal: 400;
    --font-weight-bold: 700;
    --font-family: var(--font-family-sans), var(--font-family-serif), var(--font-family-mono);
    --muted-transparency: 0.75
}

.text-normal,
body {
    font-family: var(--font-family);
    font-weight: var(--font-weight-normal)
}

.text-h1,
.text-h2,
.text-h3,
.text-h4,
.text-h5,
.text-h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-family);
    font-weight: var(--font-weight-bold)
}

.text-normal,
html {
    color: var(--text, #000000);
    font-size: 100%
}

.text-h1,
h1 {
    font-size: 3.053em
}

.text-h2,
h2 {
    font-size: 2.442em
}

.text-h3,
h3 {
    font-size: 1.954em
}

.text-h4,
.text-large,
h4 {
    font-size: 1.563em
}

.text-h5,
h5 {
    font-size: 1.250em
}

.text-h6,
h6 {
    font-size: 1.000em
}

.text-small,
small {
    font-size: 0.800em
}

.text-mono,
code,
pre {
    font-family: var(--font-family-mono)
}

.text-wrap {
    overflow-wrap: break-word;
    word-break: break-word;
    word-wrap: break-word
}

.text-serif {
    font-family: var(--font-family-serif)
}

.text-sans {
    font-family: var(--font-family-sans)
}

.text-bold {
    font-weight: var(--font-weight-bold)
}

.text-italic {
    font-style: italic
}

.text-primary {
    color: var(--primary)
}

.text-secondary {
    color: var(--secondary)
}

.text-accent {
    color: var(--accent)
}

.text-info {
    color: var(--info)
}

.text-positive {
    color: var(--positive)
}

.text-warning {
    color: var(--warning)
}

.text-negative {
    color: var(--negative)
}

.text-bg {
    color: var(--bg)
}

.text-fg {
    color: var(--fg)
}

.link {
    color: var(--primary);
    text-decoration: none;
    cursor: pointer
}

.link.link-uncolored {
    color: inherit
}

.link:focus,
.link:hover {
    text-decoration: underline
}

.link:not(.link-uncolored):active,
.link:not(.link-uncolored):visited {
    color: var(--primary-30)
}

.text-muted {
    opacity: var(--muted-transparency)
}

.modal-wrapper {
    z-index: 9999;
    margin: 0;
    padding: 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
    background-color: transparent;
    backdrop-filter: blur(1px) brightness(0.75);
    display: flex;
    justify-content: center;
    align-items: center
}

.modal {
    --modal-bg: var(--bg);
    --modal-text: var(--text);
    --modal-border: var(--border);
    --heading-color: var(--text);
    max-height: 90%;
    width: clamp(300px, 600px, var(--target-width));
    background-color: var(--modal-bg);
    color: var(--modal-text);
    border-radius: 1em;
    padding: 1em;
    display: grid;
    grid-template-areas: "controls" "header" "body" "footer";
    grid-template-rows: auto 1fr auto;
    word-break: break-all;
    border: 1px solid var(--modal-border)
}

.modal-controls {
    grid-area: controls;
    display: flex;
    justify-content: flex-end;
    gap: 0.5em
}

.modal-header {
    grid-area: header;
    font-size: 1.2em;
    margin-bottom: 1em
}

.modal-body {
    grid-area: body;
    overflow-y: auto
}

.modal-footer {
    grid-area: footer;
    border-top: 1px solid var(--modal-border);
    margin-top: 1em;
    padding-top: 1em
}

.modal.modal-primary {
    --modal-bg: var(--primary-90);
    --modal-text: var(--primary-10);
    --modal-border: var(--primary);
    --heading-color: var(--primary)
}

.modal.modal-secondary {
    --modal-bg: var(--secondary-90);
    --modal-text: var(--secondary-10);
    --modal-border: var(--secondary);
    --heading-color: var(--secondary)
}

.modal.modal-accent {
    --modal-bg: var(--accent-90);
    --modal-text: var(--accent-10);
    --modal-border: var(--accent);
    --heading-color: var(--accent)
}

.modal.modal-negative {
    --modal-bg: var(--negative-90);
    --modal-text: var(--negative-10);
    --modal-border: var(--negative);
    --heading-color: var(--negative)
}

.modal.modal-positive {
    --modal-bg: var(--positive-90);
    --modal-text: var(--positive-10);
    --modal-border: var(--positive);
    --heading-color: var(--positive)
}

.modal.modal-info {
    --modal-bg: var(--info-90);
    --modal-text: var(--info-10);
    --modal-border: var(--info);
    --heading-color: var(--info)
}

.modal.modal-warning {
    --modal-bg: var(--warning-90);
    --modal-text: var(--warning-10);
    --modal-border: var(--warning);
    --heading-color: var(--warning)
}

.modal.modal-bg {
    --modal-bg: var(--bg);
    --modal-text: var(--text);
    --modal-border: var(--border);
    --heading-color: var(--modal-text)
}

.modal.modal-fg {
    --modal-bg: var(--fg);
    --modal-text: var(--bg);
    --modal-border: var(--bg);
    --heading-color: var(--modal-text)
}

.breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em;
    padding: 0.5em;
    list-style: none
}

.breadcrumbs.breadcrumbs-transparent .breadcrumb:not(:first-child):not(:last-child) {
    opacity: var(--muted-transparency, 0.75)
}

.breadcrumb {
    text-align: center
}

.breadcrumb:not(:last-child)::after {
    content: " / ";
    opacity: 0.5
}

.blockquote,
blockquote {
    padding: 1em;
    border: none;
    --blockquote-border: var(--primary);
    border-left: 0.5em solid var(--blockquote-border);
    margin-left: initial;
    margin-right: initial
}

.blockquote-text,
blockquote p:first-child {
    display: block;
    margin-bottom: 1em
}

.blockquote-footer,
blockquote footer {
    font-size: 0.9em;
    text-align: right
}

.blockquote-cite,
blockquote cite {
    font-size: 0.8em;
    text-align: right;
    display: block
}

.blockquote-secondary {
    --blockquote-border: var(--secondary)
}

.blockquote-accent {
    --blockquote-border: var(--accent)
}

.blockquote-info {
    --blockquote-border: var(--info)
}

.blockquote-positive {
    --blockquote-border: var(--positive)
}

.blockquote-warning {
    --blockquote-border: var(--warning)
}

.blockquote-negative {
    --blockquote-border: var(--negative)
}

.toast {
    background-color: var(--bg);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 0.5em;
    box-shadow: rgba(0, 0, 0, 0.025) 0 6px 24px 0px, rgba(0, 0, 0, 0.028) 0 0 0 1px;
    padding: 1em;
    margin: 0.5em;
    display: grid;
    grid-template-areas: "icon content actions";
    grid-template-columns: auto 1fr auto;
    align-items: center;
    font-size: 0.9em;
    position: fixed;
    top: 1em;
    left: 50%;
    transform: translateX(-50%);
    word-break: break-word;
    z-index: 99999
}

.toast:has(.toast-icon) {
    padding-left: 1.5em
}

.toast-icon {
    --icon-fg: var(--text-10);
    --icon-bg: var(--bg-90);
    grid-area: icon;
    font-size: 1.5em;
    color: var(--icon-fg);
    position: relative;
    margin-right: 1em;
    z-index: 1
}

.toast-icon::after {
    content: "";
    position: absolute;
    width: 2em;
    height: 2em;
    border-radius: 50%;
    background-color: var(--icon-bg);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1
}

.toast-icon.toast-primary {
    --icon-fg: var(--primary);
    --icon-bg: var(--primary-90)
}

.toast-icon.toast-secondary {
    --icon-fg: var(--secondary);
    --icon-bg: var(--secondary-90)
}

.toast-icon.toast-accent {
    --icon-fg: var(--accent);
    --icon-bg: var(--accent-90)
}

.toast-icon.toast-negative {
    --icon-fg: var(--negative);
    --icon-bg: var(--negative-90)
}

.toast-icon.toast-positive {
    --icon-fg: var(--positive);
    --icon-bg: var(--positive-90)
}

.toast-icon.toast-info {
    --icon-fg: var(--info);
    --icon-bg: var(--info-90)
}

.toast-icon.toast-warning {
    --icon-fg: var(--warning);
    --icon-bg: var(--warning-90)
}