* {
    padding: 0;
    margin: 0;
}

.rotate {
    border-radius: 100% !important;
    -webkit-animation: rotate 5s normal linear infinite;
    animation: rotate 5s normal linear infinite;
}

@keyframes rotate {
    0% {
        -webkit-transform: rotate3d(0, 0, 1, 0deg);
        transform: rotate3d(0, 0, 1, 0deg);
    }

    25% {
        -webkit-transform: rotate3d(0, 0, 1, 90deg);
        transform: rotate3d(0, 0, 1, 90deg);
    }

    50% {
        -webkit-transform: rotate3d(0, 0, 1, 180deg);
        transform: rotate3d(0, 0, 1, 180deg);
    }

    75% {
        -webkit-transform: rotate3d(0, 0, 1, 270deg);
        transform: rotate3d(0, 0, 1, 270deg);
    }

    100% {
        -webkit-transform: rotate3d(0, 0, 1, 360deg);
        transform: rotate3d(0, 0, 1, 360deg);
    }
}


:root {
    --ui-main: rgb(21, 23, 24);
    --ui-fonts-clr: white;
    --buttons-fonts-clr: rgb(255, 255, 255);
    --radius-10: 10px;
    --shadow: 0px 0px 5px 0px #FFFFFF;
    --fonts-1: 'Poppins', sans-serif;
    --fonts-2: 'JetBrains Mono', monospace;
    --popups-top: 14svh;
    --popups-right: 10svw;

}

div[id|="popup"] {
    border-radius: var(--radius-10);
    padding: 1em;
    position: absolute;
    backdrop-filter: blur(8px) saturate(180%);
    background-color: rgba(39, 39, 39, 0.6);
    border: 1px solid rgba(91, 91, 91, 0.3);

}

button,
select,
option {
    transition: ease-in-out 100ms;
}

hr {
    opacity: .3;
    margin: .5rem 0;
}

button:active {

    background-color: rgb(191, 191, 191) !important;
    color: black !important;
}

option {
    color: black;
}

body {
    background-color: var(--ui-main);
    overflow-y: hidden;
}


header {
    width: 100%;
    z-index: 2;
    position: fixed;
    top: 0;
}



.round-btns {
    z-index: 2;
    /* float: right; */
    padding: .3rem .4rem;
    font-size: 1rem;
    color: var(--ui-fonts-clr);
    border: none;
    border-radius: 100%;
    background-color: rgba(100, 100, 100, 0.8);
    position: relative;
}

.close-btn {
    left: 90%;
}


/* ---------- navbar css */

#navbar {
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    font-family: var(--fonts-1);
    padding: .2em 2em;
    background-color: var(--ui-main);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

#navbar>img {
    height: 2.8rem;
    padding: .5rem;
    margin-right: auto;
}

#navbar>button {

    background-color: rgba(255, 255, 255, 0);
    margin-left: 1vw;
    font-size: 1.6rem;
    border-radius: 1rem;
    padding: .4rem .6rem;
    border: none;

    color: var(--ui-fonts-clr);

}

#navbar>button:hover {

    background-color: rgb(52, 52, 52);
}


/* ----------------- terminals */

/* ----------------- terminals */

textarea {
    background-color: var(--ui-main);
    display: block;
    padding: 2%;
    box-sizing: border-box;
    border-radius: var(--radius-10);
    width: 100%;
    resize: none;
    border: none;
    outline: none;
    color: rgb(152, 152, 152);
    font-family: var(--fonts-2);
}

.ide-container {
    display: flex;
    flex-direction: row;
    height: 92vh; /* Adjust based on header height */
    margin-top: 8vh;
    width: 100%;
    overflow: hidden;
}

#editor-section {
    width: 50%;
    height: 100%;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
}

#io-section {
    width: 50%;
    display: flex;
    flex-direction: column;
    height: 100%;
}

#output-box, #input-box {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 1rem;
    box-sizing: border-box;
    overflow: hidden;
}

#output-box h3, #input-box h3 {
    font-family: var(--fonts-1);
    color: var(--ui-fonts-clr);
    font-size: 1rem;
    margin-bottom: 0.5rem;
}

.terminal {
    flex: 1;
    background-color: rgba(0, 0, 0, 0.3);
    font-size: 1rem;
}



/* -------------------  settings */

#popup-settings {
    display: none;
    color: var(--ui-fonts-clr);
    font-family: var(--fonts-1);
    top: var(--popups-top);
    right: var(--popups-right);
}

#popup-settings>h3 {
    font-size: 1.7rem;
    margin-bottom: 1.5rem;
}

.pannel-settings {

    display: flex;
    flex-direction: column;
    font-size: 1.2rem;
}

.pannel-settings>* {
    margin-bottom: .4em;
}

.pannel-settings>select {

    color: var(--ui-fonts-clr);
    background-color: rgba(132, 132, 132, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.7);
    font-size: medium;
    /* width: 30%; */
    border-radius: 10px;
    padding: .2rem .6rem;
}

.pannel-settings>button {
    margin-top: .7rem;
    color: var(--ui-fonts-clr);
    background-color: rgba(132, 132, 132, 0.1);
    font-size: 1rem;
    border-radius: 10px;
    padding: .4rem;
    border: 1px solid rgba(255, 255, 255, 0.5);
}

.pannel-settings>button:hover {

    background-color: rgb(52, 52, 52);
}



/* --------------- infobox */

#popup-infobox {

    display: none;
    width: 20rem;
    font-family: var(--fonts-1);
    color: var(--ui-fonts-clr);
    top: var(--popups-top);
    right: var(--popups-right);
}

#popup-infobox>button {

    bottom: 1vh;
    left: 93%;
}

#popup-infobox>p{
    position: relative;
    bottom: 1.5vh;
}


/* ----------------- editor */

#editor-box {
    background-color: var(--ui-main);
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    width: 100%;
}

.CodeMirror {
    padding-top: 1.5svw;
    /* font-size: 1.4rem !important; */
    flex: 1;
}