/* ============================================================
   MS-DOS PROMPT APP
   Authentic DOS terminal styling
   ============================================================ */

/* Terminal container */
.dos-terminal {
    width: 100%;
    height: 100%;
    background: #000000;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 2px 4px;
    box-sizing: border-box;
    cursor: text;
    box-shadow:
        inset -1px -1px var(--win95-white),
        inset 1px 1px var(--win95-gray),
        inset -2px -2px var(--win95-light),
        inset 2px 2px var(--win95-dark);
}

/* Output area */
.dos-output {
    font-family: "Lucida Console", "Courier New", "Consolas", monospace;
    font-size: 14px;
    line-height: 1.3;
    color: #c0c0c0;
    white-space: pre-wrap;
    word-wrap: break-word;
    user-select: text;
    -webkit-user-select: text;
}

/* Current input line */
.dos-input-line {
    font-family: "Lucida Console", "Courier New", "Consolas", monospace;
    font-size: 14px;
    line-height: 1.3;
    color: #c0c0c0;
    white-space: pre-wrap;
    word-wrap: break-word;
    user-select: text;
    -webkit-user-select: text;
}

/* Blinking cursor */
.dos-cursor {
    display: inline;
    animation: dos-blink 0.53s step-end infinite;
}

@keyframes dos-blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}

/* Text selection */
.dos-terminal ::selection {
    background: #c0c0c0;
    color: #000000;
}

.dos-terminal ::-moz-selection {
    background: #c0c0c0;
    color: #000000;
}

/* ============================================================
   DOS COLOR CODES
   Foreground color classes for the `color` command
   Lower nibble (foreground): 0-F
   ============================================================ */

/* 0 = Black */
.dos-color-0 .dos-output,
.dos-color-0 .dos-input-line {
    color: #000000;
}

/* 1 = Blue */
.dos-color-1 .dos-output,
.dos-color-1 .dos-input-line {
    color: #0000aa;
}

/* 2 = Green */
.dos-color-2 .dos-output,
.dos-color-2 .dos-input-line {
    color: #00aa00;
}

/* 3 = Aqua */
.dos-color-3 .dos-output,
.dos-color-3 .dos-input-line {
    color: #00aaaa;
}

/* 4 = Red */
.dos-color-4 .dos-output,
.dos-color-4 .dos-input-line {
    color: #aa0000;
}

/* 5 = Purple */
.dos-color-5 .dos-output,
.dos-color-5 .dos-input-line {
    color: #aa00aa;
}

/* 6 = Yellow */
.dos-color-6 .dos-output,
.dos-color-6 .dos-input-line {
    color: #aa5500;
}

/* 7 = White (default light gray) */
.dos-color-7 .dos-output,
.dos-color-7 .dos-input-line {
    color: #aaaaaa;
}

/* 8 = Gray */
.dos-color-8 .dos-output,
.dos-color-8 .dos-input-line {
    color: #555555;
}

/* 9 = Light Blue */
.dos-color-9 .dos-output,
.dos-color-9 .dos-input-line {
    color: #5555ff;
}

/* A = Light Green */
.dos-color-a .dos-output,
.dos-color-a .dos-input-line {
    color: #55ff55;
}

/* B = Light Aqua */
.dos-color-b .dos-output,
.dos-color-b .dos-input-line {
    color: #55ffff;
}

/* C = Light Red */
.dos-color-c .dos-output,
.dos-color-c .dos-input-line {
    color: #ff5555;
}

/* D = Light Purple */
.dos-color-d .dos-output,
.dos-color-d .dos-input-line {
    color: #ff55ff;
}

/* E = Light Yellow */
.dos-color-e .dos-output,
.dos-color-e .dos-input-line {
    color: #ffff55;
}

/* F = Bright White */
.dos-color-f .dos-output,
.dos-color-f .dos-input-line {
    color: #ffffff;
}

/* Background color support (upper nibble) */
.dos-bg-0 { background-color: #000000 !important; }
.dos-bg-1 { background-color: #0000aa !important; }
.dos-bg-2 { background-color: #00aa00 !important; }
.dos-bg-3 { background-color: #00aaaa !important; }
.dos-bg-4 { background-color: #aa0000 !important; }
.dos-bg-5 { background-color: #aa00aa !important; }
.dos-bg-6 { background-color: #aa5500 !important; }
.dos-bg-7 { background-color: #aaaaaa !important; }
