/* theme-fasm.css */

/* Base editor styles */
.ace_editor {
    background-color: #272822;
    /* Dark background like Monokai */
    color: #F8F8F2;
    /* Light text */
    font-family: 'Monaco', 'Menlo', 'Consolas', monospace;
    font-size: 14px;
}

/* Gutter (line numbers) */
.ace_gutter {
    background: #1E1E1E;
    color: #858585;
}

/* Cursor and selection */
.ace_cursor {
    color: #F8F8F2;
}

.ace_selection {
    background: #49483E;
}

/* Token-specific styles for FASM grammar */
.ace_comment {
    color: #75715E;
    /* Gray for comments */
    font-style: italic;
}

.ace_keyword {
    color: #F92672;
    /* Pink for labels and rel_labels */
    font-weight: bold;
}

.ace_constant.ace_language {
    color: #AE81FF;
    /* Purple for error_code and data_pointer */
}

.ace_support.ace_variable {
    color: #66D9EF;
    /* Cyan for registers */
}

.ace_keyword.ace_operator {
    color: #FD971F;
    /* Orange for instructions */
    font-weight: bold;
}

.ace_constant.ace_numeric {
    color: #A6E22E;
    /* Green for hex and numbers */
}

.ace_invalid {
    color: #F8F8F2;
    background-color: #F92672;
    /* Red background for errors */
}

/* Optional: Line highlighting */
.ace_active-line {
    background: #3E3D32;
}

/* Optional: Matching brackets */
.ace_bracket {
    border: 1px solid #F8F8F2;
}