/* ANSI Color Classes for Terminal Emulation */

/* Bright ANSI Colors (8-15) */
.ansi-black { color: #555555; }
.ansi-red { color: #ff5555; }
.ansi-green { color: #55ff55; }
.ansi-yellow { color: #ffff55; }
.ansi-blue { color: #5555ff; }
.ansi-bright-blue { color: #5555ff; }
.ansi-magenta { color: #ff55ff; }
.ansi-cyan { color: #55ffff; }
.ansi-white { color: #ffffff; }

/* Background Colors */
.ansi-bg-black { background-color: #000000; }
.ansi-bg-red { background-color: #aa0000; }
.ansi-bg-green { background-color: #00aa00; }
.ansi-bg-yellow { background-color: #aa5500; }
.ansi-bg-blue { background-color: #0000aa; }
.ansi-bg-magenta { background-color: #aa00aa; }
.ansi-bg-cyan { background-color: #00aaaa; }
.ansi-bg-white { background-color: #aaaaaa; }

.ansi-bg-bright-black { background-color: #555555; }
.ansi-bg-bright-red { background-color: #ff5555; }
.ansi-bg-bright-green { background-color: #55ff55; }
.ansi-bg-bright-yellow { background-color: #ffff55; }
.ansi-bg-bright-blue { background-color: #5555ff; }
.ansi-bg-bright-magenta { background-color: #ff55ff; }
.ansi-bg-bright-cyan { background-color: #55ffff; }
.ansi-bg-bright-white { background-color: #ffffff; }

/* Text Formatting */
.ansi-bold { font-weight: bold; }
.ansi-dim { opacity: 0.6; }
.ansi-italic { font-style: italic; }
.ansi-underline { text-decoration: underline; }
.ansi-blink { animation: ansi-blink 1s linear infinite; }
.ansi-reverse { 
    color: #000000; 
    background-color: #aaaaaa; 
}
.ansi-strikethrough { text-decoration: line-through; }


/* Extended 256-color palette (commonly used colors) */
.ansi-color-16 { color: #000000; }
.ansi-color-17 { color: #00005f; }
.ansi-color-18 { color: #000087; }
.ansi-color-19 { color: #0000af; }
.ansi-color-20 { color: #0000d7; }
.ansi-color-21 { color: #0000ff; }
.ansi-color-196 { color: #ff0000; }
.ansi-color-226 { color: #ffff00; }
.ansi-color-46 { color: #00ff00; }
.ansi-color-51 { color: #00ffff; }
.ansi-color-201 { color: #ff00ff; }
.ansi-color-231 { color: #ffffff; }


/* High contrast mode support */
@media (prefers-contrast: high) {
    .ansi-dim {
        opacity: 0.8;
    }
    
    .ansi-bright-black {
        color: #808080;
    }
}