body, html {
    margin: 0;
    padding: 0;
    font-family: Yu Gothic;
}

@keyframes swipeLeft {
    from {
        transform: translateX(50%);
        opacity: 0;
    }
    to {
        transform: translateX(0%);
        opacity: 1;
    }
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes fadeOut {
    to {
        opacity: 0;
    }
}

h1 {
    text-align: center;
    animation: fadeIn 2s ease-in-out;
    background: linear-gradient(to right, #223344, #007BFF);
    -webkit-background-clip: text;
    color: transparent;
    font-weight: bold;
}

.box_title {
    color: black;
    /* Remove text-decoration for a cleaner look */
    text-decoration: none;
    font-size: 25px; /* Adjusted for a more dynamic sizing */
    font-weight: 500; /* Lighter weight for sleekness */
    margin: 0;
    padding: 5px;
    border-radius: 5px 5px 0 0;
    font-family: 'Poppins', sans-serif; /* Modern font choice */
    letter-spacing: 0.05em; /* Adds elegance */
    /* Subtle text shadow for depth without overwhelming */
    text-shadow: 1px 1px 2px rgba(0,0,0,0.1);
    /* Smooth transition for hover effects */
    transition: color 0.3s ease-in-out;
}

.button {
    padding: 10px 20px; /* Increased padding for a larger click area and more prominent appearance */
    margin: 1px 15px 10px;
    background-color: #223344; /* Base color */
    background-image: linear-gradient(to right, #223344, #334455); /* Adding a gradient for a more dynamic look */
    color: white;
    border: none; /* Removes the default border */
    border-radius: 5px; /* Rounded corners */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Subtle shadow for depth */
    cursor: pointer; /* Changes the cursor to a pointer on hover to indicate it's clickable */
    transition: all 0.3s ease; /* Smooth transition for hover effects */
}

.button:hover {
    background-image: linear-gradient(to right, #334455, #445566); /* Darker gradient on hover for a subtle interaction effect */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); /* Slightly larger shadow on hover for more depth */
    transform: translateY(-2px); /* Slightly raises the button to mimic a "press" effect */
}

.button:active {
    transform: translateY(1px); /* Mimics the button being pressed down */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Returns to the original shadow size */
}

.bottom {
    grid-area: Bottom;
    background-color: #fafafa;
    padding: 20px;
    border: 1px solid #eaeaea;
    display: flex;
    flex-direction: column;
    /* Soft shadow for depth without being too intrusive */
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    border-radius: 8px; /* Increased radius for modernity */
}

.closePeek {
    position: absolute;
    top: 0;
    left: 0;
    padding: 5px;
    cursor: pointer;
    font-size: 20px; /* X font size */
    font-weight: bold;
}

.container {
    display: grid;
    grid-template-columns: 0.001fr 1.4fr 1.6fr;
    grid-template-rows: 1fr 1fr 1.2fr ;
    grid-template-areas:
                ". Left Right"
                ". Left Right"
                ". Bottom Bottom";
}

.help {
    text-align: center;
    align-content: center;
}
.help button{
    padding: 10px 20px; /* Increased padding for a larger click area and more prominent appearance */
    margin: 10px 10px 10px;
    background-color: #223344; /* Base color */
    background-image: linear-gradient(to right, #223344, #334455); /* Adding a gradient for a more dynamic look */
    color: white;
    border: none; /* Removes the default border */
    border-radius: 5px; /* Rounded corners */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Subtle shadow for depth */
    cursor: pointer; /* Changes the cursor to a pointer on hover to indicate it's clickable */
    transition: all 0.3s ease; /* Smooth transition for hover effects */
}

.help button:hover {
    background-image: linear-gradient(to right, #334455, #445566); /* Darker gradient on hover for a subtle interaction effect */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); /* Slightly larger shadow on hover for more depth */
    transform: translateY(-2px); /* Slightly raises the button to mimic a "press" effect */
}

.helpWindow {
    font-size: x-large;
    font-family: 'Yu Gothic' , sans-serif;
    position: fixed;
    padding: 20px;
    background-color: #E0DFD5;
    background-image: linear-gradient(to right, #c3cfe2 0%, #c3cfe2 100%);
    color: #333;
    border: 1px solid #fff;
    border-radius: 8px; /* Rounded corners */
    box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08); /* Smoother shadow */
    z-index: 1;
    top: 10%;
    left: 20%;
    width: 60%;
    max-height: 70%;
    overflow: auto;
}

.helpWindow b{
    color: black;
}

.helpWindow select {
    float: none;
    display: block;
    color: black;
    padding: 14px;
    text-decoration: none;
    font-size: 17px;
}

.select {
    float: left;
    color: black;
    padding: 14px;
    text-decoration: none;
    font-size: 17px;
}

.left{
    grid-area: Left;
    background-color: #fafafa;
    padding: 20px;
    border: 1px solid #eaeaea;
    display: flex;
    flex-direction: column;
    /* Soft shadow */
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    border-radius: 8px;
}
.left p{
    font-size: large;
    font-weight: bold;
}

.navbar {
    overflow: hidden;
    background-color: #234;
    padding: 14px 16px;
    margin: 0;
}
.navbar a, b, .peekButton{
    float: left;
    color: white;
    text-align: center;
    padding: 14px;
    text-decoration: none;
    font-size: 17px;
}

.overlayText {
    font-size:24px;
    text-align:center;
}

.peekButton {
    padding: 15px;
    background-color: #223344; /* Base color */
    background-image: linear-gradient(to top, #fafafa, #eaeaea); /* Adding a gradient for a more dynamic look */
    color: black;
    border: none; /* Removes the default border */
    border-radius: 5px; /* Rounded corners */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Subtle shadow for depth */
    cursor: pointer; /* Changes the cursor to a pointer on hover to indicate it's clickable */
    transition: all 0.3s ease;
    margin: 10px;
    margin-top: -2px;
}

.peekButton:hover {
    background-image: linear-gradient(to right, #334455, #445566); /* Darker gradient on hover for a subtle interaction effect */
    color: white;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); /* Slightly larger shadow on hover for more depth */
    transform: translateY(-2px); /* Slightly raises the button to mimic a "press" effect */
}

.peekButton:active {
    transform: translateY(1px); /* Mimics the button being pressed down */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Returns to the original shadow size */
}

.peekWindow {
    display: none;
    font-size: x-large;
    font-weight: bold;
    position: fixed;
    padding: 20px;
    background: linear-gradient(to right, #334455 0%, #445566 100%); /* A cool gradient background */
    color: white; /* Changing text color to white for better contrast */
    border: 1px solid #fff;
    border-radius: 10px; /* Adding rounded corners */
    box-shadow: 0px 8px 15px rgba(0,0,0,0.3); /* More dynamic shadow */
    z-index: 1;
    top: 40%;
    left: 20%;
    width: 60%;
    transition: transform 0.3s ease, opacity 0.3s ease; /* Smooth transitions for transform & opacity */
    transform: scale(0.95); /* Slightly scaled down to grow on hover */
}

.right {
    grid-area: Right;
    background-color: #fafafa;
    padding: 20px;
    border: 1px solid #eaeaea;
    display: flex;
    flex-direction: column;
    /* Soft shadow*/
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    border-radius: 8px;
}


.select {
    background-color: #eaeaea;
    color: black;
    border: none; /* Removes the default border */
    border-radius: 5px; /* Rounded corners */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Subtle shadow for depth */
    cursor: pointer;
}

.select:hover {
    background: linear-gradient(to right, #334455 0%, #445566 100%);
    transition: transform 0.3s ease, opacity 0.3s ease;
    color: white;
}

.select option{
    background-color: #eaeaea;
    color: black;
    border: none; /* Removes the default border */
    border-radius: 5px; /* Rounded corners */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Subtle shadow for depth */
    cursor: pointer;
}

.score {
    font-weight: bold;
}

.tooltip {
    position: relative;
    display: inline-block;
    padding: 5px 5px; /* Increased padding for a larger click area and more prominent appearance */
    margin: 1px 10px 10px;
    background-color: #223344; /* Base color */
    background-image: linear-gradient(to right, #223344, #334455); /* Adding a gradient for a more dynamic look */
    color: white;
    border: none; /* Removes the default border */
    border-radius: 5px; /* Rounded corners */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Subtle shadow for depth */
}

.tooltipText {
    visibility: hidden;
    width: 120px;
    background-color: black;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px 0;

    /* Position the tooltip */
    position: absolute;
    z-index: 1;
    top: -5px;
    left: 105%;
}

/*Dont move, can cause errors */
button:hover, .tooltipText{
    visibility: visible;
}

.toggle .tooltipText {
    visibility: hidden;
    width: 120px;
    background-color: #eaeaea;
    color: black;
    text-align: center;
    border-radius: 6px;
    padding: 5px 0;

    /* Position the tooltip */
    position: absolute;
    z-index: 1;
    top: -10px;
    left: 145%;
}

.toggle:hover .tooltipText {
    visibility: visible;
}

.wonDisplay{
    display: none;
    position:absolute;
    background-color:green;
    color:white;;
    align-items:center;
    justify-content:center;
    opacity:0;
    font-size: 24px;
    text-align: center;
}

.verseDisplay {
    font-size: large;
    font-weight: bold;
}

/* Mobile Functionalities */
@media (max-width: 600px) {
    .container {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .left, .right, .bottom, .helpWindow, .peekWindow {
        width: 100%; /* Makes sure these elements take the full width of their container */
    }

    .navbar, .help, .bottom, .left, .right {
        padding: 10px;
    }

    .navbar a, .navbar b, .peekButton, .help button {
        padding: 10px;
        font-size: 15px;
    }

    .button, .peekButton, .select {
        padding: 8px 15px;
        font-size: 14px;
    }

    h1 {
        font-size: 18px;
    }

    .box_title {
        font-size: 20px;
    }

    .helpWindow, .peekWindow {
        top: 5%;
        left: 5%;
        width: 90%; /* Increase width to reduce whitespace and utilize more screen space */
    }

    .overlayText, .left p, .verseDisplay {
        font-size: 20px;
    }
}