@charset "UTF-8";

html {
    height: 100%;
    scrollbar-width: none;
}

::-webkit-scrollbar {
    display: none;
}

body {
    background-color: rgb(43, 43, 43);
    height: 100%;
    padding: 0;
    margin: 0;
    cursor: default;
    user-select: none;
    cursor: none;
    min-width: 300px;
    max-width: 2000px;
    margin: auto;
}

a {
    cursor: none;
}

#cursor {
    position: fixed;
    top: 0;
    left: 0;
    width: 25px;
    height: 25px;
    background: rgba(240, 240, 240, 0.75);
    border-radius: 50%;
    pointer-events: none;
    transform: translate(-50%, -50%);
    z-index: 9999;
}

.dotgothic16-regular {
    font-family: "DotGothic16", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.material-symbols-sharp {
    font-variation-settings:
        'FILL' 0,
        'wght' 400,
        'GRAD' -25,
        'opsz' 48;
}

.header {
    padding: 10px;
    border-radius: 100px;
    position: fixed;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 10px;
    height: 40px;
    width: auto;
    color: rgb(240, 240, 240);
    transition: all 0.2s cubic-bezier(0.55, 0.09, 0.68, 0.53);
    background: rgba(156, 156, 156, 0.03);
    backdrop-filter: blur(10px) saturate(199%);
    -webkit-backdrop-filter: blur(10px) saturate(199%);
    border: 0px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0px 8px 24px 0 rgba(12, 74, 110, 0.15),
        inset 0px 0px 4px 2px rgba(255, 255, 255, 0.1);
    overflow: hidden;
    z-index: 1;
}

@media (max-width: 768px) {
    .header {
        display: none;
    }
}

.header-btn {
    display: flex;
    justify-content: space-around;
    align-items: center;
    width: 150px;
    height: 40px;
    margin: 2px 10px;
    font-size: 20px;
    border-radius: 100px;
    transition: all 0.2s cubic-bezier(0.55, 0.09, 0.68, 0.53);
    padding: 10px;
}

.header-btn:hover {
    scale: 1.2;
    height: 50px;
}

.header-btn.active {
    background: rgba(219, 219, 219, 0.795);
}

.main {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.main p {
    color: rgb(240, 240, 240);
    font-size: 20px;
    text-align: center;
}

.greeting {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    top: 40px;
    height: calc(100dvh - 50px);
    width: 99%;
    margin: auto;
    backdrop-filter: blur(10px) saturate(199%);
    -webkit-backdrop-filter: blur(10px) saturate(199%);
    border: 0px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0px 8px 24px 0 rgba(12, 74, 110, 0.15),
        inset 0px 0px 4px 2px rgba(255, 255, 255, 0.1);
    overflow: hidden;
    border-radius: 50px;
    color: rgb(240, 240, 240);
}

@media (max-width: 768px) {
    .greeting {
        top: 10px;
    }
}

.greeting-text {
    font-size: 8em;
    text-align: center;
}

.greeting-subtext {
    font-size: 20px;
    text-align: center;
}

@keyframes spin0 {
    0% {
        transform: rotate(0deg);
    }

    50% {
        transform: rotate(-10deg);
    }

    100% {
        transform: rotate(0deg);
    }
}

@keyframes spin1 {
    0% {
        transform: rotate(0deg);
    }

    50% {
        transform: rotate(10deg);
    }

    100% {
        transform: rotate(0deg);
    }
}

.greeting .topleft {
    position: absolute;
    top: 5vh;
    left: 5vh;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: all 0.2s cubic-bezier(0.55, 0.09, 0.68, 0.53);
    animation: spin0 5s ease-in-out infinite;
}

.hidden {
    display: none;
}

.greeting .topright {
    position: absolute;
    top: 5vh;
    right: 5vh;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: all 0.2s cubic-bezier(0.55, 0.09, 0.68, 0.53);
    animation: spin1 5s ease-in-out infinite;
}


@keyframes greeting-bottomright {
    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(10px);
    }

    100% {
        transform: translateY(0px);
    }
}

.greeting .bottomright {
    position: absolute;
    bottom: 20px;
    right: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: all 0.2s cubic-bezier(0.55, 0.09, 0.68, 0.53);
    animation: greeting-bottomright 2s cubic-bezier(0.46, 0.03, 0.52, 0.96) infinite;
}

.greeting .bottomright-text {
    color: rgb(240, 240, 240);
    font-size: 20px;
    text-align: center;
    display: flex;
    align-items: center;
    gap: 10px;
}



.container {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    top: 50px;
    bottom: 20px;
    height: auto;
    width: 99%;
    margin: auto;
    overflow: hidden;
    border-radius: 50px;
    color: rgb(240, 240, 240);
    text-align: left;
    container-type: inline-size;
    font-size: calc(2cqw);
}

@media (max-width: 768px) {
    .container {
        font-size: 24px;
    }
}

.container .left {
    font-size: calc(10cqw / 2);
    width: calc(50% - 20px);
    text-align: right;
    padding: 0;
    margin: 0 20px 0 0;
}

.container .right {
    font-size: calc(10cqw / 2);
    width: calc(50% - 20px);
    text-align: left;
    height: auto;
    padding: 0;
    margin: 0 0 0 20px;
}

.introduction {
    display: block;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: auto;
    width: calc(50% - 20px);
    gap: 10px;
}

.introduction-text {
    color: rgb(240, 240, 240);
    height: auto;
    margin: 0;
}


.contact {
    flex-direction: column;
    text-align: left;
    align-items: center;
    height: auto;
    width: calc(50% - 20px);
    gap: 10px;
}

.contact-text {
    color: rgb(240, 240, 240);
    height: auto;
    margin: 0;
}

.contact a {
    color: rgb(240, 240, 240);
    text-decoration: none;
}


.ai-policy {
    flex-direction: column;
    text-align: left;
    align-items: center;
    height: auto;
    width: calc(50% - 20px);
    gap: 10px;
}

.ai-policy li {
    margin-left: 40px;
}

.ai-policy-text {
    color: rgb(240, 240, 240);
    height: auto;
    margin: 0;
}




/* Glassmorphism Card */
.glass-card {
    position: relative;
    border-radius: 50px;
    background: rgba(156, 156, 156, 0.03);
    backdrop-filter: blur(10px) saturate(199%);
    -webkit-backdrop-filter: blur(10px) saturate(199%);
    border: 0px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0px 8px 24px 0 rgba(12, 74, 110, 0.15),
        inset 0px 0px 4px 2px rgba(255, 255, 255, 0.1);
    overflow: hidden;
    padding: 20px;
}

/* Reflection highlights (two-layer overlay) */
.glass-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    border-radius: inherit;
    /* angled edge reflection */
    background: linear-gradient(to left top, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0) 50%);
    z-index: 1;
}

.glass-card::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    border-radius: inherit;
    /* subtle top-to-bottom sheen */
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0) 100%);
    z-index: 1;
}

/* Content styling */
.glass-button {
    width: 100%;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: white;
    padding: 8px 16px;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: all 0.2s ease;
}

.glass-button:hover {
    background: rgba(255, 255, 255, 0.2);
}

.glass-button:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.4);
}