/* General Styles */
body {
    background-color: black;
    color: #FFA500; /* Bright orange */
    font-family: monospace;
    margin: 0;
    padding: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    min-height: 100vh;
}

h1, h2, p {
    text-align: center;
    margin: 10px auto;
    max-width: 90%;
}

/* Links Styled as Buttons */
a {
    display: inline-block;
    text-align: center;
    padding: 10px 20px;
    margin: 10px 0;
    background-color: #444;
    color: #FFA500; /* Bright orange */
    text-decoration: none;
    border: 1px solid #FFA500;
    border-radius: 5px;
    font-size: 1em;
    transition: background-color 0.3s ease, color 0.3s ease;
}
a:hover {
    background-color: #FFA500; /* Inverted color on hover */
    color: black; /* Text becomes black */
}

/* File List Styles */
.file-list {
    display: flex;
    flex-wrap: wrap; /* Allow items to wrap */
    justify-content: flex-start; /* Align items to the left */
    gap: 10px; /* Add spacing between items */
    width: 100%;
    max-width: 1200px;
    padding: 10px;
    box-sizing: border-box;
}

.file-list div {
    flex: 1 1 calc(50% - 10px); /* Allow items to adjust based on screen size */
    max-width: 100%;
    background-color: #222;
    border: 1px solid #FFA500;
    border-radius: 5px;
    padding: 10px;
    box-sizing: border-box;
    overflow-wrap: break-word; /* Ensure long text wraps */
    word-wrap: break-word; /* Legacy support for wrapping */
    text-align: left;
}

/* Input and Button Styles */
form {
    width: 100%;
    max-width: 600px;
    margin: 20px auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

input, textarea, button {
    font-family: monospace;
    font-size: 1em;
    margin: 10px 0;
    padding: 10px;
    color: #FFA500; /* Bright orange */
    background-color: #222;
    border: 1px solid #FFA500;
    border-radius: 5px;
    width: 100%;
    box-sizing: border-box;
}

textarea {
    resize: vertical;
    height: 200px;
}

button {
    cursor: pointer;
    background-color: #444;
    transition: background-color 0.3s ease, color 0.3s ease;
}
button:hover {
    background-color: #FFA500;
    color: black;
}

/* Chat Box */
.chat-box {
    width: 100%;
    max-width: 600px;
    height: 400px;
    overflow-y: auto;
    border: 1px solid #FFA500; /* Bright orange border */
    padding: 10px;
    background-color: #111; /* Dark background for contrast */
    color: #FFA500; /* Bright orange text */
    box-sizing: border-box;
    margin: 20px auto;
}

.chat-box p {
    margin: 5px 0;
    word-wrap: break-word; /* Ensure long messages wrap */
    color: #FFA500; /* Bright orange text for chat messages */
}

textarea {
    width: 100%;
    font-family: monospace;
    font-size: 1em;
    padding: 10px;
    margin: 10px 0;
    color: #FFA500; /* Bright orange text */
    background-color: #222;
    border: 1px solid #FFA500;
    border-radius: 5px;
    resize: none;
}

button {
    cursor: pointer;
    background-color: #444;
    color: #FFA500; /* Bright orange text */
    border: 1px solid #FFA500;
    padding: 10px;
    margin-top: 10px;
    border-radius: 5px;
    transition: background-color 0.3s ease, color 0.3s ease;
}
button:hover {
    background-color: #FFA500; /* Bright orange background on hover */
    color: black; /* Black text on hover */
}

/* Responsive Adjustments */
@media screen and (max-width: 768px) {
    body {
        padding: 5px;
    }
    h1, h2, p {
        font-size: 1.2em;
    }
    input, textarea, button {
        font-size: 1em;
    }
    .file-list div {
        flex: 1 1 100%; /* Full width on small screens */
    }
    .chat-box {
        height: 300px;
    }
}

/* Print Styles */
@media print {
    body {
        background-color: white;
        color: black;
        font-size: 12pt;
        margin: 0.5in;
        padding: 0;
    }
    a {
        display: none;
    }
    form, .chat-box {
        display: none;
    }
    footer {
        display: block;
        font-size: 12pt;
        text-align: center;
    }
}
