/* Syntax Highlighter CSS - Extracted from public/js/syntax-highlighter.js */

/* Container for syntax highlighter */
.syntax-highlighter-wrapper {
    position: relative;
    width: 100%;
}

/* Hidden textarea with transparent text */
.syntax-highlighter-textarea {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    color: transparent;
    caret-color: inherit;
    background: transparent;
    resize: none;
    border: none;
    outline: none;
    padding: 10px;
    margin: 0;
    box-sizing: border-box;
    font-family: 'Courier New', Courier, monospace;
    font-size: 14px;
    line-height: 1.5;
    tab-size: 4;
    z-index: 2;
}

/* Display div with highlighted syntax */
.syntax-highlighter-display {
    pointer-events: none;
    padding: 10px;
    margin: 0;
    box-sizing: border-box;
    font-family: 'Courier New', Courier, monospace;
    font-size: 14px;
    line-height: 1.5;
    white-space: pre-wrap;
    word-wrap: break-word;
    overflow-wrap: break-word;
    position: relative;
    z-index: 1;
}

/* Default min-height for editor */
.syntax-highlighter-wrapper.default-height .syntax-highlighter-textarea,
.syntax-highlighter-wrapper.default-height .syntax-highlighter-display {
    min-height: 200px;
}

/* Syntax highlighting token styles (to be defined based on language) */
.syntax-keyword {
    color: #569cd6;
    font-weight: bold;
}

.syntax-string {
    color: #ce9178;
}

.syntax-comment {
    color: #6a9955;
    font-style: italic;
}

.syntax-number {
    color: #b5cea8;
}

.syntax-function {
    color: #dcdcaa;
}

.syntax-operator {
    color: #d4d4d4;
}

.syntax-variable {
    color: #9cdcfe;
}

.syntax-class {
    color: #4ec9b0;
}

.syntax-property {
    color: #9cdcfe;
}
