﻿/* BookForge Pro Turbo CSS Stylesheet */
@import url('https://fonts.googleapis.com/css2?family=Abril+Fatface&family=Alex+Brush&family=Anton&family=Bebas+Neue&family=Black+Ops+One&family=Bodoni+Moda:ital,opsz,wght@0,6..96,400..900;1,6..96,400..900&family=Caveat:wght@400..700&family=Chewy&family=Cinzel+Decorative:wght@400;700;900&family=Cinzel:wght@400..900&family=Comic+Neue:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;0,700;1,300;1,400;1,600;1,700&family=Creepster&family=Dancing+Script:wght@400..700&family=EB+Garamond:ital,wght@0,400..800;1,400..800&family=Fredoka:wght@300..700&family=Great+Vibes&family=Inter:wght@100..900&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Libre+Caslon+Text:ital,wght@0,400;0,700;1,400&family=Lora:ital,wght@0,400..700;1,400..700&family=Luckiest+Guy&family=Merriweather:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Mystery+Quest&family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Oswald:wght@200..700&family=Outfit:wght@100..900&family=Pacifico&family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&family=Satisfy&display=swap');

@font-face { font-family: 'Palatino Linotype'; src: local('Palatino Linotype'), local('Palatino'), url('https://fonts.gstatic.com/s/ptserif/v18/EJrvQgYoZ15mkW20-6w.woff2') format('woff2'); }
@font-face { font-family: 'Times New Roman'; src: local('Times New Roman'), url('https://fonts.gstatic.com/s/tinos/v27/SN48gxspmCDX8734C2T3.woff2') format('woff2'); }
@font-face { font-family: 'Book Antiqua'; src: local('Book Antiqua'), local('Palatino Linotype'), url('https://fonts.gstatic.com/s/ptserif/v18/EJrvQgYoZ15mkW20-6w.woff2') format('woff2'); }
@font-face { font-family: 'Baskerville'; src: local('Baskerville'), local('Libre Baskerville'), url('fonts/LibreBaskerville-Regular.ttf') format('truetype'); }
@font-face { font-family: 'Libre Baskerville'; src: local('Libre Baskerville'), local('Baskerville'), url('fonts/LibreBaskerville-Regular.ttf') format('truetype'); }
.font-baskerville, .font-librebaskerville { font-family: 'Libre Baskerville', 'Baskerville', serif !important; }
@font-face { font-family: 'Caslon'; src: local('Caslon'), local('Libre Caslon Text'), local('Adobe Caslon Pro'), url('fonts/LibreCaslonText-Regular.ttf') format('truetype'); }
@font-face { font-family: 'Libre Caslon Text'; src: local('Libre Caslon Text'), local('Caslon'), local('Adobe Caslon Pro'), url('fonts/LibreCaslonText-Regular.ttf') format('truetype'); }
.font-caslon, .font-librecaslontext { font-family: 'Libre Caslon Text', 'Caslon', 'Adobe Caslon Pro', serif !important; }
@font-face { font-family: 'Minion Pro'; src: local('Minion Pro'), local('Minion'), url('https://fonts.gstatic.com/s/cormorantgaramond/v16/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpXlZ.woff2') format('woff2'); }
@font-face { font-family: 'Minion'; src: local('Minion Pro'), local('Minion'), url('https://fonts.gstatic.com/s/cormorantgaramond/v16/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpXlZ.woff2') format('woff2'); }
.font-minionpro, .font-minion { font-family: 'Minion Pro', 'Cormorant Garamond', 'EB Garamond', serif !important; }

@font-face { font-family: 'Trajan'; src: local('Trajan Pro'), local('Trajan'), url('https://fonts.gstatic.com/s/cinzel/v23/8vIU7w407XMZp6zSTw.woff2') format('woff2'); }
@font-face { font-family: 'Trajan Pro'; src: local('Trajan Pro'), local('Trajan'), url('https://fonts.gstatic.com/s/cinzel/v23/8vIU7w407XMZp6zSTw.woff2') format('woff2'); }
.font-trajan, .font-trajanpro { font-family: 'Trajan Pro', 'Trajan', 'Cinzel', serif !important; }

:root {
    --bg-dark: #000000;
    --bg-sidebar: #0b0c0f;
    --bg-panel: #12141a;
    --color-primary: #ffc83b; /* Dourado Mais Vivo e Brilhante */
    --color-primary-hover: #ffe49e; /* Dourado Claro */
    --color-text-bright: #f1f3f5;
    --color-text-muted: #868e96;
    --color-text-bronze: #ffd052; /* Dourado Vibrante para Rótulos */
    --border-color: rgba(255, 200, 59, 0.25);
    --border-color-active: rgba(255, 200, 59, 0.75);
    --font-ui: 'Outfit', 'Inter', sans-serif;
    
    /* Document Colors */
    --paper-cream: #fbf6eb;
    --paper-white: #ffffff;
}

/* General Reset */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    background-color: var(--bg-dark);
    color: var(--color-text-bright);
    font-family: var(--font-ui);
    overflow: hidden;
    height: 100vh;
    width: 100vw;
}

/* Scrollbar styling */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-track {
    background: rgba(0,0,0,0.2);
}
::-webkit-scrollbar-thumb {
    background: rgba(255, 200, 59, 0.25);
    border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 200, 59, 0.5);
}

/* Main Layout Structure */
.app-container {
    display: flex;
    flex-direction: column;
    height: 100vh;
    width: 100vw;
}

/* Header / Navigation Bar */
.main-header {
    height: 64px;
    background-color: var(--bg-dark);
    border-bottom: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 24px;
    z-index: 100;
}

.header-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--color-primary);
    font-family: 'Cinzel', serif;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 2px;
}

.header-logo svg {
    filter: drop-shadow(0 0 5px rgba(255, 200, 59, 0.5));
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* Workspace Layout (Left Sidebar + Center + Right Sidebar) */
.workspace-body {
    display: flex;
    flex: 1;
    overflow: hidden;
    height: calc(100vh - 64px);
    position: relative;
}

/* Left & Right Sidebars */
.sidebar-left, .sidebar-right {
    width: 310px;
    background-color: var(--bg-sidebar);
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.sidebar-left {
    border-right: 1px solid var(--border-color);
}

.sidebar-right {
    border-left: 1px solid var(--border-color);
}

.sidebar-right::-webkit-scrollbar,
.sidebar-left::-webkit-scrollbar {
    width: 6px;
}
.sidebar-right::-webkit-scrollbar-track,
.sidebar-left::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.3);
}
.sidebar-right::-webkit-scrollbar-thumb,
.sidebar-left::-webkit-scrollbar-thumb {
    background: #c8a55a;
    border-radius: 4px;
}

.sidebar-section {
    padding: 20px;
    border-bottom: 1px solid rgba(255, 200, 59, 0.1);
}

.sidebar-section:last-child {
    border-bottom: none;
}

.sidebar-section h3 {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--color-primary);
    margin-bottom: 16px;
    font-weight: 700;
    border-bottom: 1px solid rgba(255, 200, 59, 0.15);
    padding-bottom: 6px;
}

/* Center Workspace Area */
.workspace-center {
    flex: 1;
    overflow-y: auto;
    scroll-behavior: smooth;
    padding: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: var(--bg-dark);
    position: relative;
}

.workspace-center.has-book {
    justify-content: flex-start;
}

/* Center Banner / Logo */
.center-branding {
    text-align: center;
    margin-bottom: 30px;
}

.center-branding svg {
    margin-bottom: 15px;
    filter: drop-shadow(0 0 15px rgba(255, 200, 59, 0.4));
}

.center-title {
    font-family: 'Cinzel', serif;
    font-size: 36px;
    font-weight: 700;
    letter-spacing: 4px;
    color: var(--color-primary);
    margin-bottom: 8px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.5);
}

.center-subtitle {
    font-size: 11px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

/* Uploader dashed card */
.upload-card {
    border: 2px dashed rgba(255, 200, 59, 0.35);
    background-color: rgba(0, 0, 0, 0.25);
    width: 100%;
    max-width: 680px;
    border-radius: 12px;
    padding: 35px 40px 30px 40px;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-bottom: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}

.upload-card:hover {
    border-color: var(--color-primary);
    background-color: rgba(255, 200, 59, 0.04);
    box-shadow: 0 0 35px rgba(255, 200, 59, 0.15);
}

.upload-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.book-3d-wrapper {
    position: relative;
    width: 205px;
    height: 155px;
    display: flex;
    align-items: center;
    justify-content: center;
    perspective: 1000px;
}

.upload-book-3d {
    width: 205px;
    height: 155px;
    object-fit: contain;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    filter: drop-shadow(0 4px 20px rgba(255, 215, 0, 0.45));
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.35s ease;
    user-select: none;
    pointer-events: none;
}

.upload-card:hover .upload-book-3d {
    transform: scale(1.10) translateY(-6px);
    filter: drop-shadow(0 6px 35px rgba(255, 215, 0, 0.85));
}

/* 3D Page Flip Leaf */
.page-flip-leaf {
    position: absolute;
    left: 50%;
    top: 31%;
    width: 71px;
    height: 78px;
    transform-origin: 0% 50%;
    transform-style: preserve-3d;
    pointer-events: none;
    opacity: 0;
    z-index: 10;
}

.page-flip-face {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    box-sizing: border-box;
}

.page-flip-front {
    background: repeating-linear-gradient(
        to bottom,
        #fcf8ec 0px,
        #fcf8ec 5px,
        rgba(100, 70, 35, 0.22) 6px,
        #fcf8ec 7px
    );
    border: 1px solid rgba(212, 175, 55, 0.7);
    border-radius: 2px 7px 7px 2px;
    box-shadow: 
        inset -3px 0 6px rgba(212, 175, 55, 0.6),
        inset 0 0 10px rgba(180, 140, 60, 0.25),
        0 4px 12px rgba(0, 0, 0, 0.35);
    transform: rotateY(0deg);
}

.page-flip-back {
    background: repeating-linear-gradient(
        to bottom,
        #fcf8ec 0px,
        #fcf8ec 5px,
        rgba(100, 70, 35, 0.22) 6px,
        #fcf8ec 7px
    );
    border: 1px solid rgba(212, 175, 55, 0.7);
    border-radius: 7px 2px 2px 7px;
    box-shadow: 
        inset 3px 0 6px rgba(212, 175, 55, 0.6),
        inset 0 0 10px rgba(180, 140, 60, 0.25),
        0 4px 12px rgba(0, 0, 0, 0.35);
    transform: rotateY(180deg);
}

.page-flip-sparkle {
    position: absolute;
    top: 25%;
    left: 48%;
    width: 24px;
    height: 24px;
    background: radial-gradient(circle, #ffffff 0%, rgba(255, 215, 0, 0.9) 45%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
    opacity: 0;
    transform: scale(0.2);
    z-index: 15;
}

/* Flipping active state */
.upload-card.is-flipping .upload-book-3d {
    animation: bookBounce3D 0.52s cubic-bezier(0.25, 1, 0.5, 1);
}

.upload-card.is-flipping .page-flip-leaf {
    animation: flipPageRealistic 0.50s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.upload-card.is-flipping .page-flip-sparkle {
    animation: sparkleBurst3D 0.50s ease-out forwards;
}

@keyframes bookBounce3D {
    0% {
        transform: scale(1.10) translateY(-6px);
    }
    30% {
        transform: scale(1.17) translateY(-11px) rotate(-1.5deg);
        filter: drop-shadow(0 8px 45px rgba(255, 215, 0, 0.95));
    }
    70% {
        transform: scale(1.12) translateY(-7px) rotate(1deg);
        filter: drop-shadow(0 6px 38px rgba(255, 215, 0, 0.9));
    }
    100% {
        transform: scale(1.10) translateY(-6px);
        filter: drop-shadow(0 6px 35px rgba(255, 215, 0, 0.85));
    }
}

@keyframes flipPageRealistic {
    0% {
        opacity: 0;
        transform: perspective(800px) rotateY(0deg) rotateZ(0deg) skewY(0deg);
    }
    8% {
        opacity: 1;
        transform: perspective(800px) rotateY(-20deg) rotateZ(-2deg) skewY(-2deg);
        filter: drop-shadow(-3px 5px 10px rgba(0,0,0,0.35));
    }
    35% {
        opacity: 1;
        transform: perspective(800px) rotateY(-65deg) rotateZ(-4deg) skewY(-3deg) scale(1.05);
        filter: drop-shadow(-8px 10px 18px rgba(0,0,0,0.45)) drop-shadow(0 0 15px rgba(255,215,0,0.6));
    }
    55% {
        opacity: 1;
        transform: perspective(800px) rotateY(-115deg) rotateZ(4deg) skewY(3deg) scale(1.05);
        filter: drop-shadow(8px 10px 18px rgba(0,0,0,0.45)) drop-shadow(0 0 15px rgba(255,215,0,0.6));
    }
    85% {
        opacity: 1;
        transform: perspective(800px) rotateY(-165deg) rotateZ(2deg) skewY(1deg);
        filter: drop-shadow(3px 5px 8px rgba(0,0,0,0.3));
    }
    96% {
        opacity: 0.9;
        transform: perspective(800px) rotateY(-180deg) rotateZ(0deg) skewY(0deg);
    }
    100% {
        opacity: 0;
        transform: perspective(800px) rotateY(-180deg) rotateZ(0deg) skewY(0deg);
    }
}

@keyframes sparkleBurst3D {
    0% {
        opacity: 0;
        transform: translate(0, 0) scale(0.2);
    }
    40% {
        opacity: 1;
        transform: translate(-12px, -18px) scale(1.8);
        filter: drop-shadow(0 0 14px #ffd700);
    }
    75% {
        opacity: 0.8;
        transform: translate(-32px, -8px) scale(1.2);
    }
    100% {
        opacity: 0;
        transform: translate(-48px, 12px) scale(0.3);
    }
}

.upload-card-icon svg {
    width: 48px;
    height: 48px;
    stroke-width: 1.5;
}

.upload-card-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--color-text-bright);
    letter-spacing: 0.5px;
}

.upload-card-sub {
    font-size: 13px;
    color: var(--color-text-muted);
}

/* Warning Attention card */
.warning-card {
    background-color: rgba(184, 15, 10, 0.12);
    border: 1px solid rgba(255, 200, 59, 0.4);
    border-radius: 8px;
    padding: 20px 24px;
    max-width: 520px;
    width: 100%;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}

.warning-title {
    font-size: 12px;
    color: #e63946;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.warning-text {
    font-size: 12px;
    line-height: 1.6;
    color: var(--color-text-bright);
    margin-bottom: 8px;
}

.warning-tip {
    font-size: 11px;
    color: #ffd166;
    font-weight: 500;
}

/* Buttons Styling */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 6px;
    font-family: var(--font-ui);
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    border: none;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.btn-primary {
    background-color: var(--color-primary);
    color: #000000;
    font-weight: 600;
}

.btn-primary:hover {
    background-color: var(--color-primary-hover);
    transform: translateY(-1px);
}

.btn-secondary {
    background-color: transparent;
    color: var(--color-text-bright);
    border: 1px solid var(--border-color);
}

.btn-secondary:hover {
    background-color: rgba(255, 255, 255, 0.05);
    border-color: var(--border-color-active);
}

.btn-accent {
    background-color: var(--color-primary);
    color: #000000;
    font-weight: 600;
}

.btn-accent:hover {
    background-color: var(--color-primary-hover);
}

.btn-small {
    padding: 6px 12px;
    font-size: 11px;
}

.btn-full {
    width: 100%;
}

/* Form Controls & Inputs */
.form-group {
    margin-bottom: 16px;
}

.form-group label {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--color-text-bronze);
    margin-bottom: 6px;
    font-weight: 600;
}

.form-select, .form-input, .form-textarea {
    width: 100%;
    background-color: var(--bg-panel);
    border: 1px solid rgba(255, 200, 59, 0.25);
    color: var(--color-text-bright);
    padding: 10px 14px;
    border-radius: 6px;
    font-family: var(--font-ui);
    font-size: 13px;
    transition: all 0.2s ease;
}

.form-select:hover, .form-input:hover {
    border-color: var(--border-color-active);
}

.form-select:focus, .form-input:focus, .form-textarea:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(255, 200, 59, 0.15);
}

/* Custom Select styling (no browser defaults) */
.form-select {
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffc83b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 16px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* Sidebar Tabs */
.sidebar-tabs {
    display: flex;
    border-bottom: 1px solid rgba(255, 200, 59, 0.25);
    margin-bottom: 16px;
    gap: 4px;
}

.tab-btn, .tab-btn-right {
    flex: 1;
    background: transparent;
    border: none;
    color: var(--color-text-muted);
    padding: 8px 12px;
    font-family: var(--font-ui);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
    border-bottom: 2px solid transparent;
}

.tab-btn:hover, .tab-btn-right:hover {
    color: var(--color-primary-hover);
}

.tab-btn.active, .tab-btn-right.active {
    color: var(--color-primary);
    border-bottom-color: var(--color-primary);
    text-shadow: 0 0 5px rgba(255, 200, 59, 0.3);
}

/* Aba Ornamentos em Azul Vibrante para diferenciar das demais */
.tab-btn[data-tab="ornamentos"] {
    color: #38bdf8 !important;
}

.tab-btn[data-tab="ornamentos"]:hover {
    color: #7dd3fc !important;
}

.tab-btn[data-tab="ornamentos"].active {
    color: #38bdf8 !important;
    border-bottom-color: #38bdf8 !important;
    text-shadow: 0 0 8px rgba(56, 189, 248, 0.6) !important;
}

/* ==========================================================
   CORES PERSONALIZADAS SOLICITADAS POR MÁRCIO:
   1. Cor do Papel -> Vermelho
   2. Formato do Livro -> Roxo
   3. Fonte do Texto -> Azul
   ========================================================== */

/* 1. COR DO PAPEL -> VERMELHO */
label[for="paper-color-select"] {
    color: #ff4d4d !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-shadow: 0 0 8px rgba(255, 77, 77, 0.4) !important;
}
#paper-color-select {
    color: #ff4d4d !important;
    font-weight: 700 !important;
    background-color: #1a0808 !important;
    border: 1px solid #ff4d4d !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ff4d4d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
}
#paper-color-select:hover, #paper-color-select:focus {
    border-color: #ff2222 !important;
    box-shadow: 0 0 8px rgba(255, 77, 77, 0.4) !important;
}
#paper-color-select option {
    background-color: #1a0808 !important;
    color: #ff4d4d !important;
    font-weight: 700 !important;
}

/* 2. FORMATO DO LIVRO -> ROXO */
label[for="book-format"] {
    color: #c084fc !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-shadow: 0 0 8px rgba(192, 132, 252, 0.4) !important;
}
#book-format {
    color: #c084fc !important;
    font-weight: 700 !important;
    background-color: #150824 !important;
    border: 1px solid #a855f7 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23c084fc' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
}
#book-format:hover, #book-format:focus {
    border-color: #c084fc !important;
    box-shadow: 0 0 8px rgba(192, 132, 252, 0.4) !important;
}
#book-format option {
    background-color: #150824 !important;
    color: #c084fc !important;
    font-weight: 700 !important;
}

/* 3. FONTE DO TEXTO DO LIVRO -> AZUL */
label[for="book-font"] {
    color: #38bdf8 !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-shadow: 0 0 8px rgba(56, 189, 248, 0.4) !important;
}
#book-font {
    color: #38bdf8 !important;
    font-weight: 700 !important;
    background-color: #071526 !important;
    border: 1px solid #38bdf8 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2338bdf8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
}
#book-font:hover, #book-font:focus {
    border-color: #00d2ff !important;
    box-shadow: 0 0 8px rgba(56, 189, 248, 0.4) !important;
}
#book-font option {
    background-color: #071526 !important;
    color: #38bdf8 !important;
    font-weight: 700 !important;
}

.tab-content {
    display: flex;
    flex-direction: column;
}

.tab-content.hidden {
    display: none !important;
}

/* Color Picker Control styling */
.color-picker-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
    background-color: var(--bg-panel);
    border: 1px solid rgba(255, 200, 59, 0.25);
    border-radius: 6px;
    padding: 6px 12px;
    transition: all 0.2s ease;
}

.color-picker-wrapper:hover {
    border-color: var(--border-color-active);
}

.color-picker-input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 4px;
    background: transparent;
    cursor: pointer;
    padding: 0;
    overflow: hidden;
}

.color-picker-input::-webkit-color-swatch-wrapper {
    padding: 0;
}

.color-picker-input::-webkit-color-swatch {
    border: none;
    border-radius: 3px;
}

.color-picker-value {
    font-family: monospace;
    font-size: 13px;
    color: var(--color-text-bright);
    font-weight: 600;
    letter-spacing: 0.5px;
}

/* Ornament Grid (9 Button Grid from screenshot) */
.ornament-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    margin-bottom: 12px;
}

.ornament-grid-btn {
    background-color: var(--bg-panel);
    border: 1px solid rgba(255, 200, 59, 0.22);
    color: var(--color-text-bright);
    padding: 8px 4px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 11px;
    text-align: center;
    font-family: var(--font-ui);
    transition: all 0.15s ease;
}

.ornament-grid-btn[data-ornament="none"] {
    grid-column: span 3;
}

.ornament-grid-btn:hover {
    border-color: var(--border-color-active);
}

.ornament-grid-btn.active {
    border-color: var(--color-primary);
    background-color: rgba(255, 200, 59, 0.12);
    color: var(--color-primary);
    font-weight: 600;
}

/* Special Page Checkbox List */
.page-checkbox-item {
    display: flex;
    flex-direction: column;
    margin-bottom: 8px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 200, 59, 0.1);
    border-radius: 6px;
    padding: 6px 10px;
    transition: all 0.3s ease;
}

.page-checkbox-item.expanded {
    background: rgba(255, 200, 59, 0.04);
    border-color: rgba(255, 200, 59, 0.4);
}

.page-checkbox-header {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    user-select: none;
    width: 100%;
    padding: 4px 0;
}

.page-checkbox-header input[type="checkbox"],
input[type="checkbox"] {
    accent-color: #00ff66 !important;
    width: 16px;
    height: 16px;
    cursor: pointer;
    flex-shrink: 0;
}

.page-title-click {
    flex: 1;
    display: flex;
    align-items: center;
    color: var(--color-text-bright);
    transition: color 0.2s ease;
    padding: 2px 0;
}

.page-title-click:hover {
    color: var(--color-primary);
}

.struct-chevron {
    width: 16px;
    height: 16px;
    color: var(--color-text-muted);
    transition: transform 0.3s ease, color 0.3s ease;
    flex-shrink: 0;
}

.page-checkbox-item.expanded .struct-chevron {
    transform: rotate(180deg);
    color: var(--color-primary);
}

.checkbox-sub-input {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease, margin-top 0.3s ease;
    margin-top: 0;
    padding-left: 26px;
}

.page-checkbox-item.expanded .checkbox-sub-input {
    max-height: 2500px;
    opacity: 1;
    margin-top: 8px;
    margin-bottom: 4px;
    overflow: visible;
}

/* Bottom Actions container in Left Sidebar */
.left-bottom-actions {
    padding: 20px;
    border-top: 1px solid rgba(255, 200, 59, 0.1);
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: auto;
}

/* Waiting / Aguardando Indicator Box */
.waiting-badge {
    background-color: rgba(255, 200, 59, 0.1);
    border: 1px solid var(--color-primary);
    color: var(--color-primary);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-align: center;
    padding: 10px;
    border-radius: 4px;
    margin-top: 12px;
    text-transform: uppercase;
}

.hidden {
    display: none !important;
}

/* --- ESTILOS DO PREVIEW DE PÁGINAS (ROLO DE FITA) --- */

.pages-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding: 20px 0;
}

.page-sheet {
    background-color: var(--paper-cream);
    color: #1a1a1a;
    border-radius: 4px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
    padding: 50px 55px 55px 55px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-sizing: border-box;
    position: relative;
    transition: all 0.2s ease;
    user-select: text;
}

/* Formatos de Livro (Aspect Ratios) */
.page-sheet.format-14x21 {
    width: 630px;
    height: 855px; /* 1:1.35 */
}

.page-sheet.format-A5 {
    width: 640px;
    height: 830px; /* 1:1.3 */
}

.page-sheet.format-16x23 {
    width: 680px;
    height: 900px; /* 1:1.32 */
}

/* Cores de Papel */
.page-sheet.paper-cream {
    background-color: #fbf6eb;
}

.page-sheet.paper-white {
    background-color: #ffffff;
}

/* Elementos internos da página */
.page-header {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #666;
    text-align: center;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    padding-bottom: 6px;
    height: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.page-body {
    flex: 1;
    margin-top: 12px;
    margin-bottom: 12px;
    display: flex;
    flex-direction: column;
    font-size: 14px;
    line-height: 1.48;
    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
    -webkit-hyphens: auto;
    overflow: hidden;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.page-body div {
    max-width: 100%;
    min-width: 0;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.page-body > div {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    width: 100%;
}

.page-body p {
    text-indent: 1.5em;
    margin-bottom: 0;
    margin-top: 0;
    word-wrap: break-word;
    overflow-wrap: break-word;
    white-space: normal;
    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
    -webkit-hyphens: auto;
}

.page-body p:first-of-type {
    text-indent: 0; /* Primeira linha de capítulo ou seção sem recuo */
}

.page-body p.paragraph-continuation {
    text-indent: 0 !important; /* Parágrafo que continua na página seguinte sem recuo */
}

.page-footer {
    height: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 13px;
    color: #666;
}

/* Fontes do Texto */
.font-cinzel { font-family: 'Cinzel', serif; }
.font-garamond, .font-ebgaramond { font-family: 'EB Garamond', Garamond, serif; }
.font-georgia { font-family: 'Georgia', serif; }
.font-lora { font-family: 'Lora', serif; }
.font-merriweather { font-family: 'Merriweather', serif; }
.font-greatvibes { font-family: 'Great Vibes', cursive; }
.font-inter { font-family: 'Inter', sans-serif; }
.font-outfit { font-family: 'Outfit', sans-serif; }
.font-palatinolinotype, .font-palatino { font-family: 'Palatino Linotype', 'Book Antiqua', Palatino, serif; }
.font-timesnewroman, .font-times { font-family: 'Times New Roman', Times, serif; }
.font-bookantiqua { font-family: 'Book Antiqua', 'Palatino Linotype', serif; }
.font-baskerville, .font-librebaskerville { font-family: 'Baskerville', 'Libre Baskerville', serif; }
.font-caslon, .font-librecaslontext { font-family: 'Caslon', 'Libre Caslon Text', serif; }
.font-minionpro, .font-minion { font-family: 'Minion Pro', 'Cormorant Garamond', serif; }
.font-trajan, .font-trajanpro { font-family: 'Trajan', 'Cinzel', serif; }
.font-cambria { font-family: 'Cambria', serif; }
.font-bodonimt, .font-bodonimoda { font-family: 'Bodoni MT', 'Bodoni Moda', serif; }

/* Título de Início de Capítulo */
.page-chapter-title {
    text-align: center;
    margin-top: 10px;
    margin-bottom: 16px; /* Aumentado para melhor espaçamento quando sem ornamento */
    text-transform: uppercase;
}

/* Ajusta o espaçamento do ornamento quando segue o título do capítulo */
.page-chapter-title + .page-ornament {
    margin-top: 10px;
}

.chapter-number {
    display: block;
    font-size: 16px;
    letter-spacing: 2px;
    font-weight: 600;
    margin-bottom: 8px;
    text-transform: uppercase;
}

/* Se houver apenas o número do capítulo sem subtítulo, aumenta o tamanho */
.page-chapter-title > .chapter-number:only-child {
    font-size: 26px;
    margin-bottom: 0;
}

.chapter-title-sep {
    display: none;
}

.chapter-title-text {
    display: block;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* Estilo do Ornamento */
.page-ornament {
    text-align: center;
    margin-bottom: 24px;
    color: #000000;
    font-size: 18px;
    letter-spacing: 2px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex: none !important; /* Impedir esmagamento pelo flexbox */
}

.page-ornament svg {
    display: inline-block;
    max-width: 180px;
    max-height: 36px;
}

/* Letra Capitular */
.has-dropcap p:first-of-type::first-letter {
    font-size: 58px;
    font-weight: 700;
    float: left;
    line-height: 46px;
    padding-right: 0px !important;
    margin-right: -2px !important;
    padding-top: 6px;
    color: #000000;
    font-family: 'Cinzel', serif;
}

/* Layouts das Páginas Especiais */
.titlepage-layout {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    text-align: center;
    padding: 30px 0;
}

.titlepage-title {
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 2px;
    color: #1a1a1a;
    text-transform: uppercase;
    margin-top: 60px;
}

.titlepage-line {
    width: 80px;
    height: 1px;
    background-color: #111111 !important;
    margin: 24px auto;
}

.titlepage-author {
    font-size: 19px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: inherit;
    margin-bottom: 50px !important;
}

.titlepage-subtitle {
    font-family: 'EB Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-size: 17px;
    color: inherit;
    text-transform: none !important;
    letter-spacing: 0.5px !important;
}

.titlepage-credits {
    font-family: 'EB Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-size: 15px;
    color: inherit;
    text-transform: none !important;
}

.titlepage-edition {
    font-family: 'Cinzel', serif !important;
    font-size: 12px;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    color: inherit;
    text-transform: none !important;
}

.titlepage-publisher-line {
    font-family: 'Cinzel', serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    color: inherit;
    text-transform: none !important;
}

.titlepage-email-line {
    font-family: 'EB Garamond', Georgia, serif !important;
    font-size: 14px !important;
    color: inherit;
    text-transform: none !important;
    letter-spacing: 0.5px !important;
}

.copyright-layout {
    display: block;
    width: 100%;
}
.copyright-layout .copyright-text {
    font-size: 16.5px;
    line-height: 1.7;
    color: #1a1a1a;
    text-align: left;
}
.copyright-layout.first-page .copyright-text {
    margin-top: 20%;
}

/* Remove cabeçalhos e linhas divisórias das páginas estruturais */
[data-section-id="title-page"] .page-header,
[data-section-id="copyright"] .page-header,
[data-section-id="dedication"] .page-header,
[data-section-id="epigraph"] .page-header,
[data-section-id="bio"] .page-header,
[data-section-id="preface"] .page-header,
[data-section-id="epilogue"] .page-header,
[data-section-id="toc"] .page-header {
    display: none !important;
}

[data-section-id="title-page"] .page-body {
    overflow: visible !important;
    margin-top: 0 !important;
}

[data-section-id="title-page"] .titlepage-layout {
    overflow: visible !important;
    padding-top: 10px !important;
}

[data-section-id="title-page"] .premium-ornament-container {
    overflow: visible !important;
    margin-top: 4px !important;
    margin-bottom: 10px !important;
}

.dedication-layout {
    display: block;
    width: 100%;
    text-align: center;
}
.dedication-layout .dedication-text {
    font-style: italic;
    font-size: 16px;
    padding: 0 20px;
    line-height: 1.8;
}
.dedication-layout.first-page .dedication-text {
    margin-top: 25%;
}

.epigraph-layout {
    display: block;
    width: 100%;
    text-align: center;
}
.epigraph-layout .epigraph-text {
    font-style: italic;
    font-size: 16.5px;
    padding: 0 20px;
    line-height: 1.8;
}
.epigraph-layout.first-page .epigraph-text {
    margin-top: 25%;
}

.toc-layout h2 {
    text-align: center;
    font-size: 20px;
    letter-spacing: 2px;
    margin-bottom: 30px;
    text-transform: uppercase;
}

.toc-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
    width: 100%;
}

.toc-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 12px;
}

.toc-leader {
    flex: 1;
    border-bottom: 1px dotted #777;
    margin: 0 8px;
}

.bio-layout {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding-top: 20px;
}

.bio-layout p {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.bio-photo-placeholder {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background-color: #e2e8f0;
    border: 1px solid #c5a059;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666;
    font-size: 12px;
}

.bio-photo {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid #c5a059;
}

/* Estilo do Item de Capítulo na Sidebar */
.chapter-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-ui);
    font-size: 11px;
    font-weight: 500;
    color: #c8c9cc;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 8px 10px;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.15s ease;
    border-bottom: 1px solid rgba(255, 255, 255, 0.03);
    user-select: none;
}

.chapter-item::before {
    content: "►";
    color: var(--color-primary);
    font-size: 9px;
    transition: transform 0.15s ease;
    display: inline-block;
}

.chapter-item:hover {
    background-color: rgba(255, 200, 59, 0.08);
    color: var(--color-primary);
}

.chapter-item.active {
    background-color: rgba(255, 200, 59, 0.12);
    color: var(--color-primary);
    font-weight: 600;
}

.chapter-item.active::before {
    transform: rotate(90deg);
}

/* Centralização vertical para capítulos que não exibem o miolo */
.chapter-start-only .page-body {
    justify-content: center;
    align-items: center;
    text-align: center;
}

.chapter-start-only .page-chapter-title {
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 24px;
    font-weight: 800; /* Super negrito */
}

/* Página de Início de Capítulo (Melhor aproveitamento de espaço) */
.chapter-start-page .page-header {
    display: none !important;
}
.chapter-start-page .page-body {
    margin-top: 10px !important;
    margin-bottom: 12px !important;
    padding-bottom: 8px !important;
    overflow: visible !important;
}

/* --- ESTILOS DE IMPRESSÃO ESTÁTICOS PARA EXPORTAÇÃO PDF --- */
@media print {
    /* Ocultar elementos de UI */
    .main-header, .sidebar-left, .sidebar-right, .center-branding, .upload-card {
        display: none !important;
    }
    
    /* Configurar body e html */
    html, body {
        background: #ffffff !important;
        color: #000000 !important;
        margin: 0 !important;
        padding: 0 !important;
        height: auto !important;
        overflow: visible !important;
        width: 100% !important;
    }
    
    .app-container, .workspace-body, .workspace-center {
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        height: auto !important;
        overflow: visible !important;
        background: #ffffff !important;
    }
    
    .pages-container {
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 0 !important;
        overflow: visible !important;
        background: #ffffff !important;
    }
    
    .page-sheet {
        margin: 0 !important;
        box-shadow: none !important;
        border: none !important;
        border-radius: 0 !important;
        page-break-after: always !important;
        page-break-inside: avoid !important;
        background-color: #ffffff !important;
        color: #000000 !important;
        box-sizing: border-box !important;
        /* Correção para flexbox quebrando cabeçalhos/rodapés no print */
        position: relative !important;
        display: block !important;
    }
    .page-footer {
        position: absolute !important;
        bottom: 35px !important;
        left: 0 !important;
        right: 0 !important;
        text-align: center !important;
        height: 24px !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }
    .page-body {
        overflow: visible !important;
    }
}

/* Grouped 2-Column Font Selectors UI */
.font-section-group {
    border-bottom: 1px solid rgba(255, 200, 59, 0.12);
    padding-bottom: 12px;
    margin-bottom: 12px;
}

.font-section-group:last-child {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}

.font-section-group h4 {
    font-size: 11px;
    letter-spacing: 1px;
    color: var(--color-primary);
    margin-bottom: 8px;
    text-transform: uppercase;
    font-weight: 700;
}

.form-row-2col {
    display: flex;
    gap: 8px;
}

.form-row-2col .form-group {
    flex: 1;
    margin-bottom: 0;
}

.form-row-2col .form-group label {
    font-size: 9px;
    letter-spacing: 0.5px;
    color: var(--color-text-muted);
    margin-bottom: 4px;
}

.form-row-2col .form-select {
    padding: 6px 10px;
    font-size: 12px;
    background-position: right 6px center;
    background-size: 12px;
}

/* Dropdown de Exportar */
.dropdown-export {
    position: relative;
    display: inline-block;
}

.dropdown-menu-content {
    display: none;
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    background-color: var(--bg-panel);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    min-width: 200px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4);
    z-index: 1000;
    overflow: hidden;
    padding: 6px 0;
}

.dropdown-menu-content.show {
    display: block;
    animation: fadeInDropdown 0.15s ease-out;
}

@keyframes fadeInDropdown {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

.dropdown-item {
    background: none;
    border: none;
    color: var(--color-text-bright);
    padding: 10px 16px;
    width: 100%;
    text-align: left;
    font-family: var(--font-ui);
    font-size: 13px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.dropdown-item:hover {
    background-color: rgba(255, 200, 59, 0.12);
    color: var(--color-primary);
}

.dropdown-item svg {
    width: 16px;
    height: 16px;
    color: var(--color-primary);
}

/* Proofread / Spell Checker Styles */
.proofread-error {
    background-color: rgba(255, 75, 75, 0.2);
    border-bottom: 2px dashed #ff4b4b;
    cursor: pointer;
    transition: background-color 0.2s ease;
    padding: 0 2px;
}
.proofread-error:hover {
    background-color: rgba(255, 75, 75, 0.4);
}

.proofread-popover {
    position: absolute;
    background-color: #1e1e24;
    border: 1px solid rgba(255, 200, 59, 0.3);
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
    padding: 12px;
    z-index: 10000;
    width: 280px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-family: 'Inter', sans-serif;
    animation: fadeIn 0.15s ease-out;
}

.proofread-popover-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #ffc83b;
    font-weight: 600;
}

.proofread-popover-close {
    background: none;
    border: none;
    color: #a0a0a5;
    cursor: pointer;
    font-size: 12px;
}
.proofread-popover-close:hover {
    color: #ffffff;
}

.proofread-popover-body {
    font-size: 13px;
    color: #e0e0e5;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.proofread-popover-type {
    font-size: 11px;
    color: #a0a0a5;
}

.proofread-popover-diff {
    display: flex;
    align-items: center;
    gap: 8px;
    background-color: rgba(0, 0, 0, 0.2);
    padding: 6px 10px;
    border-radius: 4px;
    border: 1px dashed rgba(255, 255, 255, 0.1);
    margin-top: 4px;
}

.diff-original {
    color: #ff6b6b;
    text-decoration: line-through;
}

.diff-arrow {
    color: #a0a0a5;
}

.diff-suggestion {
    color: #51cf66;
    font-weight: 600;
}

.proofread-popover-footer {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
    margin-top: 4px;
}

.btn-xs {
    padding: 4px 8px;
    font-size: 11px;
    height: auto;
}

/* Button Spell Check Active Styling */
#btn-toggle-proofreader.active {
    background-color: #ffc83b !important;
    color: #121214 !important;
    border-color: #ffc83b !important;
    box-shadow: 0 0 10px rgba(255, 200, 59, 0.4);
}

.paragraph-editable:focus {
    outline: none;
    border-left: 2px solid var(--color-primary);
    padding-left: 10px;
    background-color: rgba(255, 200, 59, 0.03);
}

/* Custom Spellcheck Suggestions & Input */
.btn-sug-pill {
    background: rgba(255, 200, 59, 0.1);
    border: 1px solid rgba(255, 200, 59, 0.3);
    color: #ffc83b;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 11px;
    cursor: pointer;
    transition: all 0.2s ease;
}
.btn-sug-pill:hover {
    background: rgba(255, 200, 59, 0.25);
    border-color: #ffc83b;
}
.custom-correction-input {
    flex: 1;
    background: #121214;
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #e0e0e5;
    font-size: 12px;
    padding: 4px 8px;
    border-radius: 4px;
    outline: none;
    transition: border-color 0.2s ease;
}
.custom-correction-input:focus {
    border-color: #ffc83b;
}

/* Molduras Decorativas de Página (Premium) */
.page-border-frame {
    position: absolute;
    top: 30px;
    bottom: 30px;
    left: 25px;
    right: 25px;
    pointer-events: none;
    box-sizing: border-box;
    z-index: 10;
}

.page-border-frame.style-vitoriana {
    border: 3px double #000000;
}
.page-border-frame.style-artdeco {
    border: 1px solid #000000;
}
.page-border-frame.style-floral {
    border: 1px solid #000000;
}
.page-border-frame.style-minimalista {
    border: 1px solid #000000;
}
.page-border-frame.style-botanica {
    border: 1px solid #000000;
    border-radius: 12px;
}
.page-border-frame.style-barroco {
    border: 3px double #000000;
}
.page-border-frame.style-rosas {
    border: 3px double #000000;
}

.page-border-frame .corner {
    position: absolute;
    width: 32px;
    height: 32px;
    color: #000000;
}

.page-border-frame.style-botanica .corner {
    width: 65px;
    height: 75px;
}
.page-border-frame.style-barroco .corner {
    width: 60px;
    height: 60px;
}
.page-border-frame.style-rosas .corner {
    background-image: url('assets/canto_vitoriano.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 38px;
    height: 38px;
    mix-blend-mode: multiply;
}

.page-border-frame.style-vitoriana .corner.top-left { top: -6px; left: -6px; }
.page-border-frame.style-vitoriana .corner.top-right { top: -6px; right: -6px; transform: scaleX(-1); }
.page-border-frame.style-vitoriana .corner.bottom-left { bottom: -6px; left: -6px; transform: scaleY(-1); }
.page-border-frame.style-vitoriana .corner.bottom-right { bottom: -6px; right: -6px; transform: scale(-1); }

.page-border-frame.style-artdeco .corner.top-left,
.page-border-frame.style-floral .corner.top-left,
.page-border-frame.style-minimalista .corner.top-left { top: -4px; left: -4px; }

.page-border-frame.style-artdeco .corner.top-right,
.page-border-frame.style-floral .corner.top-right,
.page-border-frame.style-minimalista .corner.top-right { top: -4px; right: -4px; transform: scaleX(-1); }

.page-border-frame.style-artdeco .corner.bottom-left,
.page-border-frame.style-floral .corner.bottom-left,
.page-border-frame.style-minimalista .corner.bottom-left { bottom: -4px; left: -4px; transform: scaleY(-1); }

.page-border-frame.style-artdeco .corner.bottom-right,
.page-border-frame.style-floral .corner.bottom-right,
.page-border-frame.style-minimalista .corner.bottom-right { bottom: -4px; right: -4px; transform: scale(-1); }

.page-border-frame.style-botanica .corner.top-left { top: -2px; left: -2px; }
.page-border-frame.style-botanica .corner.top-right { top: -2px; right: -2px; transform: scaleX(-1); }
.page-border-frame.style-botanica .corner.bottom-left { bottom: -2px; left: -2px; transform: scaleY(-1); }
.page-border-frame.style-botanica .corner.bottom-right { bottom: -2px; right: -2px; transform: scale(-1); }

.page-border-frame.style-barroco .corner.top-left { top: -4px; left: -4px; }
.page-border-frame.style-barroco .corner.top-right { top: -4px; right: -4px; transform: scaleX(-1); }
.page-border-frame.style-barroco .corner.bottom-left { bottom: -4px; left: -4px; transform: scaleY(-1); }
.page-border-frame.style-barroco .corner.bottom-right { bottom: -4px; right: -4px; transform: scale(-1); }

.page-border-frame.style-rosas .corner.top-left { top: -6px; left: -6px; }
.page-border-frame.style-rosas .corner.top-right { top: -6px; right: -6px; transform: scaleX(-1); }
.page-border-frame.style-rosas .corner.bottom-left { bottom: -6px; left: -6px; transform: scaleY(-1); }
.page-border-frame.style-rosas .corner.bottom-right { bottom: -6px; right: -6px; transform: scale(-1); }

/* Suporte para Ornamentos Premium (Imagens com Máscara de Cor) */
.premium-ornament-container {
    text-align: center;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 20px auto 30px auto;
}

.premium-ornament-mask {
    display: block;
    margin: 0 auto;
    width: 100%;
    height: 160px;
    background-color: #000000;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

/* Proofreader / Spellchecker Popover Styles */
.proofread-error {
    background: rgba(255, 68, 68, 0.25) !important;
    border-bottom: 2px wavy #ff4444 !important;
    color: #ff3333 !important;
    cursor: pointer !important;
    border-radius: 2px !important;
    padding: 0 2px !important;
    position: relative;
}

.proofread-popover {
    position: absolute;
    z-index: 999999;
    width: 280px;
    background: #12141a;
    border: 1px solid #ff5555;
    box-shadow: 0 10px 30px rgba(0,0,0,0.9), 0 0 15px rgba(255, 85, 85, 0.4);
    border-radius: 8px;
    padding: 12px;
    color: #ffffff;
    font-family: var(--font-ui);
    font-size: 12px;
    animation: popoverFadeIn 0.15s ease-out;
}

@keyframes popoverFadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

.proofread-popover-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: bold;
    font-size: 12px;
    color: #ff5555;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-bottom: 6px;
    margin-bottom: 8px;
}

.proofread-popover-close {
    background: none;
    border: none;
    color: #888;
    cursor: pointer;
    font-size: 14px;
}

.proofread-popover-close:hover {
    color: #fff;
}

.proofread-popover-diff {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 8px 0;
    padding: 8px;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 6px;
}

.diff-original {
    color: #ff6b6b;
    text-decoration: line-through;
    font-weight: 600;
}

.diff-arrow {
    color: #888;
}

.diff-suggestion {
    color: #51cf66;
    font-weight: 700;
    font-size: 13px;
}

.btn-sug-pill {
    background: rgba(255, 200, 59, 0.15);
    border: 1px solid rgba(255, 200, 59, 0.4);
    color: #ffc83b;
    padding: 3px 8px;
    border-radius: 12px;
    font-size: 11px;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-sug-pill:hover {
    background: rgba(255, 200, 59, 0.4);
    color: #ffffff;
}

.proofread-popover-footer {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}









/* Molduras Especiais Personalizadas em PNG Transparente */

.page-border-frame.style-custom_alice_minimalista {
    border: none !important;
    outline: none !important;
    background-image: url('assets/molduras_especiais/alice_minimalista.png') !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
.page-border-frame.style-custom_alice_minimalista .corner {
    display: none !important;
}

.page-border-frame.style-custom_ant_nia_antiga {
    border: none !important;
    outline: none !important;
    background-image: url('assets/molduras_especiais/ant_nia_antiga.png') !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
.page-border-frame.style-custom_ant_nia_antiga .corner {
    display: none !important;
}

.page-border-frame.style-custom_aurora_floral {
    border: none !important;
    outline: none !important;
    background-image: url('assets/molduras_especiais/aurora_floral.png') !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
.page-border-frame.style-custom_aurora_floral .corner {
    display: none !important;
}

.page-border-frame.style-custom_beatriz_bot_nica {
    border: none !important;
    outline: none !important;
    background-image: url('assets/molduras_especiais/beatriz_bot_nica.png') !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
.page-border-frame.style-custom_beatriz_bot_nica .corner {
    display: none !important;
}

.page-border-frame.style-custom_clarice_ramos {
    border: none !important;
    outline: none !important;
    background-image: url('assets/molduras_especiais/clarice_ramos.png') !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
.page-border-frame.style-custom_clarice_ramos .corner {
    display: none !important;
}

.page-border-frame.style-custom_cord_lia_editorial {
    border: none !important;
    outline: none !important;
    background-image: url('assets/molduras_especiais/cord_lia_editorial.png') !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
.page-border-frame.style-custom_cord_lia_editorial .corner {
    display: none !important;
}

.page-border-frame.style-custom_diana_lunar {
    border: none !important;
    outline: none !important;
    background-image: url('assets/molduras_especiais/diana_lunar.png') !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
.page-border-frame.style-custom_diana_lunar .corner {
    display: none !important;
}

.page-border-frame.style-custom_erika_siberiana {
    border: none !important;
    outline: none !important;
    background-image: url('assets/molduras_especiais/erika_siberiana.png') !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
.page-border-frame.style-custom_erika_siberiana .corner {
    display: none !important;
}

.page-border-frame.style-custom_eudora_cl_ssica {
    border: none !important;
    outline: none !important;
    background-image: url('assets/molduras_especiais/eudora_cl_ssica.png') !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
.page-border-frame.style-custom_eudora_cl_ssica .corner {
    display: none !important;
}

.page-border-frame.style-custom_flora_delicada {
    border: none !important;
    outline: none !important;
    background-image: url('assets/molduras_especiais/flora_delicada.png') !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
.page-border-frame.style-custom_flora_delicada .corner {
    display: none !important;
}

.page-border-frame.style-custom_guilhermina_pergaminho {
    border: none !important;
    outline: none !important;
    background-image: url('assets/molduras_especiais/guilhermina_pergaminho.png') !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
.page-border-frame.style-custom_guilhermina_pergaminho .corner {
    display: none !important;
}

.page-border-frame.style-custom_helena_art_d_co {
    border: none !important;
    outline: none !important;
    background-image: url('assets/molduras_especiais/helena_art_d_co.png') !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
.page-border-frame.style-custom_helena_art_d_co .corner {
    display: none !important;
}

.page-border-frame.style-custom_jasmine_silvestre {
    border: none !important;
    outline: none !important;
    background-image: url('assets/molduras_especiais/jasmine_silvestre.png') !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
.page-border-frame.style-custom_jasmine_silvestre .corner {
    display: none !important;
}

.page-border-frame.style-custom_morgana_r_nica {
    border: none !important;
    outline: none !important;
    background-image: url('assets/molduras_especiais/morgana_r_nica.png') !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
.page-border-frame.style-custom_morgana_r_nica .corner {
    display: none !important;
}

.page-border-frame.style-custom_olivia_geom_trica {
    border: none !important;
    outline: none !important;
    background-image: url('assets/molduras_especiais/olivia_geom_trica.png') !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
.page-border-frame.style-custom_olivia_geom_trica .corner {
    display: none !important;
}

.page-border-frame.style-custom_sandra_delicada {
    border: none !important;
    outline: none !important;
    background-image: url('assets/molduras_especiais/sandra_delicada.png') !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
.page-border-frame.style-custom_sandra_delicada .corner {
    display: none !important;
}

.page-border-frame.style-custom_selena_celestial {
    border: none !important;
    outline: none !important;
    background-image: url('assets/molduras_especiais/selena_celestial.png') !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
.page-border-frame.style-custom_selena_celestial .corner {
    display: none !important;
}

.page-border-frame.style-custom_sophia_arquitet_nica {
    border: none !important;
    outline: none !important;
    background-image: url('assets/molduras_especiais/sophia_arquitet_nica.png') !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
.page-border-frame.style-custom_sophia_arquitet_nica .corner {
    display: none !important;
}

.page-border-frame.style-custom_valentina_estelar {
    border: none !important;
    outline: none !important;
    background-image: url('assets/molduras_especiais/valentina_estelar.png') !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
.page-border-frame.style-custom_valentina_estelar .corner {
    display: none !important;
}


/* ==========================================================================
   PROTEÇÃO TOTAL PARA MOLDURAS ESPECIAIS (Antônia, Cordélia, Eudora, Guilhermina, etc.)
   ========================================================================== */

/* 1. MOLDURAS BARROCAS ENCORPADAS - PÁGINAS DE INÍCIO DE CAPÍTULO E NORMAIS */
.chapter-start-page.style-custom_cord_lia_editorial,
.chapter-start-page.style-custom_ant_nia_antiga,
.chapter-start-page.style-custom_eudora_cl_ssica,
.chapter-start-page.style-custom_guilhermina_pergaminho,
.chapter-start-page.style-custom_sophia_arquitet_nica,
.chapter-start-page:has(.page-border-frame.style-custom_cord_lia_editorial),
.chapter-start-page:has(.page-border-frame.style-custom_ant_nia_antiga),
.chapter-start-page:has(.page-border-frame.style-custom_eudora_cl_ssica),
.chapter-start-page:has(.page-border-frame.style-custom_guilhermina_pergaminho),
.chapter-start-page:has(.page-border-frame.style-custom_sophia_arquitet_nica) {
    padding-top: 140px !important;
    padding-left: 120px !important;
    padding-right: 120px !important;
    padding-bottom: 130px !important;
}

.page-sheet.style-custom_cord_lia_editorial,
.page-sheet.style-custom_ant_nia_antiga,
.page-sheet.style-custom_eudora_cl_ssica,
.page-sheet.style-custom_guilhermina_pergaminho,
.page-sheet.style-custom_sophia_arquitet_nica,
.page-sheet:has(.page-border-frame.style-custom_cord_lia_editorial),
.page-sheet:has(.page-border-frame.style-custom_ant_nia_antiga),
.page-sheet:has(.page-border-frame.style-custom_eudora_cl_ssica),
.page-sheet:has(.page-border-frame.style-custom_guilhermina_pergaminho),
.page-sheet:has(.page-border-frame.style-custom_sophia_arquitet_nica) {
    padding-top: 155px !important;
    padding-left: 165px !important;
    padding-right: 165px !important;
    padding-bottom: 145px !important;
}

/* 2. MOLDURAS GEOMÉTRICAS E ART DÉCO */
.page-sheet.style-custom_alice_minimalista,
.page-sheet.style-custom_helena_art_d_co,
.page-sheet.style-custom_olivia_geom_trica,
.page-sheet.style-custom_erika_siberiana,
.page-sheet.style-custom_morgana_r_nica,
.page-sheet:has(.page-border-frame.style-custom_alice_minimalista),
.page-sheet:has(.page-border-frame.style-custom_helena_art_d_co),
.page-sheet:has(.page-border-frame.style-custom_olivia_geom_trica),
.page-sheet:has(.page-border-frame.style-custom_erika_siberiana),
.page-sheet:has(.page-border-frame.style-custom_morgana_r_nica) {
    padding: 135px 125px 125px 125px !important;
}

/* 3. MOLDURAS CELESTIAIS E ESTELARES */
.page-sheet.style-custom_diana_lunar,
.page-sheet.style-custom_selena_celestial,
.page-sheet.style-custom_valentina_estelar,
.page-sheet:has(.page-border-frame.style-custom_diana_lunar),
.page-sheet:has(.page-border-frame.style-custom_selena_celestial),
.page-sheet:has(.page-border-frame.style-custom_valentina_estelar) {
    padding: 125px 115px 120px 115px !important;
}

/* 4. MOLDURAS FLORAIS E BOTÂNICAS DELICADAS */
.page-sheet.style-custom_aurora_floral,
.page-sheet.style-custom_beatriz_bot_nica,
.page-sheet.style-custom_clarice_ramos,
.page-sheet.style-custom_flora_delicada,
.page-sheet.style-custom_jasmine_silvestre,
.page-sheet.style-custom_sandra_delicada,
.page-sheet:has(.page-border-frame.style-custom_aurora_floral),
.page-sheet:has(.page-border-frame.style-custom_beatriz_bot_nica),
.page-sheet:has(.page-border-frame.style-custom_clarice_ramos),
.page-sheet:has(.page-border-frame.style-custom_flora_delicada),
.page-sheet:has(.page-border-frame.style-custom_jasmine_silvestre),
.page-sheet:has(.page-border-frame.style-custom_sandra_delicada) {
    padding: 115px 105px 115px 105px !important;
}

/* Ajustes Finais para o Cabeçalho e Rodapé */
.page-sheet[class*="style-custom_"] .page-header,
.page-sheet:has(.page-border-frame[class*="style-custom_"]) .page-header {
    margin-top: 0px !important;
    margin-bottom: 10px !important;
}


/* Páginas normais sem moldura: espaço total para 19 a 20 linhas cheias */
.page-sheet:not(.chapter-start-page) {
    padding: 60px 55px 65px 55px !important;
}


/* Molduras do Nome do Autor na Folha de Rosto */
.titlepage-author.author-frame-none {
    border: none !important;
    padding: 0 !important;
}
.titlepage-author.author-frame-rect {
    border: 1.5px solid var(--tp-author-frame-color, currentColor) !important;
    display: inline-block !important;
    padding: 8px 24px !important;
    margin-top: 10px !important;
}
.titlepage-author.author-frame-rounded {
    border: 1.5px solid var(--tp-author-frame-color, currentColor) !important;
    border-radius: 12px !important;
    display: inline-block !important;
    padding: 8px 24px !important;
    margin-top: 10px !important;
}
.titlepage-author.author-frame-oval {
    border: 1.5px solid var(--tp-author-frame-color, currentColor) !important;
    border-radius: 50px !important;
    display: inline-block !important;
    padding: 10px 32px !important;
    margin-top: 10px !important;
}
.titlepage-author.author-frame-glyphs {
    border: 1.5px solid var(--tp-author-frame-color, currentColor) !important;
    display: inline-block !important;
    padding: 8px 30px !important;
    margin-top: 10px !important;
    position: relative !important;
}
.titlepage-author.author-frame-glyphs::before {
    content: '❖';
    position: absolute;
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 11px;
}
.titlepage-author.author-frame-glyphs::after {
    content: '❖';
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 11px;
}
.titlepage-author.author-frame-underline {
    border: none !important;
    border-bottom: 2px solid var(--tp-author-frame-color, currentColor) !important;
    display: inline-block !important;
    padding-bottom: 4px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    margin-top: 10px !important;
}
.titlepage-author.author-frame-cartouche {
    border: none !important;
    background-image: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 12px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
    line-height: 1 !important;
    font-weight: 700 !important;
}


/* ==========================================================
   CORES PERSONALIZADAS DOS BOTÕES DO TOPO (HEADER)
   Solicitado por Márcio: Uma cor para cada ferramenta
   ========================================================== */

/* 1. DIAGRAMAÇÃO -> Dourado Nobre */
#btn-nav-diagramacao {
    background-color: #ffc83b !important;
    color: #000000 !important;
    border: 1px solid #ffc83b !important;
    font-weight: 700 !important;
    box-shadow: 0 0 10px rgba(255, 200, 59, 0.35) !important;
}
#btn-nav-diagramacao i, #btn-nav-diagramacao svg {
    color: #000000 !important;
    stroke: #000000 !important;
}

/* 2. CAPA -> Azul Turquesa / Ciano */
#btn-nav-capa {
    color: #00e5ff !important;
    border: 1px solid #00e5ff !important;
    background-color: rgba(0, 229, 255, 0.08) !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
}
#btn-nav-capa:hover {
    background-color: rgba(0, 229, 255, 0.2) !important;
    box-shadow: 0 0 12px rgba(0, 229, 255, 0.5) !important;
}
#btn-nav-capa i, #btn-nav-capa svg {
    color: #00e5ff !important;
    stroke: #00e5ff !important;
}

/* 3. MINHAS CHAVES -> Laranja Âmbar */
#btn-nav-chaves {
    color: #fb923c !important;
    border: 1px solid #f97316 !important;
    background-color: rgba(249, 115, 22, 0.08) !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
}
#btn-nav-chaves:hover {
    background-color: rgba(249, 115, 22, 0.2) !important;
    box-shadow: 0 0 12px rgba(249, 115, 22, 0.5) !important;
}
#btn-nav-chaves i, #btn-nav-chaves svg {
    color: #fb923c !important;
    stroke: #fb923c !important;
}

/* 4. DESFAZER -> Vermelho Vivo */
#btn-undo {
    color: #ff4d4d !important;
    border: 1px solid #ff4d4d !important;
    background-color: rgba(255, 77, 77, 0.08) !important;
    font-weight: 600 !important;
    opacity: 1 !important;
    transition: all 0.2s ease !important;
}
#btn-undo:hover {
    background-color: rgba(255, 77, 77, 0.2) !important;
    box-shadow: 0 0 12px rgba(255, 77, 77, 0.5) !important;
}
#btn-undo i, #btn-undo svg {
    color: #ff4d4d !important;
    stroke: #ff4d4d !important;
}

/* 5. REFAZER -> Vermelho Vivo */
#btn-redo {
    color: #ff4d4d !important;
    border: 1px solid #ff4d4d !important;
    background-color: rgba(255, 77, 77, 0.08) !important;
    font-weight: 600 !important;
    opacity: 1 !important;
    transition: all 0.2s ease !important;
}
#btn-redo:hover {
    background-color: rgba(255, 77, 77, 0.2) !important;
    box-shadow: 0 0 12px rgba(255, 77, 77, 0.5) !important;
}
#btn-redo i, #btn-redo svg {
    color: #ff4d4d !important;
    stroke: #ff4d4d !important;
}

/* 6. CORRETOR -> Roxo / Violeta Elétrico */
#btn-toggle-proofreader {
    color: #c084fc !important;
    border: 1px solid #a855f7 !important;
    background-color: rgba(168, 85, 247, 0.08) !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
}
#btn-toggle-proofreader:hover {
    background-color: rgba(168, 85, 247, 0.2) !important;
    box-shadow: 0 0 12px rgba(192, 132, 252, 0.5) !important;
}
#btn-toggle-proofreader i, #btn-toggle-proofreader svg {
    color: #c084fc !important;
    stroke: #c084fc !important;
}

/* 7. EXPORTAR LIVRO -> Verde Esmeralda */
#btn-export-dropdown {
    color: #22c55e !important;
    border: 1px solid #22c55e !important;
    background-color: rgba(34, 197, 94, 0.08) !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
}
#btn-export-dropdown:hover {
    background-color: rgba(34, 197, 94, 0.2) !important;
    box-shadow: 0 0 12px rgba(34, 197, 94, 0.5) !important;
}
#btn-export-dropdown i, #btn-export-dropdown svg {
    color: #22c55e !important;
    stroke: #22c55e !important;
}

/* ==========================================================
   FORMATOS DA FOTO DA BIOGRAFIA DO AUTOR
   Solicitado por Márcio: Circular, Arredondado, Quadrado
   ========================================================== */
.bio-photo.bio-photo-circle,
.bio-photo-placeholder.bio-photo-circle {
    border-radius: 50% !important;
}

.bio-photo.bio-photo-rounded,
.bio-photo-placeholder.bio-photo-rounded {
    border-radius: 12px !important;
}

.bio-photo.bio-photo-square,
.bio-photo-placeholder.bio-photo-square {
    border-radius: 0px !important;
}


/* ==========================================================
   FOLHA DE ROSTO PERFEITA E UNIVERSAL (SEM CORTAR NADA E VISÍVEL EM QUALQUER LIVRO)
   ========================================================== */
.page-sheet.titlepage-layout,
.page-sheet[data-section-id="title-page"],
.page-sheet:has(.titlepage-layout) {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    align-items: stretch !important;
    padding: 25px 40px 30px 40px !important;
}

.page-body .titlepage-layout {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    height: 100% !important;
    width: 100% !important;
    text-align: center !important;
    padding: 10px 0 !important;
}

.titlepage-author {
    margin-top: 10px !important;
    margin-bottom: 0px !important;
}


/* Novas Fontes Categorizadas - BookForge Pro Turbo */
.font-cinzeldecorative { font-family: 'Cinzel Decorative', cursive, serif !important; }
.font-playfairdisplay { font-family: 'Playfair Display', serif !important; }
.font-cormorantgaramond { font-family: 'Cormorant Garamond', serif !important; }
.font-bodonimoda { font-family: 'Bodoni Moda', serif !important; }
.font-abrilfatface { font-family: 'Abril Fatface', cursive, serif !important; }
.font-bebasneue { font-family: 'Bebas Neue', sans-serif !important; }
.font-anton { font-family: 'Anton', sans-serif !important; }
.font-oswald { font-family: 'Oswald', sans-serif !important; }
.font-montserrat, .font-montserratblack { font-family: 'Montserrat', sans-serif !important; font-weight: 900; }
.font-dancingscript { font-family: 'Dancing Script', cursive !important; }
.font-pacifico { font-family: 'Pacifico', cursive !important; }
.font-alexbrush { font-family: 'Alex Brush', cursive !important; }
.font-satisfy { font-family: 'Satisfy', cursive !important; }
.font-caveat { font-family: 'Caveat', cursive !important; }
.font-fredoka { font-family: 'Fredoka', cursive, sans-serif !important; }
.font-luckiestguy { font-family: 'Luckiest Guy', cursive, sans-serif !important; }
.font-chewy { font-family: 'Chewy', cursive, sans-serif !important; }
.font-comicneue { font-family: 'Comic Neue', cursive, sans-serif !important; }
.font-creepster { font-family: 'Creepster', cursive !important; }
.font-blackopsone { font-family: 'Black Ops One', cursive !important; }
.font-mysteryquest { font-family: 'Mystery Quest', cursive !important; }
.font-roboto { font-family: 'Roboto', sans-serif !important; }
.font-opensans { font-family: 'Open Sans', sans-serif !important; }

/* ==========================================================================
   CORES DOS GRUPOS DE FONTES NOS MENUS DROPDOWN (SELECT / OPTGROUP / OPTION)
   ========================================================================== */

/* 1. FONTES DE LUXO & EXIBIÇÃO - DOURADO OURO */
optgroup[label*="LUXO"],
optgroup[label*="LUXO"] option,
.optgroup-luxo,
.opt-luxo {
    color: #ffd700 !important;
    background-color: #1a1608 !important;
    font-weight: 600 !important;
}

/* 2. TÍTULOS FORTES, AÇÃO & NEGÓCIOS - LARANJA / FOGO */
optgroup[label*="AÇÃO"],
optgroup[label*="AÇÃO"] option,
optgroup[label*="A&#199;&#195;O"],
optgroup[label*="A&#199;&#195;O"] option,
optgroup[label*="FORTES"],
optgroup[label*="FORTES"] option,
.optgroup-acao,
.opt-acao {
    color: #f97316 !important;
    background-color: #1a0c04 !important;
    font-weight: 600 !important;
}

/* 3. ROMANCE & CURSIVAS ELEGANTES - ROSA / MAGENTA */
optgroup[label*="ROMANCE"],
optgroup[label*="ROMANCE"] option,
optgroup[label*="CURSIVAS"],
optgroup[label*="CURSIVAS"] option,
.optgroup-romance,
.opt-romance {
    color: #f472b6 !important;
    background-color: #1a0814 !important;
    font-weight: 600 !important;
}

/* 4. INFANTIS & DIVERTIDAS - VERDE CLARO */
optgroup[label*="INFANTIS"],
optgroup[label*="INFANTIS"] option,
optgroup[label*="DIVERTIDAS"],
optgroup[label*="DIVERTIDAS"] option,
.optgroup-infantil,
.opt-infantil {
    color: #4ade80 !important;
    background-color: #06180b !important;
    font-weight: 600 !important;
}

/* 5. SUSPENSE & MISTÉRIO - ROXO / VIOLETA */
optgroup[label*="MISTÉRIO"],
optgroup[label*="MISTÉRIO"] option,
optgroup[label*="MIST&#201;RIO"],
optgroup[label*="MIST&#201;RIO"] option,
optgroup[label*="SUSPENSE"],
optgroup[label*="SUSPENSE"] option,
.optgroup-misterio,
.opt-misterio {
    color: #c084fc !important;
    background-color: #130722 !important;
    font-weight: 600 !important;
}

/* 6. FONTES TRADICIONAIS & EDITORIAIS - AZUL CIANO */
optgroup[label*="TRADICIONAIS"],
optgroup[label*="TRADICIONAIS"] option,
optgroup[label*="EDITORIAIS"],
optgroup[label*="EDITORIAIS"] option,
.optgroup-editorial,
.opt-editorial {
    color: #38bdf8 !important;
    background-color: #051422 !important;
    font-weight: 600 !important;
}

.font-poppins { font-family: 'Poppins', sans-serif !important; }

/* Efeitos Especiais de Contraste para Fundo Escuro na Folha de Rosto */
.page-sheet.dark-bg .titlepage-seal-box img {
    filter: invert(80%) sepia(85%) saturate(1200%) hue-rotate(5deg) brightness(115%) drop-shadow(0 2px 8px rgba(0,0,0,0.7));
}
/* Cartouche color managed dynamically via CSS mask */


/* Barrinhas de Cor Retangulares Padronizadas BookForge (Print Oficial M.M) */
.bookforge-color-bar {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    width: 100% !important;
    height: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 2px solid #ffffff !important;
    border-radius: 4px !important;
    background: transparent !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    display: block !important;
    outline: none !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5) !important;
    transition: border-color 0.2s ease, transform 0.1s ease !important;
}
.bookforge-color-bar:hover {
    border-color: #ffd700 !important;
    box-shadow: 0 0 10px rgba(255, 215, 0, 0.4) !important;
}
.bookforge-color-bar::-webkit-color-swatch-wrapper {
    padding: 0 !important;
}
.bookforge-color-bar::-webkit-color-swatch {
    border: none !important;
    border-radius: 2px !important;
}
.bookforge-color-bar::-moz-color-swatch {
    border: none !important;
    border-radius: 2px !important;
}