/* /Components/ChatInput.razor.rz.scp.css */
button[b-o0mzhajyp0] {
    all: unset;
    box-sizing: border-box !important; /* i got no idea why this is necessary */
    position: relative;
    display: flex;
    gap: 0.33em;
    align-items: center;

    width: 100%;
    height: 100%;
    padding: 8px calc(16px + 2.25em) 8px 16px;

    background: rgb(57, 59, 63);
    border-radius: 4px;
    transition: filter 600ms;

    &:not(:disabled) {
        cursor: pointer;

        &:hover {
            filter: brightness(1.1);
            transition: filter 150ms;
        }

        > span:last-of-type[b-o0mzhajyp0] {
            color: rgb(148 157 248);
        }
    }

    > span:not(:last-of-type)[b-o0mzhajyp0] {
        display: inline-block;
        background: rgb(35 36 40);
        border: 1px solid rgb(30 31 34);
        border-radius: 5px;
        overflow: hidden;

        > span {
            display: inline-block;
            padding: 4px;
        }

        > span:first-of-type[b-o0mzhajyp0] {
            background: rgb(17 18 20);
        }
    }

    > span:last-of-type[b-o0mzhajyp0] {
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        font-size: 1.8em;
        color: rgb(78 80 88);
        padding: 0 0.33em;
        transition: color 150ms;

        &::before {
            position: absolute;
            content: '';
            top: 50%;
            left: 0;
            transform: translateY(-50%);
            height: 80%;
            width: 1px;
            background: rgb(67 68 75);
        }
    }
}
/* /Components/Demo.razor.rz.scp.css */
.demo[b-1nmm1u8s8e] {
    display: flex;
    flex-direction: column;
    justify-content: end;
    gap: 12px;
    min-height: min(100vw, 520px);
    padding: 12px 16px;

    border: 1px solid rgba(0, 0, 0, 0.33);
    border-radius: 16px;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.33);
}
/* /Components/Footer.razor.rz.scp.css */
footer[b-xasyraam0r] {
    margin: 0 8px 8px 8px;
    padding: 12px 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(32px);

    a {
        white-space: nowrap;
        text-decoration: none;

        &:hover {
            text-decoration: underline;
        }
    }
}
/* /Components/LabeledButton.razor.rz.scp.css */
.labeled-button[b-fixqfqlroa] {
    position: relative;
    display: grid;
    grid-template-rows: 3.3em 50px auto;
    gap: 24px;

    img {
        height: 100%;
        justify-self: center;
    }

    a[b-fixqfqlroa] {
        display: grid;
        justify-items: center;

        button {
            width: 100%;
            height: 100%;
            border-radius: 12px;
            cursor: pointer;

            background: #304FFE;
            border: 1px solid #162578;

            &:hover {
                background: #4b64fa;
            }
        }
    }

    .description[b-fixqfqlroa] {
        font-family: 'Handwriting', system-ui;
        font-size: 1.1em;
    }

    &.left[b-fixqfqlroa] {
        img {
            transform: rotate(45deg) scale(-1, 1);
        }
    }

    &.right[b-fixqfqlroa] {
        img {
            transform: rotate(-45deg);
        }

        .description[b-fixqfqlroa] {
            text-align: right;
        }
    }
}

@media screen and (min-width: 450px) and (max-width: 767px) {
    .labeled-button[b-fixqfqlroa] {
        a {
            button {
                width: 70% !important; /* broken blazor css isolation? */
            }
        }
    }
}

@media screen and (min-width: 768px) {
    .labeled-button[b-fixqfqlroa] {
        grid-template-rows: 3.3em 60px auto;

        img {
            grid-row-start: 2;
            justify-self: unset;
        }

        .description[b-fixqfqlroa] {
            grid-row-start: 3;
            font-size: 1.25em;
        }

        &.left[b-fixqfqlroa] {
            grid-template-columns: 1fr 150px;

            a, img {
                grid-column-start: 2;
            }

            img[b-fixqfqlroa] {
                transform: unset;
            }

            .description[b-fixqfqlroa] {
                text-align: right;
            }
        }

        &.right[b-fixqfqlroa] {
            grid-template-columns: 150px 1fr;

            img {
                transform: scale(-1, 1);
                justify-self: end;
            }

            .description[b-fixqfqlroa] {
                grid-column-start: 2;
                text-align: unset !important;
                /* css scoping seems broken here? idfk what blazor is doing here -> !important as a workaround */
            }
        }
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-ot906yd05n] {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss[b-ot906yd05n] {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}

main[b-ot906yd05n] {
    display: flex;
    flex-direction: column;
    align-items: center;
}
/* /Components/Message.razor.rz.scp.css */
.message[b-0wkecjukh4] {
    display: grid;
    grid-template-columns: 3em 1fr;
    grid-template-rows: repeat(3, auto);
    column-gap: 1em;
    row-gap: 0.4em;

    .connector {
        width: calc(50% + 0.75em);
        height: 66%;
        border-left: 2px solid rgb(80, 81, 86);
        border-top: 2px solid rgb(80, 81, 86);;
        border-radius: 6px 0 0 0;
        transform: translate(calc(1.5em - 1px), calc(0.5em - 1px));
    }

    .reply[b-0wkecjukh4] {
        display: flex;
        gap: 0.3em;
        color: rgb(184 186 190);

        .command {
            background: rgb(71, 76, 110);
            color: rgb(45, 153, 208);
            border-radius: 4px;

            &::before {
                content: '::';
                margin-right: 0.25em;
            }
        }
    }

    > img[b-0wkecjukh4] {
        grid-row-start: 2;
        grid-row-end: 4;
        max-width: 100%;
        max-height: 100%;
        border-radius: 100vmax;
    }

    .author[b-0wkecjukh4] {
        font-weight: 500;
    }

    .message-content[b-0wkecjukh4] {
        img {
            max-width: 100%;
        }
    }
}
/* /Components/Pages/Home.razor.rz.scp.css */
.container[b-wbtrvdioby] {
    width: 100%;
    margin-top: var(--main-gap);

    display: flex;
    flex-direction: column;
    gap: var(--main-gap);
    align-items: center;

    #upper {
        display: grid;
        gap: var(--main-gap);
        width: 100%;

        > .user-card {
            display: flex;
            justify-content: center;
            height: fit-content;
        }

        #demo-container[b-wbtrvdioby] {
            justify-self: center;
            width: min(600px, 100%);
        }
    }

    #buttons[b-wbtrvdioby] {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
        width: min(100%, 875px);
        padding: 0 calc(var(--main-gap) / 2);

        a {
            text-decoration: none;
        }
    }
}

@media screen and (min-width: 768px) {
    .container[b-wbtrvdioby] {
        #upper {
            grid-template-columns: 1fr 300px;
            gap: calc(var(--main-gap) / 2);

            #demo-container {
                grid-row-start: 1;
                grid-column-start: 1;
                justify-self: end !important; /* blazor css isolation again? */
            }
        }
    }
}

@media screen and (min-width: 1350px) {
    .container[b-wbtrvdioby] {
        #upper {
            grid-template-columns: 300px 600px 300px;
            justify-content: center;

            #demo-container {
                grid-column-start: 2;
            }

            > .user-card[b-wbtrvdioby] {
                grid-column-start: 3;
            }
        }
    }
}
/* /Components/Thinking.razor.rz.scp.css */
.thinking[b-563lpk094c] {
    --color: rgb(184 186 190);
    display: flex;
    gap: 8px;
    align-items: center;

    .loading-indicator {
        display: flex;
        gap: 4px;

        > div {
            width: 6px;
            height: 6px;
            border-radius: 100%;
            background-color: var(--color);

            animation-name: pulse-b-563lpk094c;
            animation-duration: 1.2s;
            animation-iteration-count: infinite;
            animation-fill-mode: backwards;
        }
    }

    .text[b-563lpk094c] {
        color: var(--color);
    }
}

@keyframes pulse-b-563lpk094c {
    0% {
        filter: brightness(50%);
    }
    40% {
        filter: brightness(120%);
        transform: scale(1.2);
    }
    80% {
        filter: brightness(50%);
    }
    100% {
        filter: brightness(50%);
    }
}
/* /Components/UserCard.razor.rz.scp.css */
.user-card[b-bytnfm2n0u] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 60px;
    padding-bottom: 26px;
    width: min(100%, 300px);

    background: rgb(18, 18, 19);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.33);

    border-radius: 10px;
    overflow: hidden;

    transition: 800ms;

    @media (pointer: fine) {
        &:hover[b-bytnfm2n0u] {
            box-shadow: 0 12px 24px rgba(0, 0, 0, 0.4);
            transform: scale(1.05) rotate(1deg);
            transition: 180ms;
        }
    }

    .banner {
        height: 130px;
        background-size: cover;
        background-position: center;
    }

    .avatar[b-bytnfm2n0u] {
        position: absolute;
        top: 126px;
        left: 12px;
        width: 95px;
        height: 95px;
        transform: translateY(-50%);
        border-radius: 100vmax;

        border: 5px solid rgb(18, 18, 19);
    }

    .text[b-bytnfm2n0u] {
        display: flex;
        flex-direction: column;
        gap: 8px;
        font-size: 1.1em;

        padding: 0 13px;

        .display-name {
            font-weight: bold;
            font-size: 1.4em;
        }

        .is-app[b-bytnfm2n0u]::after {
            transform: translateY(-0.2rem);
        }

        .bio[b-bytnfm2n0u] {
            margin-top: 24px;
        }
    }
}
