* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  display: flex;
  flex-direction: column;
  height: 100vh;
  background-color: rgb(52, 34, 46);
  font-family: sans-serif;
  justify-content: center;
  align-items: center;
}


.main-heading {
  color: #29f65c;
  font-size: 3rem;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 2px;
  letter-spacing: 5px;
  text-shadow: 0 0 5px rgba(41, 246, 92, 0.7);
}


.code-editor {
  width: 95vw;
  height: 95vh;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  background-color: #9b9ba4;
  border-radius: 1rem;
  overflow: hidden;
  border: 2px solid #29f65c;
}

.code {
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  overflow-y: auto;
  background-color: #17161d;
  padding: .5rem;
}

h1 {
  font: 600 1.2rem sans-serif;
  margin: .2rem 0;
  color: #fff;
}

.code textarea {
  width: 100%;
  height: calc(100% - 2.2rem);
  background-color: rgb(52, 53, 65);
  color: rgb(74, 225, 255);
  border: none;
  outline: none;
  padding: .5rem;
  font-size: 1.1rem;
  resize: vertical;
}

.code textarea::-webkit-scrollbar {
  width: .4rem;
}

.code textarea::-webkit-scrollbar-thumb {
  background-color: rgb(255, 40, 113);
  border-radius: .4rem;
}

#result {
  width: 100%;
  height: 100%;
  border: none;
}

a {
  background-color: lime;
  color: #fff;
  padding: 0 1.2rem;
  border-radius: .5rem;
  text-decoration: none;
  font-size: 2.5rem;
  float: right;
  cursor: pointer;
}

footer {
position: absolute;
bottom: 3px;
width: 100%;
text-align: center;
color: hsl(111, 96%, 46%); 
opacity: 0.7;
font-size: 0.8rem;
letter-spacing: 1px;
}

.header-bar {
    width: 95vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

#downloadBtn {
    padding: 8px 16px;
    background-color: #29f65c;
    color: #17161d;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 14px;
    box-shadow: 0 0 5px rgba(41, 246, 92, 0.7);
}

#downloadBtn:hover {
    background-color: #1ed34d;
}

.button-group {
    display: flex;
    gap: 10px;
}

#openBtn {
    padding: 8px 16px;
    background-color: #29f65c;
    color: #17161d;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 14px;
    box-shadow: 0 0 5px rgba(41, 246, 92, 0.7);
}

.editor-button:hover {
    background-color: #1ed34d;
}

#clearBtn {
    padding: 8px 16px;
    background-color: #ff4444;
    color: #17161d;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 14px;
    box-shadow: 0 0 5px rgba(255, 68, 68, 0.7);
}

#clearBtn:hover {
    background-color: #ff0000;
}

.credit {
    font-size: 0.8rem;
    color: #29f65c;
    opacity: 0.7;
    text-transform: none;
    letter-spacing: 1px;
    font-weight: normal;
    vertical-align: middle;
}