/* Comments Have Been Added By Yours Truly To Assist In Understanding The Style Sheet */

body {
    background-color: #181e3b; /* Some Shade of Blue */
    font-family: "Comic Sans MS", cursive;
    color: #349c34; /* Some Shade of Green */
    text-align: center;
}

#banner-preview {
    width: 80%;
    height: auto;
    margin: 20px auto;
    border: 10px dashed rgb(0, 0, 0);
    background-color: white; /* Default */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
}

#main-text-display {
    margin: 0;
    padding: 0;
}

#sub-text-display {
    margin: 10px 0 0 0;
    padding: 0;
}

.controls-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    max-width: 1200px;
    margin: 20px auto;
    padding: 20px;
}

.controls-left {
    border: 5px solid #349c34; /* Some Shade of Green*/
    background: black;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.controls-right {
    border: 5px solid #349c34; /* Some Shade of Green */
    background: black;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.controls-left section {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.controls-right section {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.controls-right #export-btn {
    margin-top: auto;
}

.hidden { 
    display: none; 
}

#captcha-modal {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.9);
    display: flex;
    justify-content: center;
    align-items: center;
}

.modal-content {
    background: white;
    padding: 20px;
    color: black;
}

.grid {
    display: grid;
    grid-template-columns: repeat(3, 50px);
    gap: 5px;
    margin-bottom: 10px;
}

.cell { 
    width: 50px; 
    height: 50px; 
    background: #ccc; 
    cursor: crosshair; 
}

#binary-picker, #primary-picker, #secondary-picker {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 5px;
    margin: 10px 0;
}

.bit, .bit-primary, .bit-secondary {
    width: 30px;
    height: 30px;
    cursor: pointer;
}

/* Specifically For The Background Music */

.aggressive-sound-btn {
    position: fixed;
    top: 20px;
    right: 20px;
    padding: 15px 25px;
    font-size: 18px;
    font-weight: bold;
    background: #349c34; /* Some Shade of Green*/
    color: white;
    border: 3px solid black;
    border-radius: 0;
    cursor: pointer;
    z-index: 9999;
    transform: rotate(-5deg);
    box-shadow: 5px 5px 0 rgba(0,0,0,0.5);
    transition: all 0.1s;
}

.aggressive-sound-btn:hover {
    transform: rotate(-5deg) scale(1.1);
    box-shadow: 8px 8px 0 rgba(0,0,0,0.7);
}

.aggressive-sound-btn:active {
    transform: rotate(-5deg) scale(0.95);
}

.aggressive-sound-btn.muted {
    background: #666;
}