:root {
    --exponential: cubic-bezier(0.19, 1, 0.22, 1);
    --background-color: hsl(0, 0%, 7%);
    --header-color: hsl(0, 0%, 16%);
    --border-color: hsl(0, 0%, 10%);
    --text-color: hsl(0, 0%, 100%);
}

*,
::before,
::after {
    box-sizing: border-box;

    transition-timing-function: var(--exponential);
    transition-property: all;
    transition-duration: 0.4s;

    /* min-width: max-content; */
    white-space: nowrap;

    font-family: "Gilroy";
    font-size: 1rem;
    line-height: 1;

    scroll-behavior: smooth;
    margin: 0;
}

*:not(head, script) {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

body {
    font-size: 12px;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
}

.dark-mode {
    background: var(--background-color);
}

main {
    width: inherit;
    height: inherit;
}

.dark-mode #title,
.dark-mode #username {
    color: var(--text-color);
}

#title {
    font-size: 2rem;
    font-weight: 400;
    opacity: 0.65;
}

#assignee-box {
    display: none;
    justify-items: end;
    flex-direction: row;
    position: relative;
    column-gap: 2.8rem;
}

#assignee-box::after {
    position: absolute;
    content: "";
    width: 200%;
    height: 100%;
    background: linear-gradient(90deg, transparent, var(--text-color), var(--text-color));
    animation: fade-in 3s var(--exponential) both;
}

.dark-mode #assignee-box::after {
    background: linear-gradient(90deg, transparent, var(--background-color), var(--background-color));
}

#loading-box {
    position: absolute;
    inset: 0;
    flex-direction: row;
    gap: 0.2rem;
}

#loading-box,
#error {
    display: none;
}

.circle {
    width: 2rem;
    aspect-ratio: 1;
    border-radius: 100%;
    background: var(--background-color);
    opacity: 0;
}

.dark-mode .circle {
    background: var(--text-color);
}

#portrait {
    width: 18rem;
    font-size: 4rem;
    font-weight: 600;
    border-radius: 100%;
    grid-column: 2;
    grid-row: 1/6;
}

#username {
    grid-column: 1;
    grid-row: 3/4;
}

#logo-box {
    width: fit-content;
    flex-direction: row;
    gap: 0.4rem;
    grid-column: 1;
    grid-row: 4/5;
}

#username,
#error {
    font-size: 8rem;
    font-weight: 700;
}

#date {
    font-size: 1.4rem;
    margin-top: 7px;
}

#click-up-logo {
    width: 10rem;
    margin-bottom: 0.2rem;
}

.show-assignee {
    display: grid !important;
}

.show-error,
.show-loading {
    display: flex !important;
}

.show-circle {
    opacity: 1 !important;
}

iframe {
    width: 100%;
    height: 100%;
}

@keyframes fade-in {
    from {
        left: -100%;
    }

    to {
        left: 100%;
    }
}
