[v-cloak] { display: none; }
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }

/* Default Custom Properties to satisfy IDEs */
:root {
    --c-bg-main: #f8fafc;
    --c-bg-sidebar: #ffffff;
    --c-text-main: #0f172a;
    --c-text-muted: #64748b;
    --c-border: #e2e8f0;
    --c-accent: #4f46e5;
    --c-bg-secondary: #f1f5f9;
}

/* Theme Overrides */
.theme-light { --bg-main: #f8fafc; --bg-sidebar: #ffffff; --text-main: #0f172a; --text-muted: #64748b; --border: #e2e8f0; --accent: #4f46e5; --bg-secondary: #f1f5f9; }
.theme-dark { --bg-main: #0f172a; --bg-sidebar: #1e293b; --text-main: #f1f5f9; --text-muted: #94a3b8; --border: #334155; --accent: #818cf8; --bg-secondary: #1e293b; }
.theme-monokai { --bg-main: #272822; --bg-sidebar: #1e1f1c; --text-main: #f8f8f2; --text-muted: #75715e; --border: #49483e; --accent: #a6e22e; --bg-secondary: #3e3d32; }
.theme-dracula { --bg-main: #282a36; --bg-sidebar: #191a21; --text-main: #f8f8f2; --text-muted: #6272a4; --border: #44475a; --accent: #bd93f9; --bg-secondary: #343746; }
.theme-solarized { --bg-main: #fdf6e3; --bg-sidebar: #eee8d5; --text-main: #073642; --text-muted: #586e75; --border: #d5c4a1; --accent: #268bd2; --bg-secondary: #eee8d5; }
.theme-custom { --bg-main: var(--c-bg-main, #f8fafc); --bg-sidebar: var(--c-bg-sidebar, #ffffff); --text-main: var(--c-text-main, #0f172a); --text-muted: var(--c-text-muted, #64748b); --border: var(--c-border, #e2e8f0); --accent: var(--c-accent, #4f46e5); --bg-secondary: var(--c-bg-secondary, #f1f5f9); }

.highlight-yellow { background-color: rgba(253, 224, 71, 0.4); }
.highlight-green { background-color: rgba(74, 222, 128, 0.4); }
.highlight-blue { background-color: rgba(96, 165, 250, 0.4); }
.highlight-none { background-color: transparent; }

.custom-theme { background-color: var(--bg-main); color: var(--text-main); }
.custom-theme aside { background-color: var(--bg-sidebar); border-color: var(--border); }
.custom-theme header { background-color: var(--bg-sidebar); border-color: var(--border); }
.custom-theme input, .custom-theme select { background-color: var(--bg-secondary); color: var(--text-main); border-color: var(--border); outline: none; }
.custom-theme select option { background-color: var(--bg-secondary); color: var(--text-main); }
.custom-theme .text-muted { color: var(--text-muted); }
.custom-theme .border-theme { border-color: var(--border); }
.custom-theme .hover-bg:hover { background-color: var(--bg-secondary); }
.custom-theme .accent-text { color: var(--accent); }
.custom-theme .accent-bg { background-color: var(--accent); color: white; }
.custom-theme ::-webkit-scrollbar-thumb { background: var(--text-muted); opacity: 0.5; border-radius: 4px; }
.bg-main { background-color: var(--bg-main); }
.bg-sidebar { background-color: var(--bg-sidebar); }
.theme-dropdown { background-color: var(--bg-sidebar); border-color: var(--border); }

/* Animations */
.fade-enter-active, .fade-leave-active { transition: opacity 0.3s ease; }
.fade-enter-from, .fade-leave-to { opacity: 0; }

.slide-enter-active, .slide-leave-active { transition: transform 0.3s ease; }
.slide-enter-from, .slide-leave-to { transform: translateX(100%); }

.book-item-enter-active, .book-item-leave-active { transition: all 0.2s ease; }
.book-item-enter-from, .book-item-leave-to { opacity: 0; transform: translateY(-10px); }

.toast-enter-active, .toast-leave-active { transition: all 0.3s ease; }
.toast-enter-from { opacity: 0; transform: translateY(30px); }
.toast-leave-to { opacity: 0; transform: scale(0.9); }
