:root {
    --outer-edge: #f4d3ff;
    --inner-edge: #000000;
    --backing: #f594fa;
    --title-bar: #fa67ff;
}

/* -------------------------------- */
/*               Base               */
/* -------------------------------- */

html,
body {
    margin: 0;
    width: 100%;
    height: 100%;
    background-image: url("../assets/background.jpg");
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

/* -------------------------------- */
/*              Layout              */
/* -------------------------------- */

.container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

#overlay {
    position: fixed;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #000;
    transition: opacity 0.5s ease;
    z-index: 999;
}

.login {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    color: white;
    font-family: system-ui;
}

#site {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    height: 100vh;
}

.content {

    height: 100%;
    overflow-y: auto;
    padding: 40px;

    flex: 1;
    background: var(--backing);
    border: 2px solid;
    border-color: var(--outer-edge) var(--inner-edge) var(--inner-edge) var(--outer-edge);
    padding: 40px;

    z-index: 1;
}

/* -------------------------------- */
/*            Components            */
/* -------------------------------- */

.password-box {
    display: flex;
    align-items: center;

    width: 340px;
    height: 52px;

    border: 1px solid rgba(255,255,255,.15);
    border-radius: 999px;
    padding: 0 6px;
}

.password-box input {
    flex: 1;

    background: none;
    border: none;
    outline: none;

    color: white;
    padding-left: 18px;
    font-size: 16px;
}

.enter-btn {
    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: none;
    background: none;
    color: white;
    cursor: pointer;
}

.password-box.error {
    animation: shake 0.35s;
}

.construction-img {
    display: block;
    max-height: 60%;
    width: auto;
    margin-inline: auto;
}

.window {
    width: 1200px;
    height: 650px;
    background: var(--backing);

    border-width: 2px;
    border-style: solid;
    border-color: var(--outer-edge) var(--inner-edge) var(--inner-edge) var(--outer-edge);
    box-shadow:
            8px 8px 0px rgba(0,0,0,.4);
    display: flex;
    flex-direction: column;
}

.window-bar {
    height: 32px;
    background: var(--title-bar);
    border-bottom: 2px solid black;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 8px;
    font-family: system-ui;
    font-weight: bold;
}

.inner-window {
    width: 95%;
    height: 90%;
    margin: auto;
    display: flex;
    flex-direction: column;
}

.tabs {
    height: 32px;
    background: transparent;
    display: flex;
    font-family: system-ui;
    font-weight: bold;
    padding-left:0px;
}

.tab {
    color: black;
    cursor: pointer;

    background: var(--backing);

    border: 2px solid;

    border-color: var(--outer-edge) var(--inner-edge) transparent var(--outer-edge);

    padding: 0 18px;

    transform: translateY(2px);


}

.tab.active {
    /*border-color: var(--outer-edge) var(--inner-edge) var(--inner-edge) var(--outer-edge);*/
    position: relative;
    border-bottom-color: var(--backing);
    transform: translateY(-2px);

    padding-bottom: 6px;
    margin-bottom: -4px;

    z-index: 2;
}

/* fills the corner pixelSa where the active tab meets the content panel */

.tab.active::before{
    content:"";

    position:absolute;

    width:2px;
    height:2px;

    left:-2px;
    bottom:-2px;

    background:var(--outer-edge);
}

.tab.active::after {
    content: "";

    position: absolute;

    width: 2px;
    height: 2px;

    right: -2px;
    bottom: -2px;

    background: var(--inner-edge);
}

.window-buttons {
    display: flex;
    gap: 4px;
}

.window-buttons span {
    width: 17px;
    height: 17px;

    display: flex;
    justify-content: center;
    align-items: center;

    background: var(--title-bar);

    border: 2px solid;

    border-color: var(--outer-edge) black black var(--outer-edge);

    font-size: 14px;
    line-height: 1;

    cursor: pointer;
}

.window-buttons span:active {
    border-color: black white white black;
}


/* -------------------------------- */
/*             Animations           */
/* -------------------------------- */

@keyframes fadeOut {

}

@keyframes shake {
    0% {
        transform: translateX(0);
    }

    20% {
        transform: translateX(-2px);
    }

    40% {
        transform: translateX(2px);
    }

    60% {
        transform: translateX(-2px);
    }

    80% {
        transform: translateX(2px);
    }

    100% {
        transform: translateX(0);
    }
}