/* Ajustes carregados depois do tema Chronicle para preservar contraste nos formulários. */
body.site-chronicle .character-form label,
body.site-chronicle .character-form .form-label,
body.site-chronicle .character-form .form-check-label {
    color: #e8c84a;
    opacity: 1;
}

body.site-chronicle .character-form :is(.form-control, .form-select, input:not([type="checkbox"]):not([type="radio"]), textarea, select) {
    color: #f8f3e6;
    background-color: #171813;
    border-color: rgba(212, 175, 55, 0.46);
    caret-color: #ffd85b;
    opacity: 1;
}

body.site-chronicle .character-form :is(.form-control, .form-select, input, textarea, select)::placeholder {
    color: #aaa396;
    opacity: 1;
}

body.site-chronicle .character-form :is(.form-control, .form-select, input, textarea, select):focus {
    color: #fffaf0;
    background-color: #10110e;
    border-color: #e8c84a;
    box-shadow: 0 0 0 0.22rem rgba(212, 175, 55, 0.22);
    outline: 0;
}

body.site-chronicle .character-form .form-select option {
    color: #f8f3e6;
    background: #171813;
}

body.site-chronicle .character-form input:-webkit-autofill,
body.site-chronicle .character-form input:-webkit-autofill:hover,
body.site-chronicle .character-form input:-webkit-autofill:focus {
    -webkit-text-fill-color: #fffaf0;
    -webkit-box-shadow: 0 0 0 1000px #171813 inset;
    caret-color: #ffd85b;
}

body.site-chronicle .character-form :is(input, textarea, select):disabled {
    color: #c8c1b4;
    background-color: #292a25;
    opacity: 0.78;
}

body.site-chronicle .character-form .form-check-input {
    background-color: #171813;
    border-color: rgba(212, 175, 55, 0.65);
}

body.site-chronicle .character-form .form-check-input:checked {
    background-color: #d4af37;
    border-color: #e8c84a;
}

.character-field-errors {
    margin-top: 0.65rem;
    color: #ffd0d0;
    font-size: 0.88rem;
}

.character-field-errors p { margin: 0.2rem 0; }

.character-markdown-editor {
    color: #f5efe2;
}

.character-editor-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.9rem;
}

.character-editor-heading p {
    color: #aaa396;
    font-size: 0.88rem;
    margin: 0;
}

.character-preview-button,
.character-preview-dialog-footer button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    color: #1c1a13;
    background: linear-gradient(135deg, #e8c84a, #b8941f);
    border: 0;
    border-radius: 999px;
    padding: 0.68rem 1rem;
    font-weight: 800;
    white-space: nowrap;
}

.character-preview-button:hover,
.character-preview-dialog-footer button:hover {
    filter: brightness(1.08);
    transform: translateY(-1px);
}

.character-markdown-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    padding: 0.6rem;
    background: #26271f;
    border: 1px solid rgba(212, 175, 55, 0.34);
    border-bottom: 0;
    border-radius: 10px 10px 0 0;
}

.character-markdown-toolbar button {
    width: 2.35rem;
    height: 2.2rem;
    display: inline-grid;
    place-items: center;
    color: #ede5d5;
    background: #151611;
    border: 1px solid rgba(212, 175, 55, 0.25);
    border-radius: 6px;
}

.character-markdown-toolbar button:hover,
.character-markdown-toolbar button:focus-visible {
    color: #ffe269;
    border-color: #d4af37;
    background: #303125;
}

body.site-chronicle .character-form .character-background-input {
    min-height: 330px;
    border-radius: 0 0 10px 10px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.94rem;
    line-height: 1.65;
    resize: vertical;
}

.character-markdown-help {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: #aaa396;
    font-size: 0.8rem;
    margin-top: 0.75rem;
}

.character-preview-link {
    color: #e8c84a;
    background: none;
    border: 0;
    padding: 0;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.character-preview-dialog {
    width: min(920px, calc(100vw - 2rem));
    max-height: min(88vh, 900px);
    padding: 0;
    color: #eee8dc;
    background: #171813;
    border: 1px solid rgba(212, 175, 55, 0.5);
    border-radius: 18px;
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.72);
    overflow: hidden;
}

.character-preview-dialog::backdrop {
    background: rgba(7, 8, 6, 0.78);
    backdrop-filter: blur(5px);
}

.character-preview-dialog-shell {
    display: flex;
    flex-direction: column;
    max-height: min(88vh, 900px);
}

.character-preview-dialog-header,
.character-preview-dialog-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    background: #22231c;
}

.character-preview-dialog-header { border-bottom: 1px solid rgba(212, 175, 55, 0.25); }
.character-preview-dialog-footer { border-top: 1px solid rgba(212, 175, 55, 0.25); }
.character-preview-dialog-header h2 { color: #f4d65f; font-family: 'MedievalSharp', cursive; margin: 0.1rem 0 0; }
.character-preview-eyebrow { color: #969083; font-size: 0.7rem; letter-spacing: 0.13em; text-transform: uppercase; }
.character-preview-dialog-footer span { color: #aaa396; font-size: 0.8rem; }
.character-preview-dialog-footer button { padding: 0.55rem 0.9rem; }

.character-preview-close {
    width: 2.4rem;
    height: 2.4rem;
    display: grid;
    place-items: center;
    color: #eee8dc;
    background: #11120e;
    border: 1px solid rgba(212, 175, 55, 0.26);
    border-radius: 50%;
}

.character-preview-dialog-body {
    overflow-y: auto;
    padding: clamp(1rem, 4vw, 2.2rem);
    background: radial-gradient(circle at top, rgba(212, 175, 55, 0.08), transparent 48%), #11120e;
}

.character-preview-sheet {
    color: #ded3bd;
    background: #26231d;
    border: 1px solid #67583b;
    border-top: 3px solid #b8941f;
    border-radius: 3px;
    box-shadow: 0 12px 38px rgba(0, 0, 0, 0.3);
    padding: clamp(1.1rem, 4vw, 2rem);
}

.character-preview-sheet-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 0.85rem;
    margin-bottom: 1.15rem;
    border-bottom: 1px solid #67583b;
}

.character-preview-sheet-title span {
    color: #fff3db;
    font-family: 'MedievalSharp', cursive;
    font-size: 1.15rem;
    font-weight: 700;
}

.character-preview-sheet-title small { color: #a99e8b; }

.character-markdown-prose {
    color: #d2c6b1;
    font-size: 0.95rem;
    line-height: 1.82;
    overflow-wrap: anywhere;
}

.character-markdown-prose > :first-child { margin-top: 0; }
.character-markdown-prose > :last-child { margin-bottom: 0; }
.character-markdown-prose p { margin: 0 0 1rem; }
.character-markdown-prose h1,
.character-markdown-prose h2,
.character-markdown-prose h3,
.character-markdown-prose h4,
.character-markdown-prose h5,
.character-markdown-prose h6 {
    color: #fff3db;
    font-family: 'MedievalSharp', cursive;
    line-height: 1.3;
    margin: 1.45em 0 0.55em;
}
.character-markdown-prose h1 { font-size: 1.7rem; }
.character-markdown-prose h2 { font-size: 1.42rem; }
.character-markdown-prose h3 { font-size: 1.2rem; }
.character-markdown-prose :is(ul, ol) { padding-left: 1.5rem; margin-bottom: 1rem; }
.character-markdown-prose li + li { margin-top: 0.3rem; }
.character-markdown-prose blockquote {
    color: #c4b9a4;
    background: #332e24;
    border-left: 4px solid #b8941f;
    margin: 1rem 0;
    padding: 0.75rem 1rem;
}
.character-markdown-prose a { color: #ffcd39; font-weight: 700; text-decoration-thickness: 1px; }
.character-markdown-prose code { color: #ffe08a; background: #17150f; border-radius: 4px; padding: 0.1em 0.3em; }
.character-markdown-prose pre { overflow-x: auto; color: #efe9dc; background: #15130f; border: 1px solid #554a34; border-radius: 4px; padding: 1rem; }
.character-markdown-prose pre code { color: inherit; background: transparent; padding: 0; }
.character-markdown-prose hr { border-color: #67583b; opacity: 1; margin: 1.5rem 0; }
.character-markdown-prose table { width: 100%; border-collapse: collapse; margin: 1rem 0; }
.character-markdown-prose :is(th, td) { border: 1px solid #67583b; padding: 0.5rem 0.65rem; text-align: left; }
.character-markdown-prose th { color: #fff3db; background: #332e24; }
.character-preview-empty { color: #a99e8b; font-style: italic; }

@media (max-width: 640px) {
    .character-editor-heading,
    .character-markdown-help,
    .character-preview-dialog-footer,
    .character-preview-sheet-title { align-items: stretch; flex-direction: column; }
    .character-preview-button { width: 100%; }
    .character-preview-dialog-footer button { width: 100%; }
}
