@font-face {
    font-family: 'WebPlus_IBM_VGA_8x16';
    src: url('/WebPlus_IBM_VGA_8x16.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

body {
    font-family: 'WebPlus_IBM_VGA_8x16', monospace; /* Use the specified font, fall back to generic monospace */
    background-color: #000; /* Black background */
    color: #fff; /* White text */
    display: flex; /* Use flexbox to center the terminal display on the page */
    justify-content: center;
    align-items: center;
    min-height: 100vh; /* Ensure it takes full viewport height */
    margin: 0;
    padding: 10px; /* Small outer padding for the entire page */
    box-sizing: border-box;
    overflow: auto; /* Allow scrolling if content exceeds screen */
    font-size: 16px; /* Explicitly set font size to match 8x16 font height */
}

/* Styles for the JavaScript-generated terminal output */
#terminal-output {
    max-width: 80ch; /* Ensure it adheres to the 80-character width as specified */
    width: 100%; /* Take available width up to max-width */
    line-height: 14px; /* Adjusted line height to remove perceived extra space (2px less than 16px font height) */
    white-space: pre; /* Preserve whitespace and line breaks exactly as generated ASCII art */
    box-sizing: border-box;
    padding: 0; /* No internal padding beyond what's in the ASCII art itself */
    margin: 0; /* No external margin */
    text-align: left; /* Default alignment for console text */
    overflow: hidden; /* Prevent horizontal scroll if a line somehow exceeds */
}

/* New style for the haiku lines */
.haiku-line {
    background-color: #008; /* Dark blue background */
    color: #4f4; /* Bright green text */
    /* Ensure it behaves as an inline element within pre-formatted text */
    display: inline;
    /* No padding or margin here, as it's handled by text padding in JS */
}

/* New style for the signature line */
.signature-line {
    background-color: #842; /* User specified background color */
    color: #fff; /* User specified text color */
    display: inline; /* Ensure it behaves as an inline element within pre-formatted text */
}

/* New style for the title line */
.title-line {
    background-color: #5af; /* User specified background color */
    color: #fff; /* User specified text color */
    display: inline; /* Ensure it behaves as an inline element within pre-formatted text */
}

/* The following CSS classes are present but not actively used by script.js
   as script.js generates the entire ASCII box as text content.
   They are left here for historical context as they were part of previous iterations.
.terminal-wrapper {
    max-width: 80ch;
    width: 100%;
    line-height: 1em;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

.terminal-wrapper::before {
    content: "╔═════════════════════════════════════════════════════════════════════════════════╗";
    display: block;
    white-space: pre;
    margin: 0;
    padding: 0;
    text-align: left;
    font-size: 1em;
    line-height: 1em;
    margin-bottom: 0;
}

.terminal-wrapper::after {
    content: "╚═════════════════════════════════════════════════════════════════════════════════╝";
    display: block;
    white-space: pre;
    font-size: 1em;
    line-height: 1em;
    margin-top: 0;
}

.main-content-frame {
    display: flex;
    flex-grow: 1;
    background-color: transparent;
    box-sizing: border-box;
    min-height: 1em;
    line-height: 1em;
}

.main-content-frame::before,
.main-content-frame::after {
    content: "║";
    display: block;
    white-space: pre;
    font-size: 1em;
    line-height: 1em;
}

.container {
    background-color: transparent;
    box-shadow: none;
    border-radius: 0;
    padding: 0;
    margin: 0;
    text-align: left;
    box-sizing: border-box;
    position: static;
    flex-grow: 1;
    min-height: 1em;
    line-height: 1em;
} */

h1 {
    color: #fff; /* White for the main heading */
    font-size: 2em; /* Increased font size to make it visually taller without distortion */
    margin: 0; /* Remove default margins */
    padding: 0.5em 1ch 2em 1ch; /* Use em for vertical padding, ch for horizontal */
    text-align: center; /* Center align heading within the content area */
    white-space: pre-wrap; /* Allows text to wrap naturally but preserves original spacing */
    word-wrap: break-word; /* Prevents long words from breaking layout */
    font-weight: normal; /* Ensure normal font weight */
    line-height: 1em; /* Ensures text occupies integer number of character rows */
}

p {
    font-size: 1em; /* Standard text size */
    line-height: 1.5em; /* Adjusted line height for readability of normal text, explicitly em */
    margin: 0; /* Remove default margins */
    padding: 1em 1ch; /* Use em for vertical padding, ch for horizontal */
    white-space: pre-wrap;
    word-wrap: break-word;
    font-weight: normal; /* Ensure normal font weight */
}

p:last-of-type {
    margin-bottom: 0; /* Remove extra margin for the last paragraph */
}

.signature {
    margin-top: 4em; /* Use em for vertical top margin */
    font-style: normal; /* No italics for DOS look */
    color: #fff; /* White for the signature (full brightness) */
    font-size: 0.95em;
    text-align: right; /* Right align signature */
    padding: 1em 1ch 2em 1ch; /* Use em for vertical padding, ch for horizontal */
    white-space: pre-wrap;
    word-wrap: break-word;
    font-weight: normal; /* Ensure normal font weight */
    line-height: 1.5em; /* Adjusted line height for readability of normal text, explicitly em */
}