body {
    font-family: 'Fira Code', monospace;
    font-size: 12px;
    background-color: #0d1117;
    color: #c9d1d9;
    margin: 0;
    overflow: hidden;
    /* Prevent body scroll, manage in panels */
}

/* Scrollbar customizada */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: #0d1117;
}

::-webkit-scrollbar-thumb {
    background: #30363d;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #484f58;
}

/* Quebra de linha automática global para pre e code */
pre,
code,
.prose pre {
    white-space: pre-wrap !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    position: relative;
    /* Para o botão de cópia */
}

/* Fundo customizado para os blocos de código (Overriding nativo e do Highlight.js) */
.prose pre,
code.hljs {
    background-color: #151f2a !important;
    border: 1px solid #161b22;
}

/* Copy Button */
.copy-btn {
    position: absolute;
    top: 10px;
    right: 15px;
    background: #161b22;
    border: 1px solid #30363d;
    border-radius: 6px;
    color: #8b949e;
    padding: 6px 10px;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    opacity: 0.7;
    /* Visível por padrão, mas suave */
    z-index: 50;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}

.group:hover .copy-btn {
    opacity: 1;
}

.copy-btn:hover {
    background: #58a6ff;
    color: white;
    border-color: #58a6ff;
}

.active-editor {
    color: #ff5f56 !important;
    border-left-color: #ff5f56 !important;
    background: rgba(255, 95, 86, 0.1);
}

.active-reading {
    color: #58a6ff !important;
    border-left-color: #58a6ff !important;
    background: rgba(88, 166, 255, 0.1);
}

.active-editor.active-reading {
    color: #ffffff !important;
    border-left-color: #f78166 !important;
    background: linear-gradient(90deg, rgba(255, 95, 86, 0.15), rgba(88, 166, 255, 0.15));
}

/* Estilo especial para tabelas com "Row Headers" (1ª coluna azul) */
.has-row-headers table td:first-child {
    color: #58a6ff !important;
    font-weight: 600 !important;
    background-color: rgba(88, 166, 255, 0.05) !important;
}

.panel-container {
    height: calc(100dvh - 90px);
}

.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

textarea {
    resize: none;
    outline: none;
}

/* Fix para renderização de Listas e Checkboxes no View/Preview */
.prose li>p {
    display: inline;
    margin: 0 !important;
}

.prose input[type="checkbox"] {
    vertical-align: middle;
    margin-right: 0.5em !important;
    position: relative;
    top: -1px;
}

/* -------------------------------------------
   Custom Highlight.js Colors (Atom One Dark Override)
------------------------------------------- */

/* --- YAML --- */
/* Replace #d19a66 (Atributos/Chaves/Numeros) com #fdba74 */
.language-yaml .hljs-attr,
.language-yaml .hljs-number,
.language-yaml .hljs-selector-attr,
.language-yaml .hljs-selector-class,
.language-yaml .hljs-selector-pseudo,
.language-yaml .hljs-template-variable,
.language-yaml .hljs-type,
.language-yaml .hljs-variable {
    color: #fdd274 !important;
}

/* Replace #98c379 (Strings/Valores) com #73f78e */
.language-yaml .hljs-addition,
.language-yaml .hljs-bullet,
.language-yaml .hljs-string,
.language-yaml .hljs-symbol {
    color: #74d888 !important;
}

/* --- JSON --- */
/* Replace #d19a66 (chaves/números) com vermelho cereja escuro contrastante */
.language-json .hljs-attr,
.language-json .hljs-number,
.language-json .hljs-selector-attr,
.language-json .hljs-selector-class,
.language-json .hljs-selector-pseudo,
.language-json .hljs-template-variable,
.language-json .hljs-type,
.language-json .hljs-variable {
    color: #ff3978 !important;
}

/* Replace #98c379 (strings/valores) com #58a6ff */
.language-json .hljs-addition,
.language-json .hljs-bullet,
.language-json .hljs-string,
.language-json .hljs-symbol {
    color: #65dbff !important;
}