@font-face {
    font-family: Inter;
    font-style: normal;
    font-weight: 100 900;
    src: url('../fonts/InterVariable.woff2') format('woff2');
}
@font-face {
    font-family: 'JetBrains Mono';
    src: url('../fonts/JetBrainsMono-Regular.woff2') format('woff2');
}
* {
    margin: 0;
    padding: 0;
}
html {
    scroll-behavior: smooth;
}
body {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    min-height: 100vh;
    background: #10121A;
    color: #fff;
    font-family: 'Inter', sans-serif;
    overscroll-behavior-x: none;
    text-wrap: pretty;
}
a {
    text-decoration: none;
}
main, footer .content {
    width: 820px;
    max-width: min(calc(100vw - 40px), 820px);
}
main {
    display: flex;
    flex-direction: column;
    padding: 20px 20px;
}
main p {
    color: #8295aa;
    font-size: 1em;
    line-height: calc(1ex / 0.32);
}
main a {
    color: #00AB72;
}
main code {
    color: #7aa2cd;
}
.header {
    display: flex;
    gap: 20px;
    align-items: center;
}
.header h1 {
    font-family: 'JetBrains Mono';
    font-weight: 600;
    font-size: 32px;
    color: #af87ff;
}
.header .links {
    display: flex;
    justify-content: flex-end;
    gap: 20px;
    flex-grow: 1;
    font-size: 16px;
}
.header .links a {
    color: #A7B2F1;
}
.header .links a:hover {
    color: #F397FF;
}
footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    width: 100%;
    padding: 40px 0px;
    font-size: 13px;
    color: #454c54;
    border-top: 1px solid #25292e;
    background: #0E1017;
}
footer a {
    color: #454c54;
    transition: color 0.5s ease;
}
footer a:hover {
    color: #fff;
}
footer .content {
    display: flex;
    flex-direction: column;
    gap: 20px;
    pad: 0 20px;
    width: 820px;
}
footer .made-by {
    display: flex;
    align-items: center;
    gap: 5px;
}
footer .made-by #logo-bg, footer .made-by #logo-fg {
    transition: fill 0.5s ease;
}
footer .made-by:hover #logo-bg {
    fill: #41508C;
}
footer .made-by:hover #logo-fg {
    fill: #E7A95D;
}
footer .links {
    display: flex;
    gap: 20px;
}
.apex-box {
    border: 10px solid #34213F;
    border-radius: 10px;
    width: 300px;
    display: flex;
}
.apex-box .inner {
    border: 1px solid #B579DC;
    border-radius: 5px;
    flex-grow: 1;
    background: #000;
    display: flex;
    flex-direction: column;
}
.apex-box .row {
    display: flex;
    gap: 20px;
    padding: 10px;
}
.apex-box .row:not(:last-child) {
    border-bottom: 1px solid #B579DC;
}
.apex-box .vstack {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.apex-box .label {
    font-size: 10px;
    color: #FE4873;
    user-select: none;
}
.apex-box .segment, .apex-box .segment-group {
    border-radius: 3px;
    display: flex;
    align-items: center;
    height: 28px;
    color: #70476D;
    user-select: none;
    gap: 10px;
}
.apex-box .segment-group {
    border: 1px solid #663D60;
    padding: 0;
    margin: 0;
}
.apex-box .segment-group .segment-active {
    margin-inline: -1px;
}
.apex-box .segment {
    flex-grow: 1;
    justify-content: center;
    padding: 0px 10px;
    transition: color 0.5s ease;
}
.apex-box .segment-active {
    border: 1px solid #FF98F1;
    color: #F99582;
}
.apex-box .segment-active svg {
    color: #FF98F1;
}
.apex-box .primary-button {
    user-select: none;
    flex-grow: 1;
    background: none;
    color: #fff;
    border: 1px solid #F99582;
    border-radius: 5px;
    height: 40px;
    outline: none;
    font-size: 16px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    transition: background 1.5s ease;
}
.apex-box .primary-button:hover {
    background: #220b03;
    transition-duration: 0s;
}
.splash {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    padding: 30px 0 30px 0;
}
.splash .main-title-image {
    width: 100%;
    max-width: 558px;
}
.splash h2 {
    font-size: 40px;
    font-weight: 100;
}
.splash h2 .emph {
    font-weight: 500;
}
.splash .preview-video {
    max-width: 100%;
    border-radius: 10px;
}
.download-box .release {
    display: flex;
    justify-content: center;
    font-size: 13px;
}
.download-box .release p {
    color: #666;
}
.download-box .release a {
    opacity: 0.7;
    color: #E5BB95;
}
.download-box .release a:hover {
    opacity: 1.0;
}
.home-section {
    border-top: 1px solid #333;
    padding-block: 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.home-section h2 {
    font-size: 24px;
    font-weight: 600;
}
.home-section h3 {
    font-size: 20px;
    font-weight: 400;
}
.home-section h3:not(:first-of-type) {
    padding-top: 40px;
}
.home-section h3, .home-section .section-heading {
    color: #fff;
}
.home-section .text-arrow {
    color: #017EF7;
}
.home-section .duo {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.home-section .cell-a, .home-section .cell-b, .home-section .max-width {
    max-width: 100%;
}
.home-section .cell-a {
    flex: 0 0 340px;
}
.home-section .cell-b {
    flex: 0 0 450px;
}
.home-section .vstack {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.home-section .framed {
    border: 1px solid #59636e;
    border-radius: 5px;
}
.home-section .caption {
    font-size: 12px;
    color: #59636e;
}
.home-section ul, .home-section ol {
    margin-left: 1rem;
    display: grid;
    gap: 20px;
}
.home-section li::marker {
    color: #59636e;
}
.home-section figure {
    overflow: clip;
    border: 1px solid #31383f;
    border-radius: 5px;
    width: fit-content;
    max-width: 100%;
}
.home-section figure img, .home-section figure video {
    max-width: 100%;
    display: block;
}
.code-block {
    font-family: 'JetBrains Mono';
    border: 1px solid #7457B4;
    border-radius: 5px;
    padding: 10px;
    white-space: pre;
    font-size: 14px;
    line-height: 1.5em;
    overflow-x: auto;
    max-width: fit-content;
}
.captioned {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.captioned code {
    font-family: 'JetBrains Mono';
    color: #818b98;
}
.commentary code {
    font-family: 'JetBrains Mono';
    font-size: 13px;
    padding: .2em .4em;
    margin: 0;
    background-color: #393f46;
    color: #9DB1CC;
    border-radius: 3px;
}
.video-box {
    display: flex;
    width: fit-content;
    overflow: clip;
    border-radius: 5px;
}
.retina-video {
    zoom: 0.5;
}
.snippet-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: fit-content;
    align-items: center;
}
.snippet-container img {
    max-width: 100%;
}
.syn-code {
    color: #BFBDB6;
    background: #11151f;
}
.syn-cm {
    color: #ACB6BF8C;
}
.syn-kw {
    color: #F07178;
}
.syn-op {
    color: #F29668;
}
.syn-cst {
    color: #D2A6FF;
}
.syn-attr {
    color: #FFB454;
}
.syn-class {
    color: #FFB454;
}
.syn-call {
    color: #7AA2F7;
}
.syn-kwarg {
    color: #ffadda;
}
.syn-anno {
    color: #81A5C9;
}
.syn-fade {
    opacity: 0.4;
}
.syn-highlight {
    background: #FF544950;
    border-radius: 3px;
    padding: 2px 5px;
    margin-left: -5px;
}
.syn-sig .syn-cm {
    color: #88BA99;
}
.syn-hs-slash {
    color: #F07178;
}
.syn-hs-cmd {
    color: #D2A6FF;
}
.syn-hs-arg {
    color: #ccc;
}
.syn-hs-keyword {
    color: #FFB454;
}