/* General Styles */
body {
    font-family: 'Roboto', sans-serif;
    background-color: #1a1a1a;
    color: #e0e0e0;
    margin: 0;
    padding: 0;
    line-height: 1.6;
    opacity: 0;
    animation: fadeIn 1s ease forwards;
    padding-top: 30px;

}

h1, h2, h3 {
    font-family: 'Press Start 2P', sans-serif;
    color: #f72585;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

p {
    font-size: 0.9em;
    color: #666; /* Adjust to match your theme */
    margin: 5px 0;
}

/* Unified Button Styles */
.button {
    display: inline-block;
    padding: 10px 20px;
    margin: 10px 5px;
    background-color: #3355aa;
    color: #ffffff;
    font-family: 'Roboto', sans-serif;
    font-size: 1em;
    text-align: center;
    text-decoration: none;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease, color 0.3s ease;
}

.button:hover {
    background-color: #4a6fb8;
    transform: scale(1.05);
    box-shadow: 0 0 8px #4a6fb8;
    color: #ffffff;
}

/* Links */
a.button {
    font-size: 1em;
    color: #ffffff;
}

a.button:hover {
    color: #ffffff;
}

/* Input Fields */
input, textarea {
    background-color: #2c2c2c;
    color: #e0e0e0;
    border: 2px solid #666;
    padding: 10px;
    border-radius: 5px;
    outline: none;
    transition: border-color 0.3s;
}

input:focus, textarea:focus {
    border-color: #4cc9f0;
    box-shadow: 0 0 8px #4cc9f0;
}
/* Custom Warning Submission Section */
#new_warning_input {
    background-color: #2c2c2c;
    color: #e0e0e0;
    border: 2px solid #666;
    padding: 10px;
    border-radius: 5px;
    outline: none;
    transition: border-color 0.3s, box-shadow 0.3s;
    width: 100%;
    max-width: 400px;
    font-size: 1em;
    margin-bottom: 10px;
}

#new_warning_input:focus {
    border-color: #4cc9f0;
    box-shadow: 0 0 8px #4cc9f0;
}

#add_warning_btn {
    display: inline-block;
    padding: 10px 20px;
    background-color: #3355aa;
    color: #ffffff;
    font-size: 1em;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

#add_warning_btn:hover {
    background-color: #4a6fb8;
    transform: scale(1.05);
    box-shadow: 0 0 8px #4a6fb8;
}
/* Table Styles */
table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
}

thead th {
    background-color: #3a3a3a;
    color: #ffffff;
    padding: 10px;
    text-align: left;
    font-family: 'Press Start 2P', sans-serif;
}

tbody td {
    background-color: #2a2a2a;
    color: #e0e0e0;
    padding: 10px;
}

tbody tr:nth-child(even) {
    background-color: #2f2f2f;
}

tbody tr:hover {
    background-color: #4cc9f0;
    color: #1a1a2e;
}

/* Section Headings */
.section {
    margin-bottom: 30px;
    padding: 15px;
    border-radius: 8px;
    background: linear-gradient(145deg, #1a1a1a, #2c2c2c);
    box-shadow: 0 0 10px rgba(0, 245, 212, 0.3);
}

/* Drop Zone for Submit Page */
.drop-zone {
    border: 2px dashed #444;
    padding: 15px;
    margin-bottom: 20px;
    min-height: 70px;
    background-color: #2c2c2c;
    color: #ffffff;
    display: flex;
    flex-wrap: wrap;
    cursor: pointer;
}

.draggable-label {
    display: inline-block;
    padding: 5px 10px;
    margin: 5px;
    background-color: #3a6ea5;
    color: #ffffff;
    border-radius: 4px;
    cursor: move;
    transition: background-color 0.2s ease;
}

.draggable-label:hover {
    background-color: #4a7eb5;
}

/* Summary Section */
.summary-section {
    margin-bottom: 20px;
}

.summary-section h3 {
    color: #007BFF;
    margin-bottom: 10px;
}

.summary-section ul {
    list-style-type: none;
    padding: 0;
}

.summary-section li {
    padding: 5px 0;
    font-size: 1.1em;
}

/* Warnings and Summary Tables */
.warnings-table,
.summary-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
    background-color: #2a2a2a;
	table-layout: fixed;
}

.warnings-table th,
.summary-table th {
    background-color: #3a3a3a;
    color: #f5e1da;
    padding: 10px;
    text-align: left;
    font-family: 'Press Start 2P', sans-serif;
    overflow: hidden; /* Prevents overflow if content is too wide */
    text-overflow: ellipsis; /* Optional: Adds ellipsis (...) if the text is truncated */
}

.warnings-table td,
.summary-table td {
    padding: 10px;
    border-bottom: 1px solid #444;
    color: #e0e0e0;
    overflow: hidden; /* Prevents overflow if content is too wide */
    text-overflow: ellipsis; /* Optional: Adds ellipsis (...) if the text is truncated */																						 
}

.warnings-table tr:nth-child(even),
.summary-table tr:nth-child(even) {
    background-color: #2f2f2f;
}

/* Fade-In Animation */
@keyframes fadeIn {
    to {
        opacity: 1;
    }
}

.container {
    flex: 1; /* This ensures the main content takes up the available space */
}

/* Accessibility Toggle Button */
button[aria-label="Toggle Accessibility Mode"] {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 100; /* Ensure it stays on top of other elements */
    padding: 10px 15px;
    background-color: #3355aa; /* Restore default background color */
    color: #ffffff; /* Ensure text is visible */
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1em; /* Adjust font size for readability */
    font-family: 'Roboto', sans-serif; /* Consistent font */
    transition: background-color 0.3s ease, color 0.3s ease;
}

button[aria-label="Toggle Accessibility Mode"]:hover {
    background-color: #4a6fb8; /* Slightly lighter hover effect */
    color: #ffffff; /* Ensure text remains visible on hover */
}

button[aria-label="Toggle Accessibility Mode"]:focus {
    outline: 2px solid #4cc9f0; /* High-visibility focus outline */
    outline-offset: 2px;
}


button[aria-label="Toggle Accessibility Mode"]:hover {
    background-color: #666;
}

body, html {
    height: 100%; /* Make sure the body and html elements take up the full height of the viewport */
    margin: 0; /* Remove default margin */
    display: flex;
    flex-direction: column; /* Stack content vertically */
}

/* Footer (Sticky Ko-fi Container) */
#kofi-container {
    background-color: rgba(26, 26, 26, 0.9);
    padding: 10px 20px;
    display: flex;
    justify-content: space-between; /* Space out the content */
    align-items: center; /* Align items vertically */
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.5); /* Optional shadow for separation */
    margin-top: auto; /* Push footer to bottom if content is short */
    border-top: 2px solid rgba(255, 255, 255, 0.2); /* Accessible.css: #000000 */
}

#kofi-link {
    margin-right: 10px;
}

#kofi-link img {
    height: 45px;
    width: auto;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

#kofi-link img:hover {
    transform: scale(1.1);
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.8); /* Accessible.css: #000000 */
}

#kofi-container p {
    margin: 0;
    font-size: 0.9em;
    color: #e0e0e0; /* Accessible.css: #000000 */
    flex-grow: 1; /* Take up available space */
}

#copyright-notice {
    font-size: 0.8em;
    color: #e0e0e0; /* Accessible.css: #000000 */
    white-space: nowrap;
    margin-left: 10px;
}
@media (max-width: 768px) {
    button[aria-label="Toggle Accessibility Mode"] {
        position: absolute; /* Relative to the page content, not the viewport */
        top: 10px; /* Positioned near the top of the page */
        left: 10px;
        padding: 6px 10px;
        font-size: 0.8em;
        z-index: 100;
    }
    /* Ko-fi Footer */
    #kofi-container {
        flex-direction: column; /* Stack items vertically */
        justify-content: center;
        align-items: center;
        padding: 15px;
        text-align: center; /* Center-align all text */
        flex-wrap: wrap; /* Allow items to wrap */
    }

    #kofi-link img {
        height: 35px; /* Smaller button for mobile */
        margin-bottom: 10px; /* Space between the button and the text */
    }

    #kofi-container p {
        font-size: 1em; /* Ensure text is legible */
        margin: 0;
        white-space: normal; /* Allow wrapping */
        text-align: center; /* Center-align text */
    }

    #copyright-notice {
        margin-top: 10px;
        font-size: 0.9em;
        text-align: center; /* Center-align copyright notice */
    }
}
