@font-face {
    font-family: 'Stardos Stencil';
    src: url('./fonts/StardosStencil-Bold.woff2') format('woff2'),
        url('./fonts/StardosStencil-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Stardos Stencil';
    src: url('./fonts/StardosStencil-Regular.woff2') format('woff2'),
        url('./fonts/StardosStencil-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

*,
*::before,
*::after{
    box-sizing: border-box;
    margin: 0px;
    padding: 0px;
}

.form input,
.form button{
    appearance: none;
    border-style: none;
    outline-style: none;
}

:root{
    --bg-color-dark: #232323;
    --bg-color-gray: #888888;
    --bg-color-gray-2: #5C5C5C;
    --text-color-light: #B3B3B3;
    --text-color-light-1:#D2D2D2;
    --text-color-light-2: #E6E6E6;
    --logo-bg-color: rgba(136, 136, 136, 0.1);
    --header-top-position: 160px;
    --logo-height: 160px;
}

html{
    font-size: clamp(
        0.75rem,
        0.65rem + 0.65vw,
        1.2rem
    );
}

body{
    background: 0 / 20% url(./img/bg-repeat.png);
    font-family: "Stardos Stencil", system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}

.main-content{
    max-width: 1200px;
    margin: auto;
    display: flex;
    gap: 0.8rem;
}

.content-left,
.contnet-right{
    height: 100vh;
}

.content-left{
    background-image: url(./img/moon.jpg);
    background-size: cover;
    flex-basis: 35%;
    display: flex;
    align-items: center;
}

.content-left .logo{
    margin-top: 100px;
    padding: 1rem;
    width: 100%;
    background: 0 / 20% url(./img/bg-repeat.png);
    height: var(--logo-height);

    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
}

.logo svg{
    fill: var(--text-color-light);
    height: 6rem;
    width: 6rem;
    filter: drop-shadow(1px 1px 3px black);
}

.logo h1{
    color: var(--text-color-light);
    font-style: normal;
    font-size: 1.6rem;
    text-shadow: 0px 0px 3px black;
}

.content-right{
    flex: 1;
}

.form-info{
    height: calc(
        var(--logo-height) * 2
    );
    padding: 1rem;
    margin-bottom: 2.2rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    color: var(--bg-color-gray);
}

.form-info h1{
    font-size: 1.9rem;
    text-shadow: 0px 0px 3px black;
    color: var(--text-color-light);
}

.form-info p{
    padding: 10px 0 0 0.2rem;
    font-size: 0.9rem;
    line-height: 1.4;
    word-spacing: 0.05em;
    text-shadow: 1px 1px 3px black;
}

.form{
    width: 100%;
    height: 340px;
    
    padding: 1rem;
    padding-left: 1.2rem;
    
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.field{
    position: relative;
    width: 45%;
    font-style: normal;
    font-size: 0.9rem;
    color: var(--bg-color-gray);
}

.field input{
    width: 100%;
    height: 100%;
    padding: 0.4rem;
    padding-bottom: 0.2rem;
    background: none;
    border-bottom: 1px solid var(--bg-color-gray-2);
    color: inherit;
    font-family: inherit;
    font-size: 0.9rem;
    letter-spacing: 0.06rem;
}

.field > input[type="password"] + .field{
    background-color: #5C5C5C;
}

.field label{
    position: absolute;
    top: 6px;
    left: 1rem;
    transition: all 0.2s ease;
}

.field > input:focus + label,
.field > input:not(:placeholder-shown) + label{
    transform: translate(-15%, -120%) scale(0.9);
    opacity: 0.7;
}

.field button{
    cursor: pointer;

    width: 10rem;
    height: auto;
    padding: 0.4rem;

    font-family: inherit;
    font-size: 1rem;
    border-radius: 5px;
 
    background-color: var(--bg-color-gray);
    color: var(--bg-color-dark);
}

.field button:hover{
    background-color: var(--text-color-light-1);
}

.field input[type="password"]:invalid{
    border-bottom: 1px solid orangered;
}

.field input:user-invalid{
    border-bottom: 1px solid orangered;
}

.field input:user-valid:not(:placeholder-shown){
    border-bottom: 1px solid green;
}
