@import url('https://fonts.googleapis.com/css2?family=BBH+Bogle&family=Geom:ital,wght@0,300..900;1,300..900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+Mono:wght@100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Raleway:ital,wght@0,100..900;1,100..900&family=Sekuya&display=swap');
@import url('https://fonts.googleapis.com/css2?family=BBH+Bogle&family=Geom:ital,wght@0,300..900;1,300..900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+Mono:wght@100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Raleway:ital,wght@0,100..900;1,100..900&family=Sekuya&display=swap');

*{
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
    font-family: 'Poppins', monospace, 'BBH Bogle' , 'Geom', 'Montserrat', 'Noto Sans Mono',;
    color: white;
}

body{
  background: #1e1e2f;
  color: #e0e0e0;
}

/* Tag Name Selection */
textarea{
    width: 100%;
    min-height: 50vh;
    padding: 15px 10px;
    resize: none;
    outline: none;
    border: none;
    font-size: 14px;
    color: white;
    box-shadow: 0 4px 12px rgba(0,0,0,0.5);
    border-radius: 12px;
    background: -webkit-linear-gradient(145deg,#2c2c4b,#1e1e2f);
    background: linear-gradient(145deg,#2c2c4b,#1e1e2f);
}

textarea:hover {
    border: 2px solid rgba(85, 179, 255, 0.5);
}

textarea::-webkit-scrollbar{
    width: 12px;
}
textarea::-webkit-scrollbar-thumb{
    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5);
    border-radius: 100px;
    cursor: grab;
    background: #3b3b5e;
}

.html-code .code-area textarea{
    color: #ff7f61; 
}

.css-code .code-area textarea{
    color: #55b3ff;
}

.js-code .code-area textarea{
    color: #ffd166;
}



/* Class and ID Name Selection */


/* Editor Container */
.editor-container{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 8px;
    min-height: 60vh;
    width: 100%;
}

.html-code , .css-code , .js-code{
    width: 50%;
    padding: 5px;
}

.key-section {
    border: none;
    box-shadow: 0 4px 12px rgba(0,0,0,0.5);
    background: #2a2a4b;
    padding: 9px 7px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
    border-radius: 8px;
    border: 1px solid rgba(90,90,255,0.3);
}

.key-section:hover {
    box-shadow: 0 5px 10px rgba(90, 90, 255, 0.4);
    transform: translateY(-2px);
    -webkit-transform: translateY(-2px);
    transition: 0.3s;
    -webkit-transition: 0.3s;
}

.html-code img {
    width: 20px;
}
.css-code img , .js-code img{
    width: 25px;
}


.key-section h2{
    letter-spacing: 3px;
}


.key-section i{
    cursor: pointer;
    transform: scale(1.1);
    -webkit-transform: scale(1.1);
    transition: 0.2s;
    -webkit-transition: 0.2s;
}


.html-code .key-section i { 
  color: #ff7f61; 
} 
.css-code .key-section i { 
  color: #55b3ff; 
} 
.js-code .key-section i { 
  color: #ffd166; 
}  
.html-code .key-section i:hover { 
  color: #ff2f00;; 
}
.css-code .key-section i:hover{ 
  color: #008cff; 
}
.js-code .key-section i:hover{ 
  color: #ffb300; 
}

.key-section i:hover{ 
  transform: scale(1.3);
  -webkit-transform: scale(1.3);
 }


/* Preview Container */
.preview-container{
    width: 100%;
    height: 35vh;
    padding: 0 15px;
    background: linear-gradient(145deg,#2a2a4b,#1e1e2f);
    background: -webkit-linear-gradient(145deg,#2a2a4b,#1e1e2f);
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.4);
}

.preview-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 15px;
    padding: 10px;
}

.preview-controls i {
    cursor: pointer;
    font-size: 16px;
    color: #ffd166;
    transition: 0.3s;
}

.preview-controls i:hover {
    transform: scale(1.2);
    color: #fff;
}

.preview-controls .fa-sun , .fa-moon {
    margin-right: auto;
}

.code-preview {
    width: 100%;
    height: 25vh;
    border: none;
    border-radius: 10px;
    background-color: white;
}

/* Classes Used Inside JavaScript */
body.dark-mode {
  background: #f5f5f5;
  color: #1e1e2f;
  transition: all 0.3s ease;
}

body.dark-mode textarea {
  background: linear-gradient(145deg, #ffffff, #e6e6e6);
  background: -webkit-linear-gradient(145deg, #ffffff, #e6e6e6);
  color: #222;
  border: 1px solid rgba(0, 0, 0, 0.2);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
  transition: all .2s linear;
}

body.dark-mode textarea:focus {
  box-shadow: 0 12px 30px rgba(0,0,0,0.3);
}

body.dark-mode textarea::-webkit-scrollbar-thumb {
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5);
  background-color: transparent;
}

body.dark-mode .html-code .code-area textarea {
  color: #d93f00;
}
body.dark-mode .css-code .code-area textarea {
  color: #0077cc;
}
body.dark-mode .js-code .code-area textarea {
  color: #cc8800;
}


body.dark-mode .key-section {
  background: #ffffff;
  color: #1e1e2f;
  border: 1px solid rgba(0, 0, 0, 0.15);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
}

body.dark-mode .key-section h2{
    color: black;
}
body.dark-mode .key-section i {
  color: #555;
}
body.dark-mode .key-section i:hover {
  color: #000;
}


body.dark-mode .preview-container {
  background: linear-gradient(145deg, #f0f0f0, #dcdcdc);
  background: -webkit-linear-gradient(145deg, #f0f0f0, #dcdcdc);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}


body.dark-mode .code-preview {
  background-color: #fff;
  border: 1px solid #ccc;
}


body.dark-mode .preview-controls i {
  color: #1e1e2f;
}

body.dark-mode .preview-controls i:hover {
  color: #0077cc;
}


.preview-container.full-preview{
    position: fixed;
    top: 0px;
    height: 100vh;
    border-radius: 0px;
  }
  
  .preview-container.full-preview .code-preview{
    height: 94vh;
}

.preview-container.full-preview .fa-angle-up{
    animation: rotateFullPreview .3s linear forwards;
    -webkit-animation: rotateFullPreview .3s linear forwards;
}

@keyframes rotateFullPreview{
    0%{transform: rotate(0deg);}
    100%{transform: rotate(180deg);}
}
@-webkit-keyframes rotateFullPreview{ 
    0%{-webkit-transform: rotate(0deg); transform: rotate(0deg);}
    100%{-webkit-transform: rotate(180deg); transform: rotate(180deg);}
}



/* Media Query */
@media only screen and (max-width : 1034px){
    .editor-container{ flex-direction: column; }
    .editor-container > div{ width: 100%; }
    textarea{ min-height: 40vh; }
}






