﻿* {
    box-sizing: border-box;
}
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 15px;
    background: #c4cdd8;
    color: #444;
    margin: 0;
    padding: 20px 10px;
    line-height: 1.6;
}
.container {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding: 30px;
    background: #f8f9fa;
    box-shadow: 0 5px 20px rgba(0,0,0,0.05);
    border-radius: 12px;
    overflow: hidden;
}
#header {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eaeaea;
}
#LogoText { 
    font-size: 24px; 
    font-weight: 700; 
    color: #2c3e50; 
}
.row { 
    display: flex; 
    align-items: center; 
    margin-bottom: 15px; 
    width: 100%; 
}
.chboxl { 
    font-weight: 600; 
    width: 45%; 
    padding-right: 15px; 
    color: #555; 
}
.chboxr, .chboxr2 { 
    width: 55%; 
    display: flex; 
    align-items: center; 
    flex-wrap: wrap; 
}
.chboxr label { 
    display: flex; 
    align-items: center; 
    cursor: pointer; 
    margin-right: 10px; 
    white-space: nowrap; 
}
.chboxr input[type="checkbox"] { 
    margin-right: 8px; 
    width: 16px; 
    height: 16px; 
    margin-top: 0; 
}
select, input[type="text"], textarea {
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-family: inherit;
    font-size: 14px;
    outline: none;
    transition: border-color 0.3s, box-shadow 0.3s;
    background-color: #fff; 
    color: #333;
}
select:focus, input[type="text"]:focus, textarea:focus { 
    border-color: #007bff; 
    box-shadow: 0 0 0 2px rgba(0,123,255,0.1); 
}
select {
    min-width: 100px;
    cursor: pointer;
    -webkit-appearance: none; 
    appearance: none; 
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23333%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-13%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2013l131.3%20131.3c3.6%203.6%207.9%205.4%2013%205.4s9.3-1.8%2013-5.4l131.3-131.3c3.6-3.6%205.4-7.9%205.4-13%200-5-1.8-9.3-5.4-13z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 10px;
    padding-right: 30px;
}
.txt_options { 
    flex: 1; 
    min-width: 150px; 
}
#sec_btn { 
    width: 100%; 
    margin-top: 35px; 
    display: flex; 
    justify-content: center; 
}
#copyright_footer {
    text-align: center; 
    font-size: 10px; 
    color: #888; 
    margin-top: 5px; 
    margin-bottom: 10px;
    opacity: 0; 
    transition: opacity 0.3s ease; 
    text-transform: uppercase; 
    letter-spacing: 1px; 
    font-weight: 400;
}
.container:hover #copyright_footer { 
    opacity: 1; 
}
.button {
    cursor: pointer; 
    font-family: inherit; 
    font-weight: 600; 
    border-radius: 6px;
    transition: all 0.2s ease-in-out; 
    text-align: center; 
    border: 1px solid transparent;
}
.GenerateBtn {
    background-color: #007bff; 
    color: #fff; 
    font-size: 16px; 
    padding: 12px 40px; 
    width: auto; 
    min-width: 220px;
    box-shadow: 0 4px 6px rgba(50,50,93,0.11), 0 1px 3px rgba(0,0,0,0.08);
}
.GenerateBtn:hover { 
    background-color: #0056b3; 
    transform: translateY(-1px); 
    box-shadow: 0 7px 14px rgba(50,50,93,0.1), 0 3px 6px rgba(0,0,0,0.08); 
}
.ResetIconBtn {
    background-color: #f1f4f8; 
    color: #555; 
    border: 1px solid #ccc; 
    font-size: 18px; 
    width: 38px; 
    height: 38px; 
    line-height: 36px; 
    padding: 0; 
    margin-left: 10px; 
    flex-shrink: 0; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    box-shadow: none; 
    font-weight: bold;
}
.ResetIconBtn:hover { 
    background-color: #e2e6ea; 
    border-color: #adb5bd; 
    color: #000; 
}
#sec_password { 
    margin-top: 20px; 
    background: #f1f4f8; 
    padding: 20px; 
    border-radius: 8px; 
    border: 1px solid #e1e5eb; 
}
#sec_password .chboxl { 
    margin-bottom: 10px; 
    width: 100%; 
}
#sec_password .chboxr2 { 
    width: 100%; 
}
.txt_password {
    width: 100%; 
    min-height: 60px; 
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 16px; 
    color: #0056b3; 
    background-color: #fff; 
    padding: 15px; 
    border: 2px solid #dce0e5; 
    border-radius: 6px; 
    resize: vertical;
    white-space: pre;      
    overflow-x: auto;      
}
.txt_password:focus { 
    border-color: #007bff; 
}
.CopyBtn {
    background-color: #f1f4f8; 
    color: #555; 
    border: 1px solid #ccc; 
    font-size: 14px; 
    padding: 8px 20px; 
    margin-top: 12px;
    width: 100%;
    max-width: 250px; 
}
.CopyBtn:hover {
    background-color: #e2e6ea; 
    border-color: #adb5bd; 
    color: #000; 
}
label {
    cursor: pointer;
}
@media screen and (max-width: 768px) {
    .container { 
        padding: 20px; 
    }
    #header { 
        flex-direction: column; 
        text-align: center; 
    }
    .row { 
        flex-direction: column; 
        align-items: flex-start; 
    }
    .chboxl { 
        width: 100%; 
        margin-bottom: 5px; 
        padding-right: 0; 
    }
    .chboxr, .chboxr2 { 
        width: 100%; 
    }
    .GenerateBtn, .CopyBtn { 
        width: 100%;
        max-width: 100%; 
    }
    #copyright_footer { 
        opacity: 1; 
        margin-bottom: 20px; 
    }
}