@import url('https://fonts.googleapis.com/css2?family=Chakra+Petch:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap');

*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --graph-col-1: rgba(255, 255, 255, 0.781);
    --graph-col-2: rgba(255, 255, 255, 0.219);
    --graph-stroke-col: rgb(255, 255, 255);
}

body {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    font-family: "Chakra Petch", sans-serif;
    perspective: 200px;
    transform-style: preserve-3d;
}

*::-webkit-scrollbar {
    width: .75rem;
}
 
*::-webkit-scrollbar-track {
    -webkit-box-shadow: none;
    box-shadow: none;
    background: transparent;
}
 
*::-webkit-scrollbar-thumb {
  background-color: darkgrey;
  border-radius: 1rem;
  outline: none;
}

.main-container {
    position: absolute;
    inset: 0;
}

button {cursor: pointer;}

*:disabled {cursor: no-drop;}

.center {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

h2 {
    font-size: 2.5rem;
    font-weight: 900;
}

h3 {
    font-size: 1.5rem;
}

h4 {
    font-size: 1.35rem;
}

.loading-container {
    position: fixed;
    display: grid;
    place-content: center;
    inset: 0;
    background: rgba(0,0,0,0.05);
    z-index: 1000;
    backdrop-filter: saturate(0) brightness(0) blur(.25rem);
    pointer-events: none;
    transition: 500ms ease all;
}

.loading-container > .toaster-loader {
    width: 5.5rem;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background-image: url(./toaster.png);
    background-size: contain;
    animation: loading 1s linear infinite;
    transition: 500ms ease all;
}

.hidden, .fullscreen-viewer.hidden {
    pointer-events: none;
    transform: translateY(-100vh);
    transition: all 500ms ease;
}

.main-container > * {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 100%;
    aspect-ratio: 20 / 9;
    transition: 500ms all ease;
    filter: brightness(1);
    user-select: none;
    -webkit-user-select: none;
    -webkit-user-drag: none;
}

.main-container > .onload-video {
    transform:  translate(-50%, -50%);
    opacity: 1;
}

.pseudo-container {
    opacity: 0;
    mask-image: url("./mask.png");
    mask-size: contain;
    filter: drop-shadow(0 0.25rem 0.125rem rgba(0,0,0,0.5))
}

.dashboard-background {
    opacity: 1;
    z-index: -1;
}

.dashboard-container {
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: end;
    gap: 1.25%;
}

.dashboard-container > * {
    height: 91%;
    /* opacity: 0.5; */
}

.dashboard-container > *:nth-child(2n) {
    height: 97%;
}

.menu {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.75rem;
    flex-direction: column;
    width: 200vw;
    height: 200vh;
    background: rgba(255, 255, 255, 0.01);
    color: white;
    backdrop-filter: blur(.5rem);
    z-index: 1;
}

.menu > * {
    width: fit-content;
    text-align: center;
    font-family: inherit;
    filter: drop-shadow(0 0.5rem 0.25rem rgba(0, 0, 0, 0.5))
}

.menu > h1 {
    font-size: 5rem;
}

button {
    font-size: 1.75rem;
    background: rgba(255, 255, 255, 0.644);
    border: none; outline: none;
    border-radius: .75rem;
    padding: .5rem 1rem;
    transition: 200ms ease all;
}

button:hover:not(:disabled) {
    background: rgba(255, 255, 255, 0.842);
}

.fullscreen-viewer {
    width: 100vw;
    height: 100vh;
    transform: translateX(0vh);
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    inset: 0;
}

.fullscreen-viewer > .carousel {
    width: 92.5%;
    max-width: 1600px;
    color: white;
}

.fullscreen-viewer > .carousel > *, .fullscreen-viewer > .carousel span:not(.fullscreen-button) {font-size: 2rem; padding: 1.25rem}

.main-container:has(.fullscreen-viewer:not(.hidden)) > *:not(.fullscreen-viewer) {
    filter: brightness(0.35);
}

@keyframes loading {
    from {transform: translateY(0vh) rotate(0deg);}
    to {transform: translateY(0vh) rotate(360deg);}
}