/* --- /css/styles.css --- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

/* Base */
body { 
    transition: background-color 0.3s ease, color 0.3s ease; 
    overscroll-behavior-y: none;
    font-family: 'Inter', sans-serif;
}

/* Animações Globais */
.fade-in { animation: fadeIn 0.4s ease-in-out forwards; }
.fade-in-up { animation: fadeInUp 0.5s ease-out forwards; }

@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }

/* Scrollbar Otimizada */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
.dark ::-webkit-scrollbar-thumb { background: #334155; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* Loader Global (Splash Screen) */
#global-loader {
    position: fixed; inset: 0; z-index: 9999;
    background: #ffffff; display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}
.dark #global-loader { background: #0f172a; }

.loader-spinner {
    width: 48px; height: 48px;
    border: 4px solid #e2e8f0;
    border-top-color: #059669;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}
@keyframes spin { 100% { transform: rotate(360deg); } }

/* Utilitários Específicos */
.scrollbar-hide::-webkit-scrollbar { display: none; }
.scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }

.editor-block:hover .block-controls { opacity: 1; }

.nav-item-active {
    background-color: rgba(5, 150, 105, 0.1);
    color: #059669 !important;
    font-weight: 700 !important;
}
.dark .nav-item-active {
    background-color: rgba(5, 150, 105, 0.2);
    color: #a7f3d0 !important;
}

.pinned-comment { border: 2px solid #f59e0b; background-color: rgba(245, 158, 11, 0.05); }
.dark .pinned-comment { background-color: rgba(245, 158, 11, 0.1); }

/* Controles de Input Escondidos */
.color-picker-wrapper { position: relative; overflow: hidden; }
.color-picker-input { position: absolute; left: -100%; top: -100%; width: 200%; height: 200%; opacity: 0; cursor: pointer; }