* {
    box-sizing: border-box;
}


body {

    margin: 0;

    font-family: Arial, Helvetica, sans-serif;

    background: #f8fafc;

    color: #1f2937;

}



.container {

    max-width: 800px;

    margin: 50px auto;

    padding: 40px;

    background: white;

    border-radius: 20px;

    box-shadow: 0 10px 30px rgba(0,0,0,0.08);

}




.brand {

    text-align: center;

    font-size: 24px;

    margin-bottom: 20px;

}





h1 {

    text-align: center;

    font-size: 42px;

    margin-bottom: 15px;

}



p {

    text-align: center;

    color: #6b7280;

    line-height: 1.6;

}





.privacy {

    margin-top: 15px;

    font-size: 13px;

    color: #6b7280;

    text-align: center;

}




.password-box {

    margin-top: 35px;

}




.password-box input {

    width: 100%;

    padding: 18px;

    font-size: 20px;

    border: 1px solid #d1d5db;

    border-radius: 12px;

    text-align: center;

}





.buttons {

    display: flex;

    justify-content: center;

    gap: 15px;

    flex-wrap: wrap;

    margin: 25px 0;

}





button {

    background: #2563eb;

    color: white;

    border: none;

    padding: 12px 22px;

    border-radius: 10px;

    cursor: pointer;

    font-size: 16px;

}




button:hover {

    background: #1d4ed8;

}




.settings,
.strength,
.how-it-works {

    margin-top: 35px;

    padding: 25px;

    background: #f8fafc;

    border-radius: 15px;

}




.settings h2,
.strength h2,
.how-it-works h2 {

    text-align: center;

    font-size: 24px;

}




.settings label {

    display: block;

    margin: 15px 0;

    color: #374151;

}





input[type="range"] {

    width: 100%;

    margin-top: 15px;

}





input[type="checkbox"] {

    margin-right: 10px;

}




#strengthText {

    font-size: 18px;

    font-weight: bold;

}





.how-it-works ol {

    color: #4b5563;

    line-height: 1.8;

}





footer {

    text-align: center;

    margin-top: 40px;

    color: #6b7280;

}





@media(max-width:700px){


    .container {

        margin: 20px;

        padding: 25px;

    }


    h1 {

        font-size: 32px;

    }


    button {

        width: 100%;

    }


}

/* =====================================
   Navigation
====================================== */

nav{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:20px 40px;

    background:white;

    border-bottom:1px solid #e5e7eb;

    position:sticky;

    top:0;

    z-index:1000;

}


.logo a{

    color:#1f2937;

    text-decoration:none;

    font-size:22px;

    font-weight:bold;

}


.nav-links{

    display:flex;

    gap:25px;

}


.nav-links a{

    color:#4b5563;

    text-decoration:none;

    font-weight:600;

    transition:.2s;

}


.nav-links a:hover{

    color:#2563eb;

}


/* =====================================
   Back to Top
====================================== */

#backToTop{

    position:fixed;

    bottom:30px;

    right:30px;

    width:52px;

    height:52px;

    border:none;

    border-radius:50%;

    background:#2563eb;

    color:white;

    font-size:24px;

    font-weight:bold;

    cursor:pointer;

    display:none;

    align-items:center;

    justify-content:center;

    box-shadow:0 6px 18px rgba(0,0,0,.18);

    transition:.2s;

    z-index:999;

}


#backToTop:hover{

    background:#1d4ed8;

    transform:translateY(-3px);

}


#backToTop:active{

    transform:scale(.95);

}


/* =====================================
   Mobile Navigation
====================================== */

@media(max-width:700px){

    nav{

        padding:18px 20px;

    }


    .nav-links{

        gap:14px;

        font-size:14px;

    }


    #backToTop{

        width:46px;

        height:46px;

        right:20px;

        bottom:20px;

        font-size:21px;

    }

}

/* =====================================
   Tools Dropdown Navigation
====================================== */

.tools-dropdown {

    position: relative;

    display: inline-block;

}


.tools-dropdown-button {

    background: none;

    border: none;

    color: #4b5563;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 16px;

    font-weight: 600;

    cursor: pointer;

    padding: 0;

    margin: 0;

}


.tools-dropdown-button:hover {

    background: none;

    color: #4b5563;

}


/* Dropdown menu */

.tools-dropdown-menu {

    display: none;

    position: absolute;

    right: 0;

    top: 100%;

    width: 240px;

    background: white;

    border: 1px solid #e5e7eb;

    border-radius: 12px;

    box-shadow: 0 10px 30px rgba(0,0,0,0.12);

    padding: 8px;

    z-index: 2000;

}


/* Keep dropdown open while hovering */

.tools-dropdown:hover .tools-dropdown-menu {

    display: block;

}


/* Dropdown links */

.tools-dropdown-menu a {

    display: block;

    padding: 11px 14px;

    color: #374151;

    text-decoration: none;

    border-radius: 8px;

    font-size: 15px;

}


.tools-dropdown-menu a:hover {

    background: #f3f4f6;

    color: #2563eb;

}


/* Current tool */

.tools-dropdown-menu a.current-tool {

    background: #eff6ff;

    color: #2563eb;

    font-weight: bold;

}


.tools-dropdown-menu a.current-tool:hover {

    background: #dbeafe;

    color: #1d4ed8;

}

/* =====================================
   Password Generator - Mobile Improvements
====================================== */

@media (max-width:700px){

    body{
        overflow-x:hidden;
    }


    .container{

        width:calc(100% - 30px);

        max-width:none;

        margin:15px auto;

        padding:20px 16px;

        border-radius:18px;

    }


    .brand{

        font-size:21px;

        margin-bottom:12px;

    }


    h1{

        font-size:30px;

        line-height:1.2;

        margin-bottom:12px;

    }


    p{

        font-size:15px;

        line-height:1.6;

    }


    .privacy{

        font-size:12px;

        margin-top:12px;

    }


    /* Password display */

    .password-box{

        margin-top:25px;

    }


    .password-box input{

        width:100%;

        padding:15px 12px;

        font-size:17px;

        border-radius:11px;

    }


    /* Buttons */

    .buttons{

        gap:10px;

        margin:20px 0;

    }


    .buttons button{

        width:100%;

        padding:13px 18px;

        font-size:16px;

    }


    /* Settings / strength / instructions */

    .settings,
    .strength,
    .how-it-works{

        margin-top:25px;

        padding:20px 16px;

        border-radius:14px;

    }


    .settings h2,
    .strength h2,
    .how-it-works h2{

        font-size:21px;

        line-height:1.3;

    }


    .settings label{

        margin:14px 0;

        font-size:15px;

        line-height:1.5;

    }


    input[type="range"]{

        margin-top:10px;

    }


    #strengthText{

        font-size:17px;

    }


    .how-it-works ol{

        padding-left:20px;

        font-size:15px;

        line-height:1.7;

    }


    /* Back to top */

    #backToTop{

        width:46px;

        height:46px;

        min-height:46px;

        right:20px;

        bottom:20px;

        padding:0;

        font-size:21px;

    }

}

/* =====================================
   Share This Tool
====================================== */

.share-section {

    width: 100%;

    max-width: 700px;

    margin: 60px auto 40px auto;

    padding: 35px 25px;

    text-align: center;

    background: #f3f4f6;

    border-radius: 16px;

}


.share-section h2 {

    margin: 0 0 10px 0;

    text-align: center;

}


.share-section p {

    color: #6b7280;

    margin: 0 auto 20px auto;

    text-align: center;

}


#shareButton {

    display: block;

    margin: 0 auto;

    background: #2563eb;

    color: white;

    border: none;

    padding: 12px 24px;

    border-radius: 10px;

    font-size: 16px;

    cursor: pointer;

    transition: 0.2s;

}


#shareButton:hover {

    background: #1d4ed8;

}