 body {
     background-color: #ffffff;
     color: #333;
     font-family: 'Agency FB', sans-serif;
     background-color: #f5f5f5;
     transition: background-color 0.4s ease, color 0.4s ease; /* Smooth transition */
 }

 /* Accordion styles */
.accordion {
    background-color: #e6ecff;
    color: black;
    cursor: pointer;
    padding: 1px;
    width: calc(100% - 4px); /* Adjust width to account for margin */
    border: 1.5px solid #9999ff;
    text-align: left;
    font-size: 15px;
    transition: 0.9s;
    margin: 4px 2px 4px 0; /* Add margin-right */
    border-radius: 12px;
    position: relative;
    left: 10px;
    overflow-x: auto;
    font-family: 'Times New Roman', Times, serif;
}

     .accordion.active,
     .accordion:hover {
         background-color: #ccc;
     }

.panel {
    padding: 2px 5px;
    display: none;
    overflow-x: auto;
    background-color: white;
    border-radius: 0 0 30px 30px;
    font-family: 'Times New Roman', Times, serif;
    left: 10px;
}

 /* Dark mode toggle button styling */
#toggleDarkMode {
    
    padding: 4px 8px;
    border: 4px solid white;
    background-color: #f2a0f2;
    color: white;
    font-size: 24px; /* Increased font size for emoji */
    cursor: pointer;
    position: absolute;
    top: 10px;
    right: 10px;
    border-radius: 10px;
    transition: background-color 0.3s ease, transform 0.2s ease-out, font-size 0.2s ease-in-out;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    display: flex;
    justify-content: center;
    align-items: center;
}
@media (max-width: 768px) { /* Adjust for mobile devices */
    #toggleDarkMode {
        position: fixed;
        top: 5px; /* Adjust position for smaller screens */
        right: 5px;
        padding: 3px 6px; /* Reduced padding for compact size */
        font-size: 20px; /* Reduced font size */
        border: 3px solid white; /* Thinner border */
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); /* Softer shadow */
    }
}

@media (max-width: 425px) { /* Further adjustments for very small screens */
    #toggleDarkMode {
        position: fixed;
        top: 3px;
        right: 3px;
        padding: 2px 5px;
        font-size: 18px; /* Smallest font size */
        border-radius: 8px; /* Adjust border radius */
    }
}

     /* Hover effects for toggle button */
     #toggleDarkMode:hover {
         background-color: #3b3a34;
         transform: scale(1.1); /* Slightly larger on hover */
     }

 /* Dark mode styles */
 body.dark-mode {
     background-color: #121212;
     color: #e0e0e0;
 }

     body.dark-mode .accordion {
         background-color: #333;
         color: #e0e0e0;
         border-color: #444;
     }

         body.dark-mode .accordion.active,
         body.dark-mode .accordion:hover {
             background-color: #444;
         }

     body.dark-mode .panel {
         background-color: #1e1e1e;
         color: #e0e0e0;
     }

     body.dark-mode #toggleDarkMode {
         background-color: #91deed;
     }

         body.dark-mode #toggleDarkMode:hover {
             background-color: #f7f2f0;
         }

 /* Search box and pagination styling */
 .search-container {
     position: relative;
     display: flex;
     justify-content: center;
     margin: 20px 0;
     border-radius: 20px;
     overflow: hidden;
     box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.1);
 }

     .search-container input[type="text"] {
         width: 150px;
         padding: 10px;
         border: 1px solid darkblue;
         outline: none;
         font-size: 16px;
         transition: width 0.4s ease-in-out;
         border-top-left-radius: 20px;
         border-bottom-left-radius: 20px;
     }

         .search-container input[type="text"]:focus {
             width: 250px;
         }

     .search-container button {
         padding: 10px 20px;
         border: none;
         background-color: #4CAF50;
         color: white;
         font-size: 16px;
         cursor: pointer;
         border-top-right-radius: 20px;
         border-bottom-right-radius: 20px;
         transition: background-color 0.3s ease, transform 0.2s ease-out;
     }

         .search-container button:hover {
             background-color: #45a049;
             transform: scale(1.05);
         }

 /* Pagination controls styling */
 #paginationControls button {
     padding: 10px 20px;
     font-size: 16px;
     background-color: #4CAF50;
     color: white;
     border: none;
     border-radius: 25px;
     cursor: pointer;
     transition: background-color 0.3s ease, transform 0.2s ease;
     box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
 }

     #paginationControls button:hover {
         background-color: #45a049;
         transform: scale(1.1);
         box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.3);
     }

     #paginationControls button:active {
         transform: scale(1.05);
         box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.2);
     }


    
 .flex-container {
     display: flex;
     position: sticky;
     justify-content: space-evenly;
     align-items: center;
     z-index: 1;
     top: 5px;
     margin: 20px;
 }
@media (max-width: 768px) {
    .flex-container {
        flex-direction: column; /* Stack items vertically for smaller screens */
        justify-content: center; /* Center items in the new vertical layout */
        align-items: center;
        margin: 5px; /* Reduce outer spacing */
        padding: 10px;
    }

        .flex-container > * {
            margin: 5px 0; /* Add spacing between items */
            width: 90%; /* Ensure child elements fit nicely in smaller screens */
        }
}

 header {
     position: fixed;
     top: 0;
     left: 0;
     right: 0;
     height: 90px; /* Height of the header */
     background-color: white;
     color: #0F4C81;
     text-align: center;
     line-height: 90px; /* Center text vertically */
     transition: top 0.3s;
     display: flex;
     align-items: center; /* Align items vertically */
     justify-content: center; /* Center items horizontally */
 }
@media (max-width: 768px) { /* Adjust for mobile screens */
    header {
        top: 10px;
        height: 80px; /* Reduced height for mobile */
        line-height: 40px; /* Adjust vertical centering */
        font-size: 14px; /* Reduce font size for smaller screens */
        padding: 0 5px; /* Add padding for spacing */
    }
}
 #logo {
     height: 90px; /* Smaller logo size */
     margin-right: 10px; /* Space between logo and text */
 }

 #header-text {
     font-family: 'Edwardian Script ITC', cursive; /* Custom font */
     font-size: 45px; /* Adjust font size as needed */
 }
@media (max-width: 425px) { /* Further adjustment for very small screens */
    #header-text {
        font-size: 30px; /* Even smaller font size for tiny devices */
        text-align: center; /* Ensure text is centered for narrow screens */
    }
}
@media (max-width: 768px) {
    .equation-container {
        font-size: 0.9em; /* Reduce font size for smaller screens */
    }
}