.dark {
    --headingTxtColor: white;
    --headingAltColor: #55F991;
    --taglineTxtColor: #D5D4D8;
    --pwdLenDspBorder: #55F991;
    --mainBGColor: #1C1C1C;
    --containerBGColor: #1F2937;
    --defaultTextColor: white;
    --generateBtnBg: #10B981;
    --seperatorColor: #2F3E53;
    --pwdFieldBg: #273549;
    --pwdTextColor: #55F991;
    --svgFill: #10B981;
    --colorSchemeSvgFill: #ECFDF5;
}

.light {
    --headingTxtColor: #2B283A;
    --headingAltColor: #10B981;
    --taglineTxtColor: #6B7280;
    --pwdLenDspBorder: #55F991;
    --mainBGColor: #1C1C1C;
    --containerBGColor: #ECFDF5;
    --defaultTextColor: #2B283A;
    --generateBtnBg: #10B981;
    --seperatorColor: #D5D4D8;
    --pwdFieldBg: #273549;
    --pwdTextColor: #55F991;
    --colorSchemeSvgFill: #1F2937;
    --svgFill: #10B981;
}




body {
    margin: 0;
}

#main-section {
    background-color: var(--mainBGColor);
    width: 100%;
    height: 100vh;
    overflow: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    color: var(--defaultTextColor);
    font-family: "Inter", sans-serif;
}

#container {
    background-color: var(--containerBGColor);
    width: 550px;
    height: 550px;
    box-sizing: border-box;
    padding: 3.25rem;
    position: relative;
}

#color-scheme-btn {
    position: absolute;
    top: 100px;
    right: 30px;
    cursor: pointer;
    border: none;
    background: transparent;
}

#color-scheme-btn > svg {
    width: 1rem;
    height: 1rem;
    stroke: none;
    fill: var(--colorSchemeSvgFill);
}

#container > h1 {
    font-family: "Karla", sans-serif;
    font-size: 2.5rem;
    font-weight: 800;
    margin-bottom: 10px;
    color: var(--headingTxtColor);
}

#container > h1 > span {
    color: var(--headingAltColor);
}

#container > p {
    margin-top: 0;
    margin-bottom: 3.25rem;
    color: var(--taglineTxtColor);
}

#customization-container {
    margin-bottom: 3rem;
}

#pwd-length-container {
    display: flex;
    align-items: center;
    gap: 1rem;
}

#pwd-length-display {
    border: 2px solid var(--pwdLenDspBorder);
    color: var(--defaultTextColor);
    width: 1.25rem;
    text-align: right;
    padding: 3px 6px;
    font-size: 0.85rem;
}

.checkbox-container {
    margin: 4px 0;
}

#generate-btn {
    color: white;
    background-color: var(--generateBtnBg);
    border: none;
    padding: 9px 15px;
    border-radius: 6px;
    font-weight: 500;
}

.seperator {
    border: 1px solid var(--seperatorColor);
    margin: 35px 0;
}

.pwd-field-container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 1.5rem;
}

.pwd-field {
    height: 2.5rem;
    width: 100%;
    background-color: var(--pwdFieldBg);
    border-radius: 6px;
    color: var(--pwdTextColor);
    font-size: 1rem;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    overflow: hidden;
}

#pwd-field-1, #pwd-field-2 {
    text-wrap: nowrap;
    width: 100%;
    margin-left: 0.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
}

#cpy-pwd-1, #cpy-pwd-2 {
    width: 1.5rem;
    height: 1.5rem;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

#cpy-pwd-1 > svg, #cpy-pwd-2 > svg {
    width: 1rem;
    height: 1rem;
    stroke: none;
    fill: var(--svgFill);
    cursor: pointer;
}