    /* --- CUSTOM FONTS --- */
    @font-face {
        font-family: 'NK57Monospace';
        src: url('') format('opentype');
        font-weight: normal;
        font-style: normal;
        font-display: swap;
    }

    @font-face {
        font-family: monospace;
        src: url('https://leobergamo.com/bbs/fonts/AcPlus_IBM_BIOS-2y.ttf') format('ttf');
        font-weight: normal;
        font-style: normal;
        font-display: block;
    }

    /* Force monospace for the authentic BBS aesthetic */
    *{
        font-family: monospace !important;
    }

    /* --- LAYOUT RESET --- */
    body, html {
        margin: 0;
        padding: 0;
        height: 100%;
        background: #000;
        overflow: hidden; /* Prevent scrollbars from breaking the terminal layout */
    }

    #ac_div {
        display: flex;
        width: 100vw;
        height: 100vh;
    }

    /* --- TERMINAL SECTION (xterm.js) --- */
    #tc_div {
        flex: 1;
        display: flex;
        flex-direction: column;
        min-width: 0;
        background-color: #000000 !important;
        letter-spacing: 0px;
    }

    #tc_div_terminal_div {
        flex: 1;
        background: #000;
        background-color: #000000 !important;
        font-family: monospace !important;
        letter-spacing: 0px;
    }

    /* Ensure xterm internal layers don't use default grey/white backgrounds */
    .xterm-viewport,
    .xterm-screen {
        background-color: #000000 !important;
    }

    /* --- PIXEL PERFECTION & ANTI-ALIASING --- */
    #tc_div_terminal_div, .xterm-rows {
        /* Disable font smoothing to keep retro fonts "jagged" and authentic */
        -webkit-font-smoothing: none;
        -moz-osx-font-smoothing: grayscale;
        font-smooth: never;
        text-rendering: optimizeSpeed;

        /* Force 1:1 line height to prevent vertical gaps between block characters */
        line-height: 1.0 !important;
    }

    /* Force canvas to render sharp pixels rather than blurry interpolation */
    .xterm-main-canvas {
        image-rendering: pixelated;
        image-rendering: crisp-edges;
    }

    /* --- STATUS BAR --- */
    #tc_div_status_div {
        background: #000;
        color: #CF9FFF;
        padding: 5px 10px;
        font-family: monospace;
        font-size: 12px;
        border-bottom: 1px solid #55065c;
    }

    /* --- FILE TRANSFER OVERLAYS (FTO) --- */
    #private_fto_div, #public_fto_div {
        display: none; /* Controlled via JavaScript toggle functions */
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        color: #CF9FFF;
        background: rgba(0, 0, 0, 0.85); /* Semi-transparent dimming effect */
        z-index: 1000;
        justify-content: center;
        align-items: center;
    }

    /* Position containers for Upload and Download list */
    .private_fto_upload_container,
    .public_fto_upload_container {
        position: absolute;
        top: 5%;
        left: 10%;
        width: 80%;
        height: 30%;
    }

    .private_fto_file_box_div,
    .public_fto_file_box {
        position: absolute;
        top: 30%;
        left: 10%;
        width: 80%;
        height: 65%;
        overflow: hidden;
    }

    /* Scrollable File List */
    #private_fto_file_list,
    #public_fto_file_list {
        margin-left: 0;
        width: 100%;
        height: 70%;
        overflow-y: auto;
        overflow-x: hidden;
    }

    /* --- UI ELEMENTS --- */
    button {
        background: #CF9FFF;
        color: #000;
        border: none;
        padding: 10px;
        cursor: pointer;
        width: 100%;
        font-weight: bold;
        margin-top: 10px;
    }

    button:hover {
        background: #e1bfff; /* Slightly lighter on hover */
    }

    input[type="file"] {
        margin-bottom: 10px;
        color: #CF9FFF;
    }

    .fto_title_span,
    .fto_title_span {
        color: #CF9FFF;
        float: left;
        font-size: large;
        font-weight: 900;
    }

    .fto_alert_span,
    .fto_alert_span {
        color: #f00;
        cursor: pointer;
        float: right;
    }

    /* --- RECONNECT OVERLAY (RCO) --- */
    .rco_div {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background: rgba(0, 0, 0, 0.85);
        border: 2px solid #f00;
        color: #f00;
        padding: 20px 40px;
        text-align: center;
        cursor: pointer;
        font-family: 'PxPlus IBM VGA 8x16', monospace;
        z-index: 100;
        box-shadow: 0 0 20px rgba(255, 0, 0, 0.5);
        width: 70%;
    }

    .rco_div:hover {
        background: #f00;
        color: #000;
    }