        body { background-color: #FDFBF7; transition: background-color 0.5s ease; scroll-behavior: smooth; }
        body.dark-mode { background-color: #1A1A1A; color: #FDFBF7; }
        .dark-mode .bg-white { background-color: #262626; color: #FDFBF7; }
        .dark-mode .text-slate-600 { color: #A3A3A3; }
        .dark-mode .bg-paper { background-color: #1A1A1A; }
        .dark-mode border-ink\/5 { border-color: rgba(255,255,255,0.1); }
        
        .page { display: none; opacity: 0; }
        .page.active { display: block; animation: fadeIn 1s cubic-bezier(0.4, 0, 0.2, 1) forwards; }
        @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
        
        .custom-scrollbar::-webkit-scrollbar { width: 5px; }
        .custom-scrollbar::-webkit-scrollbar-thumb { background: #D4A373; border-radius: 10px; }
        
        #reading-progress { position: fixed; top: 0; left: 0; height: 4px; background: #D4A373; width: 0%; z-index: 2000; transition: width 0.1s linear; }
        
        .cart-sidebar { transform: translateX(100%); transition: transform 0.5s cubic-bezier(0.77, 0, 0.175, 1); }
        .cart-sidebar.open { transform: translateX(0); }

        .image-zoom:hover img { transform: scale(1.08); }
        .nav-link::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 1px; background: #D4A373; transition: width 0.3s ease; }
        .nav-link:hover::after { width: 100%; }
